From 03f57eb4b56ae94c566449710c13e7b94d7e3193 Mon Sep 17 00:00:00 2001 From: Translator Date: Sun, 14 Jan 2024 22:42:41 +0000 Subject: [PATCH] Translated ['macos-hardening/macos-security-and-privilege-escalation/mac --- .gitbook/assets/image (725).png | Bin 0 -> 15907 bytes .gitbook/assets/image (726).png | Bin 0 -> 22779 bytes .gitbook/assets/image (727).png | Bin 0 -> 22779 bytes .gitbook/assets/image (728).png | Bin 0 -> 58330 bytes .../arm64-basic-assembly.md | 133 +++++++++++++----- 5 files changed, 94 insertions(+), 39 deletions(-) create mode 100644 .gitbook/assets/image (725).png create mode 100644 .gitbook/assets/image (726).png create mode 100644 .gitbook/assets/image (727).png create mode 100644 .gitbook/assets/image (728).png diff --git a/.gitbook/assets/image (725).png b/.gitbook/assets/image (725).png new file mode 100644 index 0000000000000000000000000000000000000000..c31c79e9c30b4ff84b9f85d47ad7ae374214e85d GIT binary patch literal 15907 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 literal 0 HcmV?d00001 diff --git a/.gitbook/assets/image (726).png b/.gitbook/assets/image (726).png new file mode 100644 index 0000000000000000000000000000000000000000..83d9b8f3be6ee3eb923c46d3305dbfc0efd28d40 GIT binary patch literal 22779 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
    X{~{-Vj87K;cvO@B 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

    n>S8v|m&V3skXQ;FKAkZn+; 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

    P)hj;g(b1~mr$x?h^8&Skj7|3?9Ny_@&#`~UiU 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 T@I-JL3i45uRg @@ -20,13 +20,13 @@ Na arquitetura ARMv8, os níveis de execução, conhecidos como Níveis de Exce 1. **EL0 - Modo Usuário**: * Este é o nível menos privilegiado e é usado para executar código de aplicativos regulares. -* Aplicações executadas no EL0 são isoladas umas das outras e do software do sistema, aumentando a segurança e estabilidade. +* Aplicações rodando em EL0 são isoladas umas das outras e do software do sistema, aumentando a segurança e estabilidade. 2. **EL1 - Modo Kernel do Sistema Operacional**: -* A maioria dos kernels de sistemas operacionais rodam neste nível. +* A maioria dos kernels de sistemas operacionais roda neste nível. * EL1 tem mais privilégios que EL0 e pode acessar recursos do sistema, mas com algumas restrições para garantir a integridade do sistema. 3. **EL2 - Modo Hipervisor**: -* Este nível é usado para virtualização. Um hipervisor executando no EL2 pode gerenciar múltiplos sistemas operacionais (cada um em seu próprio EL1) rodando no mesmo hardware físico. -* EL2 fornece recursos para isolamento e controle dos ambientes virtualizados. +* Este nível é usado para virtualização. Um hipervisor rodando em EL2 pode gerenciar múltiplos sistemas operacionais (cada um em seu próprio EL1) rodando no mesmo hardware físico. +* EL2 oferece recursos para isolamento e controle dos ambientes virtualizados. 4. **EL3 - Modo Monitor Seguro**: * Este é o nível mais privilegiado e é frequentemente usado para boot seguro e ambientes de execução confiáveis. * EL3 pode gerenciar e controlar acessos entre estados seguros e não seguros (como boot seguro, OS confiável, etc.). @@ -35,24 +35,24 @@ O uso desses níveis permite uma maneira estruturada e segura de gerenciar difer ## **Registradores (ARM64v8)** -ARM64 possui **31 registradores de uso geral**, rotulados de `x0` a `x30`. Cada um pode armazenar um valor de **64 bits** (8 bytes). Para operações que requerem apenas valores de 32 bits, os mesmos registradores podem ser acessados em um modo de 32 bits usando os nomes w0 a w30. +ARM64 tem **31 registradores de uso geral**, rotulados de `x0` a `x30`. Cada um pode armazenar um valor de **64 bits** (8 bytes). Para operações que requerem apenas valores de 32 bits, os mesmos registradores podem ser acessados em um modo de 32 bits usando os nomes w0 a w30. 1. **`x0`** a **`x7`** - Tipicamente usados como registradores temporários e para passar parâmetros para sub-rotinas. * **`x0`** também carrega o dado de retorno de uma função -2. **`x8`** - No kernel do Linux, `x8` é usado como o número da chamada de sistema para a instrução `svc`. **No macOS o x16 é o utilizado!** +2. **`x8`** - No kernel do Linux, `x8` é usado como o número de chamada do sistema para a instrução `svc`. **No macOS o x16 é o utilizado!** 3. **`x9`** a **`x15`** - Mais registradores temporários, frequentemente usados para variáveis locais. 4. **`x16`** e **`x17`** - **Registradores de Chamada Intraprocedural**. Registradores temporários para valores imediatos. Também são usados para chamadas de função indiretas e stubs da Tabela de Ligação de Procedimentos (PLT). -* **`x16`** é usado como o **número da chamada de sistema** para a instrução **`svc`** no **macOS**. -5. **`x18`** - **Registrador da Plataforma**. Pode ser usado como um registrador de uso geral, mas em algumas plataformas, este registrador é reservado para usos específicos da plataforma: Ponteiro para o bloco de ambiente de thread atual no Windows, ou para apontar para a estrutura de tarefa em execução no kernel do Linux. -6. **`x19`** a **`x28`** - Estes são registradores preservados pelo chamador. Uma função deve preservar os valores destes registradores para seu chamador, então eles são armazenados na pilha e recuperados antes de voltar ao chamador. +* **`x16`** é usado como o **número de chamada do sistema** para a instrução **`svc`** no **macOS**. +5. **`x18`** - **Registrador da Plataforma**. Pode ser usado como um registrador de uso geral, mas em algumas plataformas, este registrador é reservado para usos específicos da plataforma: Ponteiro para o bloco de ambiente de thread atual no Windows, ou para apontar para a estrutura de tarefa atualmente **executando no kernel do Linux**. +6. **`x19`** a **`x28`** - Estes são registradores salvos pelo chamado. Uma função deve preservar os valores destes registradores para seu chamador, então eles são armazenados na pilha e recuperados antes de voltar ao chamador. 7. **`x29`** - **Ponteiro de quadro** para acompanhar o quadro de pilha. Quando um novo quadro de pilha é criado porque uma função é chamada, o registrador **`x29`** é **armazenado na pilha** e o **novo** endereço do ponteiro de quadro é (**`sp`** endereço) é **armazenado neste registro**. * Este registrador também pode ser usado como um **registro de uso geral** embora geralmente seja usado como referência para **variáveis locais**. 8. **`x30`** ou **`lr`**- **Registrador de Link**. Ele contém o **endereço de retorno** quando uma instrução `BL` (Branch with Link) ou `BLR` (Branch with Link to Register) é executada armazenando o valor de **`pc`** neste registrador. * Ele também pode ser usado como qualquer outro registrador. 9. **`sp`** - **Ponteiro de pilha**, usado para acompanhar o topo da pilha. * o valor de **`sp`** deve sempre ser mantido com pelo menos um **alinhamento de quadword** ou uma exceção de alinhamento pode ocorrer. -10. **`pc`** - **Contador de programa**, que aponta para a instrução atual. Este registrador só pode ser atualizado através de gerações de exceção, retornos de exceção e ramificações. As únicas instruções ordinárias que podem ler este registrador são as instruções de ramificação com link (BL, BLR) para armazenar o endereço de **`pc`** em **`lr`** (Registrador de Link). -11. **`xzr`** - **Registrador Zero**. Também chamado de **`wzr`** na sua forma de registro de **32 bits**. Pode ser usado para obter facilmente o valor zero (operação comum) ou para realizar comparações usando **`subs`** como **`subs XZR, Xn, #10`** armazenando os dados resultantes em lugar nenhum (em **`xzr`**). +10. **`pc`** - **Contador de programa**, que aponta para a próxima instrução. Este registrador só pode ser atualizado através de gerações de exceção, retornos de exceção e ramificações. As únicas instruções ordinárias que podem ler este registrador são as instruções de ramificação com link (BL, BLR) para armazenar o endereço de **`pc`** em **`lr`** (Registrador de Link). +11. **`xzr`** - **Registrador Zero**. Também chamado de **`wzr`** na sua forma de registrador de **32 bits**. Pode ser usado para obter facilmente o valor zero (operação comum) ou para realizar comparações usando **`subs`** como **`subs XZR, Xn, #10`** armazenando os dados resultantes em lugar nenhum (em **`xzr`**). Os registradores **`Wn`** são a versão **32 bits** do registrador **`Xn`**. @@ -65,36 +65,38 @@ Além disso, existem outros **32 registradores de 128 bits** que podem ser usado **existem centenas de registradores do sistema**, também chamados de registradores de propósito especial (SPRs), usados para **monitorar** e **controlar** o comportamento dos **processadores**.\ Eles só podem ser lidos ou configurados usando a instrução especial dedicada **`mrs`** e **`msr`**. -Os registradores especiais **`TPIDR_EL0`** e **`TPIDDR_EL0`** são comuns quando se faz engenharia reversa. O sufixo `EL0` indica o **nível mínimo de exceção** do qual o registrador pode ser acessado (neste caso, EL0 é o nível regular de exceção (privilégio) com o qual programas regulares são executados).\ -Eles são frequentemente usados para armazenar o **endereço base do armazenamento local de thread** na memória. Geralmente o primeiro é legível e gravável para programas executados em EL0, mas o segundo pode ser lido de EL0 e escrito de EL1 (como kernel). +Os registradores especiais **`TPIDR_EL0`** e **`TPIDDR_EL0`** são comuns quando se faz engenharia reversa. O sufixo `EL0` indica o **nível mínimo de exceção** do qual o registrador pode ser acessado (neste caso EL0 é o nível regular de exceção (privilégio) com o qual programas regulares rodam).\ +Eles são frequentemente usados para armazenar o **endereço base do armazenamento local de thread** na memória. Geralmente o primeiro é legível e gravável para programas rodando em EL0, mas o segundo pode ser lido de EL0 e escrito de EL1 (como kernel). * `mrs x0, TPIDR_EL0 ; Lê TPIDR_EL0 em x0` * `msr TPIDR_EL0, X0 ; Escreve TPIDR_EL0 em x1` ### **PSTATE** -**PSTATE** é vários componentes serializados no registrador especial visível pelo sistema operacional **`SPSR_ELx`**. Estes são os campos acessíveis: +**PSTATE** contém vários componentes do processo serializados no registrador especial visível pelo sistema operacional **`SPSR_ELx`**, sendo X o **nível de permissão da exceção disparada** (isso permite recuperar o estado do processo quando a exceção termina).\ +Estes são os campos acessíveis: -* As **`N`**, **`Z`**, **`C`** e **`V`** flags de condição: +* As **flags de condição `N`**, **`Z`**, **`C`** e **`V`**: * **`N`** significa que a operação resultou em um valor negativo * **`Z`** significa que a operação resultou em zero -* **`C`** significa que a operação teve carry +* **`C`** significa que a operação gerou um carry * **`V`** significa que a operação resultou em um overflow assinado: * A soma de dois números positivos resulta em um valor negativo. * A soma de dois números negativos resulta em um valor positivo. * Na subtração, quando um número negativo grande é subtraído de um número positivo menor (ou vice-versa), e o resultado não pode ser representado dentro do intervalo do tamanho de bits dado. -* A flag de **largura do registrador atual (`nRW`)**: Se a flag tiver o valor 0, o programa executará no estado de execução AArch64 assim que for retomado. -* O **Nível de Exceção atual** (**`EL`**): Um programa regular executando em EL0 terá o valor 0 -* A flag de **passo único** (**`SS`**): Usada por depuradores para passo único configurando a flag SS para 1 dentro de **`SPSR_ELx`** através de uma exceção. O programa executará um passo e emitirá uma exceção de passo único. +* A flag de **largura do registrador atual (`nRW`)**: Se a flag tiver o valor 0, o programa rodará no estado de execução AArch64 uma vez retomado. +* O **Nível de Exceção atual** (**`EL`**): Um programa regular rodando em EL0 terá o valor 0 +* A flag de **passo único (`SS`)**: Usada por depuradores para passo único configurando a flag SS para 1 dentro de **`SPSR_ELx`** através de uma exceção. O programa executará um passo e emitirá uma exceção de passo único. * A flag de estado de exceção ilegal (**`IL`**): É usada para marcar quando um software privilegiado realiza uma transferência de nível de exceção inválida, esta flag é configurada para 1 e o processador dispara uma exceção de estado ilegal. * As flags **`DAIF`**: Estas flags permitem que um programa privilegiado mascare seletivamente certas exceções externas. -* As flags de seleção do ponteiro de pilha (**`SPS`**): Programas privilegiados executando em EL1 e acima podem alternar entre usar seu próprio registrador de ponteiro de pilha e o do modelo de usuário (por exemplo, entre `SP_EL1` e `EL0`). Esta troca é realizada escrevendo no registrador especial **`SPSel`**. Isso não pode ser feito a partir de EL0. +* Se **`A`** for 1 significa que abortos assíncronos serão disparados. O **`I`** configura para responder a **Pedidos de Interrupção** de hardware externo (IRQs). e o F está relacionado a **Pedidos de Interrupção Rápida** (FIRs). +* As flags de seleção do ponteiro de pilha (**`SPS`**): Programas privilegiados rodando em EL1 e acima podem alternar entre usar seu próprio registrador de ponteiro de pilha e o do modelo de usuário (por exemplo, entre `SP_EL1` e `EL0`). Esta troca é realizada escrevendo no registrador especial **`SPSel`**. Isso não pode ser feito a partir de EL0.

    ## **Convenção de Chamadas (ARM64v8)** -A convenção de chamadas ARM64 especifica que os **primeiros oito parâmetros** para uma função são passados nos registradores **`x0` a `x7`**. **Parâmetros adicionais** são passados na **pilha**. O valor de **retorno** é passado de volta no registrador **`x0`**, ou em **`x1`** também **se for de 128 bits**. Os registradores **`x19` a `x30`** e **`sp`** devem ser **preservados** através das chamadas de função. +A convenção de chamadas ARM64 especifica que os **primeiros oito parâmetros** para uma função são passados nos registradores **`x0` a `x7`**. **Parâmetros adicionais** são passados na **pilha**. O valor de **retorno** é passado de volta no registrador **`x0`**, ou em **`x1`** também **se for de 128 bits**. Os registradores **`x19`** a **`x30`** e **`sp`** devem ser **preservados** através das chamadas de função. Ao ler uma função em assembly, procure pelo **prólogo e epílogo da função**. O **prólogo** geralmente envolve **salvar o ponteiro de quadro (`x29`)**, **configurar** um **novo ponteiro de quadro**, e **alocar espaço na pilha**. O **epílogo** geralmente envolve **restaurar o ponteiro de quadro salvo** e **retornar** da função. @@ -104,7 +106,7 @@ Swift tem sua própria **convenção de chamadas** que pode ser encontrada em [* ## **Instruções Comuns (ARM64v8)** -Instruções ARM64 geralmente têm o **formato `opcode dst, src1, src2`**, onde **`opcode`** é a **operação** a ser realizada (como `add`, `sub`, `mov`, etc.), **`dst`** é o registrador **destino** onde o resultado será armazenado, e **`src1`** e **`src2`** são os registradores **fonte**. Valores imediatos também podem ser usados no lugar dos registradores fonte. +Instruções ARM64 geralmente têm o **formato `opcode dst, src1, src2`**, onde **`opcode`** é a **operação** a ser realizada (como `add`, `sub`, `mov`, etc.), **`dst`** é o **registrador de destino** onde o resultado será armazenado, e **`src1`** e **`src2`** são os **registradores de origem**. Valores imediatos também podem ser usados no lugar de registradores de origem. * **`mov`**: **Move** um valor de um **registrador** para outro. * Exemplo: `mov x0, x1` — Isso move o valor de `x1` para `x0`. @@ -123,10 +125,7 @@ Instruções ARM64 geralmente têm o **formato `opcode dst, src1, src2`**, onde * **`mul`**: **Multiplica** os valores de **dois registradores** e armazena o resultado em um registrador. * Exemplo: `mul x0, x1, x2` — Isso multiplica os valores em `x1` e `x2` e armazena o resultado em `x0`. * **`div`**: **Divide** o valor de um registrador por outro e armazena o resultado em um registrador. -* Exemplo: `div x0, x1, x2` — Isso divide o valor em `x1` por `x2` e armazena o resultado em `x0`. -* **`bl`**: **Ramifica** com link, usado para **chamar** uma **sub-rotina**. Armazena o **endereço de retorno em `x30`**. -* Exemplo: `bl myFunction` — Isso chama a função `myFunction` e armazena o endereço de retorno em `x30`. -* **`blr`**: ** +* Exemplo: `div x0, x1, ```armasm ldp x29, x30, [sp], #16 ; load pair x29 and x30 from the stack and increment the stack pointer ``` @@ -137,20 +136,79 @@ ldp x29, x30, [sp], #16 ; load pair x29 and x30 from the stack and increment th ## Estado de Execução AARCH32 Armv8-A suporta a execução de programas de 32 bits. **AArch32** pode rodar em um de **dois conjuntos de instruções**: **`A32`** e **`T32`** e pode alternar entre eles via **`interworking`**.\ -Programas privilegiados de 64 bits podem agendar a **execução de programas de 32 bits** executando uma transferência de nível de exceção para o 32 bits menos privilegiado.\ -Note que a transição de 64 bits para 32 bits ocorre com uma redução do nível de exceção (por exemplo, um programa de 64 bits em EL1 acionando um programa em EL0). Isso é feito configurando o **bit 4 do** **`SPSR_ELx`** registro especial **para 1** quando o processo de thread `AArch32` está pronto para ser executado e o restante do `SPSR_ELx` armazena o CPSR dos programas **`AArch32`**. Então, o processo privilegiado chama a instrução **`ERET`** para que o processador faça a transição para **`AArch32`**, entrando em A32 ou T32 dependendo do CPSR**.** +Programas **privilegiados** de 64 bits podem agendar a **execução de programas de 32 bits** executando uma transferência de nível de exceção para o 32 bits menos privilegiado.\ +Note que a transição de 64 bits para 32 bits ocorre com uma diminuição do nível de exceção (por exemplo, um programa de 64 bits em EL1 acionando um programa em EL0). Isso é feito configurando o **bit 4 do** **`SPSR_ELx`** registro especial **para 1** quando o thread do processo `AArch32` está pronto para ser executado e o restante do `SPSR_ELx` armazena o CPSR dos programas **`AArch32`**. Então, o processo privilegiado chama a instrução **`ERET`** para que o processador faça a transição para **`AArch32`**, entrando em A32 ou T32 dependendo do CPSR**.** + +O **`interworking`** ocorre usando os bits J e T do CPSR. `J=0` e `T=0` significa **`A32`** e `J=0` e `T=1` significa **T32**. Isso basicamente se traduz em configurar o **bit mais baixo para 1** para indicar que o conjunto de instruções é T32.\ +Isso é configurado durante as **instruções de ramificação de interworking**, mas também pode ser configurado diretamente com outras instruções quando o PC é definido como o registro de destino. Exemplo: + +Outro exemplo: +```armasm +_start: +.code 32 ; Begin using A32 +add r4, pc, #1 ; Here PC is already pointing to "mov r0, #0" +bx r4 ; Swap to T32 mode: Jump to "mov r0, #0" + 1 (so T32) + +.code 16: +mov r0, #0 +mov r0, #8 +``` +### Registradores + +Existem 16 registradores de 32 bits (r0-r15). **Do r0 ao r14** eles podem ser usados para **qualquer operação**, no entanto, alguns deles geralmente são reservados: + +* **`r15`**: Contador de programa (sempre). Contém o endereço da próxima instrução. Em A32 atual + 8, em T32, atual + 4. +* **`r11`**: Ponteiro de Quadro +* **`r12`**: Registrador de chamada intra-procedural +* **`r13`**: Ponteiro de Pilha +* **`r14`**: Registrador de Link + +Além disso, os registradores são respaldados em **`registradores bancados`**. São locais que armazenam os valores dos registradores permitindo realizar **trocas de contexto rápidas** no tratamento de exceções e operações privilegiadas para evitar a necessidade de salvar e restaurar manualmente os registradores toda vez.\ +Isso é feito **salvando o estado do processador do `CPSR` para o `SPSR`** do modo de processador para o qual a exceção é tomada. Quando a exceção retorna, o **`CPSR`** é restaurado a partir do **`SPSR`**. + +### CPSR - Registrador de Status do Programa Atual + +Em AArch32, o CPSR funciona de maneira semelhante ao **`PSTATE`** em AArch64 e também é armazenado em **`SPSR_ELx`** quando uma exceção é tomada para restaurar posteriormente a execução: + +
    + +Os campos são divididos em alguns grupos: + +* Registrador de Status do Programa de Aplicação (APSR): Flags aritméticas e acessíveis a partir do EL0 +* Registradores de Estado de Execução: Comportamento do processo (gerenciado pelo SO). + +#### Registrador de Status do Programa de Aplicação (APSR) + +* As flags **`N`**, **`Z`**, **`C`**, **`V`** (assim como em AArch64) +* A flag **`Q`**: É definida como 1 sempre que ocorre **saturação de inteiro** durante a execução de uma instrução aritmética de saturação especializada. Uma vez definida como **`1`**, manterá o valor até que seja manualmente redefinida para 0. Além disso, não há nenhuma instrução que verifique seu valor implicitamente, deve ser feito lendo manualmente. +* Flags **`GE`** (Maior ou igual): São usadas em operações SIMD (Instrução Única, Dados Múltiplos), como "adição paralela" e "subtração paralela". Essas operações permitem processar vários pontos de dados em uma única instrução. + +Por exemplo, a instrução **`UADD8`** **adiciona quatro pares de bytes** (de dois operandos de 32 bits) em paralelo e armazena os resultados em um registrador de 32 bits. Em seguida, **define as flags `GE` no `APSR`** com base nesses resultados. Cada flag GE corresponde a uma das adições de byte, indicando se a adição para aquele par de bytes **transbordou**. + +A instrução **`SEL`** usa essas flags GE para realizar ações condicionais. + +#### Registradores de Estado de Execução + +* Os bits **`J`** e **`T`**: **`J`** deve ser 0 e se **`T`** for 0, o conjunto de instruções A32 é usado, e se for 1, o T32 é usado. +* **Registrador de Estado do Bloco IT** (`ITSTATE`): São os bits de 10-15 e 25-26. Eles armazenam condições para instruções dentro de um grupo prefixado com **`IT`**. +* Bit **`E`**: Indica a **ordenação dos bytes** (endianness). +* **Bits de Máscara de Modo e Exceção** (0-4): Determinam o estado atual de execução. O **quinto** indica se o programa é executado como 32 bits (um 1) ou 64 bits (um 0). Os outros 4 representam o **modo de exceção atualmente em uso** (quando uma exceção ocorre e está sendo tratada). O número definido **indica a prioridade atual** em caso de outra exceção ser acionada enquanto esta está sendo tratada. + +
    + +* **`AIF`**: Certas exceções podem ser desativadas usando os bits **`A`**, `I`, `F`. Se **`A`** for 1, significa que abortos assíncronos serão acionados. O **`I`** configura para responder a **Pedidos de Interrupção de Hardware Externo** (IRQs). e o F está relacionado a **Pedidos de Interrupção Rápida** (FIRs). ## macOS -### Chamadas de sistema BSD +### Syscalls BSD -Confira [**syscalls.master**](https://opensource.apple.com/source/xnu/xnu-1504.3.12/bsd/kern/syscalls.master). Chamadas de sistema BSD terão **x16 > 0**. +Confira [**syscalls.master**](https://opensource.apple.com/source/xnu/xnu-1504.3.12/bsd/kern/syscalls.master). Syscalls BSD terão **x16 > 0**. ### Armadilhas Mach -Confira [**syscall\_sw.c**](https://opensource.apple.com/source/xnu/xnu-3789.1.32/osfmk/kern/syscall\_sw.c.auto.html). Armadilhas Mach terão **x16 < 0**, então você precisa chamar os números da lista anterior com um **menos**: **`_kernelrpc_mach_vm_allocate_trap`** é **`-10`**. +Confira [**syscall_sw.c**](https://opensource.apple.com/source/xnu/xnu-3789.1.32/osfmk/kern/syscall_sw.c.auto.html). Armadilhas Mach terão **x16 < 0**, então você precisa chamar os números da lista anterior com um **menos**: **`_kernelrpc_mach_vm_allocate_trap`** é **`-10`**. -Você também pode verificar **`libsystem_kernel.dylib`** em um desmontador para descobrir como chamar essas chamadas de sistema (e BSD): +Você também pode verificar **`libsystem_kernel.dylib`** em um desmontador para descobrir como chamar essas syscalls (e BSD): ```bash # macOS dyldex -e libsystem_kernel.dylib /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e @@ -159,7 +217,7 @@ dyldex -e libsystem_kernel.dylib /System/Volumes/Preboot/Cryptexes/OS/System/Lib dyldex -e libsystem_kernel.dylib /System/Library/Caches/com.apple.dyld/dyld_shared_cache_arm64 ``` {% hint style="success" %} -Às vezes é mais fácil verificar o código **decompilado** de **`libsystem_kernel.dylib`** **do que** verificar o **código fonte** porque o código de várias syscalls (BSD e Mach) é gerado por scripts (verifique os comentários no código fonte), enquanto na dylib você pode encontrar o que está sendo chamado. +Às vezes é mais fácil verificar o código **decompilado** de **`libsystem_kernel.dylib`** do que verificar o **código fonte** porque o código de vários syscalls (BSD e Mach) é gerado por scripts (verifique os comentários no código fonte), enquanto na dylib você pode encontrar o que está sendo chamado. {% endhint %} ### Shellcodes @@ -280,12 +338,9 @@ mov x16, #59 ; Move the execve syscall number (59) into x16. svc #0x1337 ; Make the syscall. The number 0x1337 doesn't actually matter, because the svc instruction always triggers a supervisor call, and the exact action is determined by the value in x16. ``` -{% endtab %} -{% endtabs %} - #### Ler com cat -O objetivo é executar `execve("/bin/cat", ["/bin/cat", "/etc/passwd"], NULL)`, então o segundo argumento (x1) é um array de parâmetros (o que na memória significa uma pilha dos endereços). +O objetivo é executar `execve("/bin/cat", ["/bin/cat", "/etc/passwd"], NULL)`, então o segundo argumento (x1) é um array de parâmetros (o que na memória significa uma pilha de endereços). ```armasm .section __TEXT,__text ; Begin a new section of type __TEXT and name __text .global _main ; Declare a global symbol _main @@ -518,6 +573,6 @@ Outras formas de apoiar o HackTricks: * Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** -* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud). +* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).