hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-bundles.md

5.5 KiB

Pacotes do macOS

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

Informações Básicas

Basicamente, um pacote é uma estrutura de diretórios dentro do sistema de arquivos. Curiosamente, por padrão, este diretório parece ser um único objeto no Finder.

O pacote mais comum que encontraremos é o pacote .app, mas muitos outros executáveis também são empacotados como pacotes, como .framework e .systemextension ou .kext.

Os tipos de recursos contidos em um pacote podem consistir em aplicativos, bibliotecas, imagens, documentação, arquivos de cabeçalho, etc. Todos esses arquivos estão dentro de <aplicativo>.app/Contents/

ls -lR /Applications/Safari.app/Contents
  • Contents/_CodeSignature -> Contém informações de assinatura de código sobre o aplicativo (ou seja, hashes, etc.).

  • openssl dgst -binary -sha1 /Applications/Safari.app/Contents/Resources/Assets.car | openssl base64

  • Contents/MacOS -> Contém o binário do aplicativo (que é executado quando o usuário clica duas vezes no ícone do aplicativo na interface do usuário).

  • Contents/Resources -> Contém elementos da interface do usuário do aplicativo, como imagens, documentos e arquivos nib/xib (que descrevem várias interfaces do usuário).

  • Contents/Info.plist -> O principal "arquivo de configuração do aplicativo". A Apple observa que "o sistema depende da presença deste arquivo para identificar informações relevantes sobre o aplicativo e quaisquer arquivos relacionados".

  • Os arquivos Plist contêm informações de configuração. Você pode encontrar informações sobre o significado das chaves plist em https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html

  • Pares que podem ser de interesse ao analisar um aplicativo incluem:\

  • CFBundleExecutable

Contém o nome do binário do aplicativo (encontrado em Contents/MacOS).

  • CFBundleIdentifier

Contém o identificador de pacote do aplicativo (frequentemente usado pelo sistema para identificar globalmente o aplicativo).

  • LSMinimumSystemVersion

Contém a versão mais antiga do macOS com a qual o aplicativo é compatível.

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