hacktricks/generic-methodologies-and-resources/pentesting-network/eigrp-attacks.md

155 lines
9.2 KiB
Markdown
Raw Normal View History

2023-06-06 18:56:34 +00:00
# Ataques EIGRP
2022-09-30 10:27:15 +00:00
<details>
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-09-30 10:27:15 +00:00
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-09-30 10:27:15 +00:00
</details>
**Esta página é baseada em** [****](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9). Confira para mais informações.
2022-09-30 10:27:15 +00:00
## Compreendendo as Vulnerabilidades do Protocolo EIGRP <a href="#0f82" id="0f82"></a>
2022-09-30 10:27:15 +00:00
**EIGRP (Enhanced Interior Gateway Routing Protocol)** é identificado como um protocolo de roteamento dinâmico do tipo vetor-distância. Uma vulnerabilidade crítica é observada se a autenticação ou configuração de interfaces passivas são negligenciadas, levando ao possível envenenamento de tabelas de roteamento. Além disso, a estrutura da rede EIGRP, ou sistema autônomo, é não segmentada, sem qualquer forma de divisões de zona. Esta estrutura plana implica que rotas injetadas por um atacante poderiam se propagar por todo o sistema autônomo.
2022-09-30 10:27:15 +00:00
![](../../.gitbook/assets/image (25) (1).png)
2022-09-30 10:27:15 +00:00
O primeiro passo para explorar um sistema EIGRP envolve estabelecer uma conexão com um roteador EIGRP legítimo. Esta conexão abre caminhos que vão desde reconhecimento até várias formas de injeções. Para facilitar isso, [**FRRouting**](https://frrouting.org/), uma solução de código aberto, é utilizada para emular um roteador em sistemas Unix e Linux. **FRRouting** suporta múltiplos protocolos incluindo BGP, OSPF e EIGRP. A implantação do FRRouting no sistema de um atacante permite que eles imitem um roteador legítimo dentro do domínio de roteamento. Instruções detalhadas para a implantação do FRR no seu sistema serão fornecidas a seguir.
2022-09-30 10:27:15 +00:00
### Coletando Inteligência de Rede <a href="#41e6" id="41e6"></a>
2022-09-30 10:27:15 +00:00
A integração no domínio de roteamento permite a enumeração e reconhecimento de redes, oferecendo uma alternativa eficiente em termos de tempo para varreduras extensas. Esta abordagem não só economiza tempo, mas também mitiga o risco de detecção por sistemas de segurança IPS/IDS. Para alcançar isso, é necessária a implantação do **FRRouting**.
2022-09-30 10:27:15 +00:00
Modificações são necessárias no arquivo de configuração `daemons`, que controla as atividades dos daemons. A ativação do daemon **eigrpd** é necessária.
```bash
2022-09-30 10:27:15 +00:00
~# nano /etc/frr/daemons
eigrpd=yes
```
![](../../.gitbook/assets/image (15) (1).png)
Além disso, ajustes no arquivo **vtysh.conf** são necessários para garantir que as configurações de vários protocolos sejam consolidadas em um único arquivo.
```bash
2022-09-30 10:27:15 +00:00
~# nano /etc/frr/vtysh.conf
service integrated-vtysh-config
```
Após a configuração, a iniciação do daemon FRR e a ativação do roteamento de tráfego (desativado por padrão em distribuições Linux) são necessárias.
```bash
2022-09-30 10:27:15 +00:00
~$ sudo systemctl start frr
~$ sudo sysctl -w net.ipv4.ip_forward=1
```
```markdown
![](../../.gitbook/assets/image (32).png)
O comando **vtysh** fornece acesso ao painel de controle do roteador FRR.
```
```bash
2022-09-30 10:27:15 +00:00
~$ sudo vtysh
```
Exemplo de uso:
```bash
root# show version
2022-09-30 10:27:15 +00:00
```
```markdown
![](../../.gitbook/assets/image (3) (2) (2).png)
2022-09-30 10:27:15 +00:00
> Nota: O domínio de roteamento EIGRP pode ser protegido com autenticação. No entanto, ainda é possível obter acesso potencial extraindo hashes criptográficos de pacotes hello e redefinindo a senha.
2022-09-30 10:27:15 +00:00
No modo de configuração global, inicie o processo **EIGRP** e defina o número do sistema autônomo — **1**, juntamente com a localização da rede.
```
```bash
root# config
root(config)# router eigrp 1
root(config-router) network 10.10.100.50/32
2022-09-30 10:27:15 +00:00
```
Após o estabelecimento de conexões de vizinhança com roteadores EIGRP legítimos (neste caso, **GW1 (10.10.100.100)** e **GW2 (10.10.100.200)**), os roteadores trocam informações de roteamento. Esse processo resulta no aparecimento de novas rotas na tabela de roteamento do sistema atacante, auxiliando no pentesting e economizando tempo na varredura de sub-redes. Neste estágio, o sistema faz parte do domínio de roteamento EIGRP e está pronto para o desenvolvimento de vetores de ataque adicionais.
2022-09-30 10:27:15 +00:00
![](../../.gitbook/assets/image (5) (1) (2).png)
![](../../.gitbook/assets/image (30) (1).png)
![](../../.gitbook/assets/image (29) (1) (2).png)
2022-09-30 10:27:15 +00:00
### Explorando EIGRP: Vetores de Ataque <a href="#51ee" id="51ee"></a>
2022-09-30 10:27:15 +00:00
#### 1. Vizinhos EIGRP Falsos
O envio em massa de pacotes hello EIGRP pode levar à sobrecarga da CPU nos roteadores, abrindo caminho para ataques DoS. Um script, **helloflooding.py**, é utilizado para isso, embora sua velocidade de envio de pacotes seja limitada pelo GIL (Global Interpreter Lock). Planos para reescrever o script em C para melhorar o desempenho estão em andamento.
2022-09-30 10:27:15 +00:00
![](../../.gitbook/assets/image (2) (6) (1).png)
2022-09-30 10:27:15 +00:00
O uso do script envolve a especificação de:
- Interface de rede (por exemplo, eth0)
- Número do sistema autônomo EIGRP (por exemplo, 1)
- Localização da sub-rede (por exemplo, 10.10.100.0/24)
```bash
2022-09-30 10:27:15 +00:00
~$ sudo python3 helloflooding.py --interface eth0 --as 1 --subnet 10.10.100.0/24
```
#### 2. EIGRP Blackhole
Este ataque envolve a injeção de uma rota falsa para interromper o fluxo de tráfego, comumente referido como ataque Blackhole. O script **routeinject.py** é utilizado para esse fim. Por exemplo, redirecionando o tráfego para `172.16.100.140/32` para um destino inexistente.
2022-09-30 10:27:15 +00:00
![](../../.gitbook/assets/image (16) (1).png)
2022-09-30 10:27:15 +00:00
Os parâmetros do script incluem:
- Interface do sistema do atacante
- Número AS do EIGRP
- Endereço IP do atacante
- IP da sub-rede alvo e sua máscara
```bash
2022-09-30 10:27:15 +00:00
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
```
![](../../.gitbook/assets/image (20) (1).png)
2022-09-30 10:27:15 +00:00
O resultado é a perda de conectividade com o host alvo devido à injeção de rotas.
2022-09-30 10:27:15 +00:00
![](../../.gitbook/assets/image (6) (1) (1).png)
2022-09-30 10:27:15 +00:00
#### 3. Abusando dos K-Values
Valores de K incompatíveis entre roteadores EIGRP podem interromper o domínio EIGRP. O script **relationshipnightmare.py** explora isso injetando valores de K alterados, desencadeando interrupções contínuas e reconexões dentro do domínio EIGRP, resultando efetivamente em um ataque de DoS.
2022-09-30 10:27:15 +00:00
![](../../.gitbook/assets/image (12) (2) (1).png)
2022-09-30 10:27:15 +00:00
O script requer:
- Interface de rede
- Número AS EIGRP
- Endereço IP de um roteador legítimo
2022-09-30 10:27:15 +00:00
As alterações injetadas são enviadas do IP especificado para o endereço IP multicast EIGRP, causando a incompatibilidade.
```bash
2022-09-30 10:27:15 +00:00
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
```
#### 4. Sobrecarga da Tabela de Roteamento
Este ataque inunda a tabela de roteamento com rotas falsas, sobrecarregando a CPU e a RAM do roteador. O script **routingtableoverflow.py** facilita isso, enviando rapidamente inúmeras rotas falsas.
2022-09-30 10:27:15 +00:00
Parâmetros do script:
- Interface de rede
- Número AS EIGRP
- Endereço IP do atacante
2022-09-30 10:27:15 +00:00
Após a execução do script, a tabela de roteamento fica saturada com rotas espúrias, afetando gravemente o desempenho do roteador.
```bash
sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
2022-09-30 10:27:15 +00:00
```
```markdown
![](../../.gitbook/assets/image (4) (4).png)
![](../../.gitbook/assets/image (21) (1).png)
2022-09-30 10:27:15 +00:00
<details>
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
2022-09-30 10:27:15 +00:00
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) no github.
2022-09-30 10:27:15 +00:00
</details>
```