Translated ['macos-hardening/macos-security-and-privilege-escalation/REA
This commit is contained in:
parent
b1318d41ce
commit
2d0d148f0e
@ -151,7 +151,7 @@
|
||||
* [macOS File Extension Apps](macos-hardening/macos-security-and-privilege-escalation/macos-file-extension-apps.md)
|
||||
* [macOS Files, Folders, Binaries & Memory](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/README.md)
|
||||
* [macOS Bundles](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-bundles.md)
|
||||
* [macOS Installer Packages (pkg)](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-installer-packages-pkg.md)
|
||||
* [macOS Installers Abuse](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-installers-abuse.md)
|
||||
* [macOS Memory Dumping](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md)
|
||||
* [macOS Sensitive Locations](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-sensitive-locations.md)
|
||||
* [macOS Universal binaries & Mach-O Format](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md)
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Você trabalha em uma **empresa de segurança cibernética**? 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 [**The PEASS Family**](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 do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do 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)**.**
|
||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do 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 suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
@ -92,8 +92,8 @@ Ser capaz de **criar um arquivo** que será **usado pelo root**, permite que um
|
||||
|
||||
Para esse tipo de vulnerabilidades, não se esqueça de **verificar instaladores `.pkg` vulneráveis**:
|
||||
|
||||
{% content-ref url="macos-files-folders-and-binaries/macos-installer-packages-pkg.md" %}
|
||||
[macos-installer-packages-pkg.md](macos-files-folders-and-binaries/macos-installer-packages-pkg.md)
|
||||
{% content-ref url="macos-files-folders-and-binaries/macos-installers-abuse.md" %}
|
||||
[macos-installers-abuse.md](macos-files-folders-and-binaries/macos-installers-abuse.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Abuso de Privilégios e Entitlements via Abuso de Processo
|
||||
@ -112,7 +112,7 @@ Aplicativos estranhos registrados por extensões de arquivo podem ser abusados:
|
||||
[macos-file-extension-apps.md](macos-file-extension-apps.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Aplicativos de Manipulador de URL
|
||||
### Aplicativos de Manipulação de URL
|
||||
|
||||
Diferentes aplicativos podem ser registrados para abrir protocolos específicos. Eles podem ser abusados.
|
||||
|
||||
@ -123,7 +123,7 @@ TODO: Criar uma página sobre isso
|
||||
### CVE-2020-9771 - mount\_apfs TCC bypass 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.
|
||||
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" %}
|
||||
```bash
|
||||
|
@ -51,8 +51,8 @@ O MacOS armazena informações como senhas em vários locais:
|
||||
|
||||
### Instaladores pkg vulneráveis
|
||||
|
||||
{% content-ref url="macos-installer-packages-pkg.md" %}
|
||||
[macos-installer-packages-pkg.md](macos-installer-packages-pkg.md)
|
||||
{% content-ref url="macos-installers-abuse.md" %}
|
||||
[macos-installers-abuse.md](macos-installers-abuse.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Extensões Específicas do OS X
|
||||
@ -86,13 +86,13 @@ Basicamente, um pacote é uma **estrutura de diretório** dentro do sistema de a
|
||||
|
||||
### Permissões de pasta
|
||||
|
||||
Em uma **pasta**, **ler** permite **listá-la**, **escrever** permite **excluir** e **escrever** arquivos nela, e **executar** permite **atravessar** o 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.
|
||||
Em uma **pasta**, **leitura** permite **listá-la**, **escrita** permite **excluir** e **escrever** arquivos nela, e **executar** permite **atravessar** o 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.
|
||||
|
||||
### Modificadores de sinalizador
|
||||
|
||||
Existem alguns sinalizadores que podem ser definidos nos arquivos 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 /path/directory`
|
||||
|
||||
* **`uchg`**: Conhecido como sinalizador **uchange** impedirá qualquer ação de alterar ou excluir o **arquivo**. Para defini
|
||||
* **`uchg`**: Conhecido como sinalizador **uchange** impedirá qualquer ação de alterar ou excluir o **arquivo**. Para defini-lo, faça: `
|
||||
```bash
|
||||
ls -ld Movies
|
||||
drwx------+ 7 username staff 224 15 Apr 19:42 Movies
|
||||
@ -109,7 +109,7 @@ ls -RAle / 2>/dev/null | grep -E -B1 "\d: "
|
||||
```
|
||||
### Garfos de Recursos | ADS do macOS
|
||||
|
||||
Esta é uma maneira de obter **fluxos de dados alternativos em máquinas 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**.
|
||||
Esta é uma maneira de obter **fluxos de dados alternativos em máquinas 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**.
|
||||
```bash
|
||||
echo "Hello" > a.txt
|
||||
echo "Hello Mac ADS" > a.txt/..namedfork/rsrc
|
||||
@ -149,13 +149,13 @@ As possíveis categorias incluem as seguintes:
|
||||
* **LSRiskCategorySafe**: **Totalmente** **seguro**; Safari será aberto automaticamente após o download
|
||||
* **LSRiskCategoryNeutral**: Sem aviso, mas **não é aberto automaticamente**
|
||||
* **LSRiskCategoryUnsafeExecutable**: **Dispara** um **aviso** "Este arquivo é um aplicativo..."
|
||||
* **LSRiskCategoryMayContainUnsafeExecutable**: Isso é para coisas como arquivos que contêm um executável. Ele **dispara um aviso a menos que o Safari possa determinar que todo o conteúdo é seguro ou neutro**.
|
||||
* **LSRiskCategoryMayContainUnsafeExecutable**: Isso é para coisas como arquivos que contêm um executável. Ele **dispara um aviso, a menos que o Safari possa determinar que todo o conteúdo é seguro ou neutro**.
|
||||
|
||||
## Arquivos de log
|
||||
|
||||
* **`$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 syslog (você pode verificar se está desativado procurando por "com.apple.syslogd" em `launchctl list`.
|
||||
* **`/private/var/log/asl/*.asl`**: Estes são os Registros do Sistema da Apple que podem conter informações interessantes.
|
||||
* **`/private/var/log/asl/*.asl`**: Estes são os Registros do Sistema Apple que podem conter informações interessantes.
|
||||
* **`$HOME/Library/Preferences/com.apple.recentitems.plist`**: Armazena arquivos e aplicativos acessados recentemente através do "Finder".
|
||||
* **`$HOME/Library/Preferences/com.apple.loginitems.plsit`**: Armazena itens para iniciar no início do sistema
|
||||
* **`$HOME/Library/Logs/DiskUtility.log`**: Arquivo de log para o aplicativo DiskUtility (informações sobre unidades, incluindo USBs)
|
||||
|
@ -0,0 +1,63 @@
|
||||
## Informações Básicas
|
||||
|
||||
Um pacote de instalação do macOS (também conhecido como arquivo `.pkg`) é um formato de arquivo usado pelo macOS para **distribuir software**. Esses arquivos são como uma **caixa que contém tudo o que um software** precisa para instalar e executar corretamente.
|
||||
|
||||
O arquivo do pacote em si é um arquivo que contém uma **hierarquia de arquivos e diretórios que serão instalados no computador de destino**. Ele também pode incluir **scripts** para executar tarefas antes e depois da instalação, como configurar arquivos de configuração ou limpar versões antigas do software.
|
||||
|
||||
### Hierarquia
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/Pasted Graphic.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
* **Distribuição (xml)**: Personalizações (título, texto de boas-vindas...) e verificações de script/instalação
|
||||
* **PackageInfo (xml)**: Informações, requisitos de instalação, local de instalação, caminhos para scripts a serem executados
|
||||
* **Lista de materiais (bom)**: Lista de arquivos para instalar, atualizar ou remover com permissões de arquivo
|
||||
* **Carga útil (arquivo CPIO compactado com gzip)**: Arquivos para instalar no `local-de-instalação` do PackageInfo
|
||||
* **Scripts (arquivo CPIO compactado com gzip)**: Scripts de pré e pós-instalação e mais recursos extraídos para um diretório temporário para execução.
|
||||
|
||||
### Descompactar
|
||||
```bash
|
||||
# Tool to directly get the files inside a package
|
||||
pkgutil —expand "/path/to/package.pkg" "/path/to/out/dir"
|
||||
|
||||
# Get the files ina. more manual way
|
||||
mkdir -p "/path/to/out/dir"
|
||||
cd "/path/to/out/dir"
|
||||
xar -xf "/path/to/package.pkg"
|
||||
|
||||
# Decompress also the CPIO gzip compressed ones
|
||||
cat Scripts | gzip -dc | cpio -i
|
||||
cpio -i < Scripts
|
||||
```
|
||||
## Privesc via abuso de instaladores do pkg
|
||||
|
||||
### Execução a partir de diretórios públicos
|
||||
|
||||
Se um script de pré ou pós-instalação estiver executando, por exemplo, a partir de **`/var/tmp/Installerutil`**, um invasor poderá controlar esse script para **escalar privilégios** sempre que ele for executado. Ou outro exemplo semelhante:
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/Pasted Graphic 5.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### AuthorizationExecuteWithPrivileges
|
||||
|
||||
Esta é uma [função pública](https://developer.apple.com/documentation/security/1540038-authorizationexecutewithprivileg) que vários instaladores e atualizadores chamarão para **executar algo como root**. Esta função aceita o **caminho** do **arquivo** a ser **executado** como parâmetro, no entanto, se um invasor puder **modificar** este arquivo, ele poderá **abusar** de sua execução com root para **escalar privilégios**.
|
||||
```bash
|
||||
# Breakpoint in the function to check wich file is loaded
|
||||
(lldb) b AuthorizationExecuteWithPrivileges
|
||||
# You could also check FS events to find this missconfig
|
||||
```
|
||||
Para mais informações, confira esta palestra: [https://www.youtube.com/watch?v=lTOItyjTTkw](https://www.youtube.com/watch?v=lTOItyjTTkw)
|
||||
|
||||
## Referências
|
||||
|
||||
* [https://www.youtube.com/watch?v=iASSG0\_zobQ](https://www.youtube.com/watch?v=iASSG0\_zobQ)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||||
|
||||
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira 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 suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
Loading…
Reference in New Issue
Block a user