mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
132 lines
4.8 KiB
Markdown
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}}
|