macOS Security & Privilege Escalation
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Junte-se ao HackenProof Discord para se comunicar com hackers experientes e caçadores de bugs!
Insights de Hacking Engaje-se com conteúdo que mergulha na emoção e nos desafios do hacking
Notícias de Hacking em Tempo Real Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real
Últimos Anúncios Fique informado sobre os novos programas de recompensas por bugs lançados e atualizações cruciais da plataforma
Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!
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:
Usuários comuns do macOS
AppleFS
A arquitetura do kernel
Serviços e protocolos de rede comuns do macOS
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
Em empresas, os sistemas macOS provavelmente serão gerenciados com um MDM. Portanto, do ponto de vista de um atacante, é interessante saber como isso funciona:
macOS MDMSe um processo em execução 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:
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 handlersNo 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.
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 EscalationJunte-se ao HackenProof Discord para se comunicar com hackers experientes e caçadores de bugs!
Insights de Hacking Engaje-se com conteúdo que mergulha na emoção e nos desafios do hacking
Notícias de Hacking em Tempo Real Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real
Últimos Anúncios Fique informado sobre os novos programas de recompensas por bugs lançados e atualizações cruciais da plataforma
Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)