mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-23 19:43:31 +00:00
133 lines
8.9 KiB
Markdown
133 lines
8.9 KiB
Markdown
# Ataques GLBP & HSRP
|
|
|
|
{% hint style="success" %}
|
|
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Suporte ao HackTricks</summary>
|
|
|
|
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://websec.nl/" %}
|
|
|
|
## Visão Geral do Sequestro FHRP
|
|
|
|
### Insights sobre FHRP
|
|
FHRP é projetado para fornecer robustez de rede ao mesclar vários roteadores em uma única unidade virtual, melhorando assim a distribuição de carga e a tolerância a falhas. A Cisco Systems introduziu protocolos proeminentes nesta suíte, como GLBP e HSRP.
|
|
|
|
### Insights do Protocolo GLBP
|
|
A criação da Cisco, GLBP, funciona na pilha TCP/IP, utilizando UDP na porta 3222 para comunicação. Roteadores em um grupo GLBP trocam pacotes "hello" em intervalos de 3 segundos. Se um roteador falhar em enviar esses pacotes por 10 segundos, presume-se que esteja offline. No entanto, esses temporizadores não são fixos e podem ser modificados.
|
|
|
|
### Operações e Distribuição de Carga do GLBP
|
|
O GLBP se destaca ao permitir a distribuição de carga entre roteadores usando um único IP virtual associado a vários endereços MAC virtuais. Em um grupo GLBP, cada roteador está envolvido no encaminhamento de pacotes. Ao contrário do HSRP/VRRP, o GLBP oferece um balanceamento de carga genuíno por meio de vários mecanismos:
|
|
|
|
- **Balanceamento de Carga Dependente do Host:** Mantém a atribuição de endereço MAC AVF consistente a um host, essencial para configurações NAT estáveis.
|
|
- **Balanceamento de Carga Round-Robin:** A abordagem padrão, alternando a atribuição de endereço MAC AVF entre hosts solicitantes.
|
|
- **Balanceamento de Carga Round-Robin Ponderado:** Distribui a carga com base em métricas de "Peso" predefinidas.
|
|
|
|
### Componentes Chave e Terminologias no GLBP
|
|
- **AVG (Gateway Virtual Ativo):** O roteador principal, responsável por alocar endereços MAC para roteadores pares.
|
|
- **AVF (Encaminhador Virtual Ativo):** Um roteador designado para gerenciar o tráfego de rede.
|
|
- **Prioridade GLBP:** Uma métrica que determina o AVG, começando em um padrão de 100 e variando entre 1 e 255.
|
|
- **Peso GLBP:** Reflete a carga atual em um roteador, ajustável manualmente ou por meio de Rastreamento de Objetos.
|
|
- **Endereço IP Virtual GLBP:** Serve como gateway padrão da rede para todos os dispositivos conectados.
|
|
|
|
Para interações, o GLBP utiliza o endereço multicast reservado 224.0.0.102 e a porta UDP 3222. Os roteadores transmitem pacotes "hello" em intervalos de 3 segundos e são considerados não operacionais se um pacote for perdido por uma duração de 10 segundos.
|
|
|
|
### Mecanismo de Ataque GLBP
|
|
Um atacante pode se tornar o roteador principal enviando um pacote GLBP com o valor de prioridade mais alto (255). Isso pode levar a ataques de DoS ou MITM, permitindo a interceptação ou redirecionamento de tráfego.
|
|
|
|
### Executando um Ataque GLBP com Loki
|
|
[Loki](https://github.com/raizo62/loki_on_kali) pode realizar um ataque GLBP injetando um pacote com prioridade e peso definidos como 255. As etapas pré-ataque envolvem a coleta de informações como o endereço IP virtual, presença de autenticação e valores de prioridade do roteador usando ferramentas como Wireshark.
|
|
|
|
Passos do Ataque:
|
|
1. Alterne para o modo promíscuo e ative o encaminhamento IP.
|
|
2. Identifique o roteador alvo e recupere seu IP.
|
|
3. Gere um ARP Gratuito.
|
|
4. Injete um pacote GLBP malicioso, se passando pelo AVG.
|
|
5. Atribua um endereço IP secundário à interface de rede do atacante, espelhando o IP virtual do GLBP.
|
|
6. Implemente SNAT para total visibilidade do tráfego.
|
|
7. Ajuste o roteamento para garantir o acesso contínuo à internet por meio do roteador AVG original.
|
|
|
|
Seguindo esses passos, o atacante se posiciona como um "homem no meio", capaz de interceptar e analisar o tráfego de rede, incluindo dados não criptografados ou sensíveis.
|
|
|
|
Para demonstração, aqui estão os trechos de comando necessários:
|
|
```bash
|
|
# Enable promiscuous mode and IP forwarding
|
|
sudo ip link set eth0 promisc on
|
|
sudo sysctl -w net.ipv4.ip_forward=1
|
|
|
|
# Configure secondary IP and SNAT
|
|
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
|
|
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
|
|
|
# Adjust routing
|
|
sudo route del default
|
|
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
|
|
```
|
|
### Explicação Passiva do Sequestro de HSRP com Detalhes de Comando
|
|
|
|
#### Visão Geral do HSRP (Protocolo de Redundância/Roteador em Espera)
|
|
HSRP é um protocolo proprietário da Cisco projetado para redundância de gateway de rede. Ele permite a configuração de vários roteadores físicos em uma única unidade lógica com um endereço IP compartilhado. Essa unidade lógica é gerenciada por um roteador primário responsável por direcionar o tráfego. Ao contrário do GLBP, que usa métricas como prioridade e peso para balanceamento de carga, o HSRP depende de um único roteador ativo para o gerenciamento de tráfego.
|
|
|
|
#### Funções e Terminologia no HSRP
|
|
- **Roteador Ativo do HSRP**: O dispositivo que atua como gateway, gerenciando o fluxo de tráfego.
|
|
- **Roteador em Espera do HSRP**: Um roteador de backup, pronto para assumir se o roteador ativo falhar.
|
|
- **Grupo HSRP**: Um conjunto de roteadores que colaboram para formar um único roteador virtual resiliente.
|
|
- **Endereço MAC do HSRP**: Um endereço MAC virtual atribuído ao roteador lógico na configuração do HSRP.
|
|
- **Endereço IP Virtual do HSRP**: O endereço IP virtual do grupo HSRP, atuando como gateway padrão para dispositivos conectados.
|
|
|
|
#### Versões do HSRP
|
|
O HSRP possui duas versões, HSRPv1 e HSRPv2, diferindo principalmente na capacidade do grupo, uso de IP multicast e estrutura do endereço MAC virtual. O protocolo utiliza endereços IP multicast específicos para a troca de informações de serviço, com pacotes Hello enviados a cada 3 segundos. Um roteador é considerado inativo se nenhum pacote for recebido dentro de um intervalo de 10 segundos.
|
|
|
|
#### Mecanismo de Ataque do HSRP
|
|
Os ataques do HSRP envolvem assumir à força o papel do Roteador Ativo injetando um valor de prioridade máximo. Isso pode levar a um ataque de Homem-no-Meio (MITM). Etapas essenciais pré-ataque incluem coletar dados sobre a configuração do HSRP, o que pode ser feito usando o Wireshark para análise de tráfego.
|
|
|
|
#### Etapas para Bypassing da Autenticação do HSRP
|
|
1. Salve o tráfego de rede contendo dados do HSRP como um arquivo .pcap.
|
|
```shell
|
|
tcpdump -w hsrp_traffic.pcap
|
|
```
|
|
2. Extraia hashes MD5 do arquivo .pcap usando hsrp2john.py.
|
|
```shell
|
|
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
|
|
```
|
|
3. Quebre os hashes MD5 usando o John the Ripper.
|
|
```shell
|
|
john --wordlist=mywordlist.txt hsrp_hashes
|
|
```
|
|
|
|
**Executando a Injeção de HSRP com Loki**
|
|
|
|
1. Inicie o Loki para identificar anúncios do HSRP.
|
|
2. Defina a interface de rede para o modo promíscuo e ative o encaminhamento de IP.
|
|
```shell
|
|
sudo ip link set eth0 promisc on
|
|
sudo sysctl -w net.ipv4.ip_forward=1
|
|
```
|
|
3. Use o Loki para direcionar um roteador específico, insira a senha do HSRP quebrada e faça as configurações necessárias para se passar pelo Roteador Ativo.
|
|
4. Após obter o papel de Roteador Ativo, configure sua interface de rede e tabelas de IP para interceptar o tráfego legítimo.
|
|
```shell
|
|
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
|
|
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
|
```
|
|
5. Modifique a tabela de roteamento para rotear o tráfego através do antigo Roteador Ativo.
|
|
```shell
|
|
sudo route del default
|
|
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
|
|
```
|
|
6. Use net-creds.py ou uma ferramenta similar para capturar credenciais do tráfego interceptado.
|
|
```shell
|
|
sudo python2 net-creds.py -i eth0
|
|
```
|
|
|
|
Executar essas etapas coloca o atacante em uma posição para interceptar e manipular o tráfego, semelhante ao procedimento para o sequestro de GLBP. Isso destaca a vulnerabilidade em protocolos de redundância como o HSRP e a necessidade de medidas de segurança robustas.
|