* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **/cores**: Se existir, é usado para armazenar despejos de núcleo
* **/dev**: Tudo é tratado como um arquivo, então você pode ver dispositivos de hardware armazenados aqui.
* **/etc**: Arquivos de configuração
* **/Library**: Muitos subdiretórios e arquivos relacionados a preferências, caches e logs podem ser encontrados aqui. Uma pasta Library existe na raiz e em cada diretório do usuário.
* **/private**: Não documentado, mas muitas das pastas mencionadas são links simbólicos para o diretório privado.
* **/.vol**: Ao executar `stat a.txt`, você obtém algo como `16777223 7545753 -rw-r--r-- 1 username wheel ...`, onde o primeiro número é o número de ID do volume onde o arquivo existe e o segundo é o número de inode. Você pode acessar o conteúdo deste arquivo através de /.vol/ com essas informações executando `cat /.vol/16777223/7545753`
* Os aplicativos **instalados** geralmente são instalados em `/Applications` ou em `~/Applications`
* Os **dados do aplicativo** podem ser encontrados em `/Library/Application Support` para os aplicativos em execução como root e `~/Library/Application Support` para aplicativos em execução como usuário.
* Os **daemons** de aplicativos de terceiros que **precisam ser executados como root** geralmente estão localizados em `/Library/PrivilegedHelperTools/`
* Os aplicativos **sandboxed** são mapeados na pasta `~/Library/Containers`. Cada aplicativo tem uma pasta com o nome do ID do pacote do aplicativo (`com.apple.Safari`).
* O **kernel** está localizado em `/System/Library/Kernels/kernel`
* As **extensões de kernel da Apple** estão localizadas em `/System/Library/Extensions`
* As **extensões de kernel de terceiros** são armazenadas em `/Library/Extensions`
* **`.pkg`**: São iguais aos arquivos xar (formato de arquivo extensível). O comando installer pode ser usado para instalar o conteúdo desses arquivos.
Basicamente, um pacote é uma **estrutura de diretórios** dentro do sistema de arquivos. Curiosamente, por padrão, esse diretório **parece ser um único objeto no Finder** (como `.app`).
No macOS (e iOS), todas as bibliotecas compartilhadas do sistema, como frameworks e dylibs, são **combinadas em um único arquivo**, chamado **cache compartilhado do dyld**. Isso melhora o desempenho, pois o código pode ser carregado mais rapidamente.
Semelhante ao cache compartilhado do dyld, o kernel e as extensões do kernel também são compilados em um cache do kernel, que é carregado durante a inicialização.
Para extrair as bibliotecas do arquivo único de cache compartilhado do dylib, era possível usar o binário [dyld\_shared\_cache\_util](https://www.mbsplugins.de/files/dyld\_shared\_cache\_util-dyld-733.8.zip), que pode não estar funcionando atualmente:
Em versões mais antigas, você pode encontrar o **cache compartilhado** em **`/System/Library/dyld/`**.
{% hint style="success" %}
Observe que mesmo que a ferramenta `dyld_shared_cache_util` não funcione, você pode passar o **binário dyld compartilhado para o Hopper** e o Hopper será capaz de identificar todas as bibliotecas e permitir que você **selecione qual** deseja investigar:
Em uma **pasta**, **leitura** permite **listá-la**, **escrita** permite **excluir** e **escrever** arquivos nela, e **execução** permite **navegar** pelo diretório. Portanto, por exemplo, um usuário com **permissão de leitura sobre um arquivo** dentro de um diretório onde ele **não tem permissão de execução****não poderá ler** o arquivo.
Existem alguns sinalizadores que podem ser definidos nos arquivos e que farão com que o arquivo se comporte de maneira diferente. Você pode **verificar os sinalizadores** dos arquivos dentro de um diretório com `ls -lO /caminho/diretório`
* **`uchg`**: Conhecido como sinalizador **uchange**, ele **impede qualquer ação** de alterar ou excluir o **arquivo**. Para defini-lo, faça: `chflags uchg arquivo.txt`
* O usuário root pode **remover o sinalizador** e modificar o arquivo
* **`restricted`**: Esse sinalizador faz com que o arquivo seja **protegido pelo SIP** (você não pode adicionar esse sinalizador a um arquivo).
* **`Sticky bit`**: Se um diretório tiver o sticky bit, **apenas** o **proprietário do diretório ou o root podem renomear ou excluir** arquivos. Normalmente, isso é definido no diretório /tmp para evitar que usuários comuns excluam ou movam arquivos de outros usuários.
Esta é uma maneira de obter **Fluxos de Dados Alternativos no macOS**. Você pode salvar conteúdo dentro de um atributo estendido chamado **com.apple.ResourceFork** dentro de um arquivo, salvando-o em **file/..namedfork/rsrc**.
Os binários do Mac OS geralmente são compilados como **binários universais**. Um **binário universal** pode **suportar várias arquiteturas no mesmo arquivo**.
Os arquivos `/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/System` contêm o risco associado aos arquivos dependendo da extensão do arquivo.
* **LSRiskCategoryUnsafeExecutable**: **Aciona** um **aviso** "Este arquivo é um aplicativo..."
* **LSRiskCategoryMayContainUnsafeExecutable**: Isso é para coisas como arquivos compactados que contêm um executável. Ele **aciona um aviso a menos que o Safari possa determinar que todo o conteúdo é seguro ou neutro**.
* **`$HOME/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2`**: Contém informações sobre arquivos baixados, como a URL de onde foram baixados.
* **`/var/log/system.log`**: Log principal dos sistemas OSX. com.apple.syslogd.plist é responsável pela execução do syslogging (você pode verificar se está desativado procurando por "com.apple.syslogd" em `launchctl list`.
* **`/private/var/log/asl/*.asl`**: Estes são os Logs do Sistema Apple que podem conter informações interessantes.
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).