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
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
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
- A arquitetura do kernel
macOS Kernel & System Extensions
- Serviços e protocolos de rede comuns do macOS
macOS Network Services & Protocols
- Open source macOS: https://opensource.apple.com/
- Para baixar um
tar.gz
, mude uma URL como https://opensource.apple.com/source/dyld/ para https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
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 - Inspecionando, Depurando e Fuzzing
macOS Apps - Inspecting, debugging and Fuzzing
Proteções de Segurança do MacOS
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:
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:
Conformidade do macOS
Referências
- Resposta a Incidentes do OS X: Scripting e Análise
- https://taomm.org/vol1/analysis.html
- https://github.com/NicolasGrimonpont/Cheatsheet
- https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ
- https://www.youtube.com/watch?v=vMGiplQtjTY
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
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.