132 lines
4.8 KiB
Markdown

# macOS Segurança & Escalação de Privilégios
{{#include ../../banners/hacktricks-training.md}}
## MacOS Básico
Se você não está familiarizado com o macOS, deve começar aprendendo o básico do macOS:
- **Arquivos & permissões especiais do macOS:**
{{#ref}}
macos-files-folders-and-binaries/
{{#endref}}
- **Usuários comuns do macOS**
{{#ref}}
macos-users.md
{{#endref}}
- **AppleFS**
{{#ref}}
macos-applefs.md
{{#endref}}
- A **arquitetura** do k**ernel**
{{#ref}}
mac-os-architecture/
{{#endref}}
- **Serviços de rede & protocolos** comuns do macOS
{{#ref}}
macos-protocols.md
{{#endref}}
- **Opensource** macOS: [https://opensource.apple.com/](https://opensource.apple.com/)
- Para baixar um `tar.gz`, mude uma URL como [https://opensource.apple.com/**source**/dyld/](https://opensource.apple.com/source/dyld/) para [https://opensource.apple.com/**tarballs**/dyld/**dyld-852.2.tar.gz**](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**:
{{#ref}}
../macos-red-teaming/macos-mdm/
{{#endref}}
### MacOS - Inspecionando, Depurando e Fuzzing
{{#ref}}
macos-apps-inspecting-debugging-and-fuzzing/
{{#endref}}
## Proteções de Segurança do MacOS
{{#ref}}
macos-security-protections/
{{#endref}}
## Superfície de Ataque
### Permissões de Arquivo
Se um **processo executando 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 por causa de 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 por causa de 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**:
{{#ref}}
macos-files-folders-and-binaries/macos-installers-abuse.md
{{#endref}}
### Manipuladores de Aplicativos de Extensão de Arquivo & 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
{{#ref}}
macos-file-extension-apps.md
{{#endref}}
## 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**](macos-security-protections/macos-tcc/index.html#tcc-privesc-and-bypasses), para [**burlar o TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/index.html) e como no passado [**o SIP foi burlado**](macos-security-protections/macos-sip.md#sip-bypasses).
## Escalação de Privilégios Tradicional do 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:
{{#ref}}
macos-privilege-escalation.md
{{#endref}}
## Conformidade do macOS
- [https://github.com/usnistgov/macos_security](https://github.com/usnistgov/macos_security)
## Referências
- [**OS X Incident Response: Scripting and Analysis**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS)
- [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
- [**https://github.com/NicolasGrimonpont/Cheatsheet**](https://github.com/NicolasGrimonpont/Cheatsheet)
- [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
- [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
{{#include ../../banners/hacktricks-training.md}}