Segurança e Escalação de Privilégios no macOS

Reading time: 5 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

MacOS Básico

Se você não está familiarizado com o macOS, deve começar aprendendo o básico do macOS:

  • Arquivos e permissões especiais do macOS:

macOS Files, Folders, Binaries & Memory

  • Usuários comuns do macOS

macOS Users & External Accounts

  • AppleFS

macOS AppleFS

  • A arquitetura do kernel

macOS Kernel & System Extensions

  • Serviços e protocolos de rede comuns do macOS

macOS Network Services & Protocols

MDM do MacOS

Em empresas, sistemas macOS provavelmente serão gerenciados com um MDM. Portanto, do ponto de vista de um atacante, é interessante saber como isso funciona:

macOS MDM

MacOS - Inspecionando, Depurando e Fuzzing

macOS Apps - Inspecting, debugging and Fuzzing

Proteções de Segurança do MacOS

macOS Security Protections

Superfície de Ataque

Permissões de Arquivo

Se um processo executado como root escreve um arquivo que pode ser controlado por um usuário, o usuário pode abusar disso para escalar privilégios.
Isso pode ocorrer nas seguintes situações:

  • O arquivo usado já foi criado por um usuário (pertencente ao usuário)
  • O arquivo usado é gravável pelo usuário devido a um grupo
  • O arquivo usado está dentro de um diretório pertencente ao usuário (o usuário poderia criar o arquivo)
  • O arquivo usado está dentro de um diretório pertencente ao root, mas o usuário tem acesso de gravação sobre ele devido a um grupo (o usuário poderia criar o arquivo)

Ser capaz de criar um arquivo que será usado pelo root permite que um usuário tire proveito de seu conteúdo ou até mesmo crie symlinks/hardlinks para apontá-lo para outro lugar.

Para esse tipo de vulnerabilidades, não se esqueça de verificar instaladores .pkg vulneráveis:

macOS Installers Abuse

Manipuladores de Aplicativos de Extensão de Arquivo e Esquema de URL

Aplicativos estranhos registrados por extensões de arquivo podem ser abusados e diferentes aplicativos podem ser registrados para abrir protocolos específicos

macOS File Extension & URL scheme app handlers

Escalação de Privilégios TCC / SIP do macOS

No macOS, aplicativos e binários podem ter permissões para acessar pastas ou configurações que os tornam mais privilegiados do que outros.

Portanto, um atacante que deseja comprometer com sucesso uma máquina macOS precisará escalar seus privilégios TCC (ou até mesmo burlar o SIP, dependendo de suas necessidades).

Esses privilégios geralmente são concedidos na forma de direitos com os quais o aplicativo é assinado, ou o aplicativo pode solicitar alguns acessos e, após o usuário aprová-los, eles podem ser encontrados nos bancos de dados TCC. Outra maneira de um processo obter esses privilégios é sendo um filho de um processo com esses privilégios, pois eles geralmente são herdados.

Siga esses links para encontrar diferentes maneiras de escalar privilégios no TCC, para burlar o TCC e como no passado o SIP foi burlado.

Escalação Tradicional de Privilégios no macOS

Claro, do ponto de vista de uma equipe vermelha, você também deve estar interessado em escalar para root. Confira o seguinte post para algumas dicas:

macOS Privilege Escalation

Conformidade do macOS

Referências

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks