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

9.2 KiB

Ataques EIGRP

Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Esta página é baseada em ****. Confira para mais informações.

Compreendendo as Vulnerabilidades do Protocolo EIGRP

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.

![](../../.gitbook/assets/image (25) (1).png)

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, 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.

Coletando Inteligência de Rede

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.

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.

~# 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.

~# 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.

~$ sudo systemctl start frr
~$ sudo sysctl -w net.ipv4.ip_forward=1
![](../../.gitbook/assets/image (32).png)

O comando **vtysh** fornece acesso ao painel de controle do roteador FRR.
~$ sudo vtysh

Exemplo de uso:

root# show version
![](../../.gitbook/assets/image (3) (2) (2).png)

> 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.

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.
root# config
root(config)# router eigrp 1
root(config-router) network 10.10.100.50/32

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.

![](../../.gitbook/assets/image (5) (1) (2).png) ![](../../.gitbook/assets/image (30) (1).png) ![](../../.gitbook/assets/image (29) (1) (2).png)

Explorando EIGRP: Vetores de Ataque

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.

![](../../.gitbook/assets/image (2) (6) (1).png)

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)
~$ 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.

![](../../.gitbook/assets/image (16) (1).png)

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
~$ 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)

O resultado é a perda de conectividade com o host alvo devido à injeção de rotas.

![](../../.gitbook/assets/image (6) (1) (1).png)

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.

![](../../.gitbook/assets/image (12) (2) (1).png)

O script requer:

  • Interface de rede
  • Número AS EIGRP
  • Endereço IP de um roteador legítimo

As alterações injetadas são enviadas do IP especificado para o endereço IP multicast EIGRP, causando a incompatibilidade.

~$ 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.

Parâmetros do script:

  • Interface de rede
  • Número AS EIGRP
  • Endereço IP do atacante

Após a execução do script, a tabela de roteamento fica saturada com rotas espúrias, afetando gravemente o desempenho do roteador.

sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
![](../../.gitbook/assets/image (4) (4).png)
![](../../.gitbook/assets/image (21) (1).png)

<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:

* 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.

</details>