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

9 KiB

Ataques EIGRP

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

Outras maneiras de apoiar o HackTricks:

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

Compreensão das Vulnerabilidades do Protocolo EIGRP

EIGRP (Enhanced Interior Gateway Routing Protocol) é identificado como um protocolo de roteamento dinâmico de vetor de distância. Uma vulnerabilidade crítica é observada se a autenticação ou a configuração de interfaces passivas forem negligenciadas, levando a possíveis envenenamentos de tabelas de roteamento. Além disso, a estrutura da rede EIGRP, ou sistema autônomo, não é segmentada, faltando qualquer forma de divisões de zona. Essa 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. Essa conexão abre caminhos que vão desde a 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 implantar o FRR em seu sistema seguirão.

Coleta de 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. Essa abordagem não apenas 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 do daemon. A ativação do daemon eigrpd é necessária.

~# nano /etc/frr/daemons
eigrpd=yes

Além disso, são necessários ajustes no arquivo vtysh.conf 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, é necessário iniciar o daemon FRR e habilitar o roteamento de tráfego (desativado por padrão em distribuições Linux).

~$ sudo systemctl start frr
~$ sudo sysctl -w net.ipv4.ip_forward=1

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 estar protegido com autenticação. No entanto, o acesso potencial ainda é possível extraindo hashes criptográficos dos 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 como 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 na aparição de novas rotas na tabela de roteamento do sistema de ataque, auxiliando nos testes de penetração e economizando tempo na varredura de sub-redes. Nesta etapa, 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 o EIGRP: Vetores de Ataque

1. Vizinhos EIGRP Falsos

O envio em massa de pacotes hello do EIGRP pode levar à sobrecarga da CPU nos roteadores, abrindo caminho para ataques de negação de serviço (DoS). Um script, helloflooding.py, é utilizado para isso, embora a 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. Buraco Negro EIGRP

Este ataque envolve a injeção de uma rota falsa para interromper o fluxo de tráfego, comumente referido como um ataque de Buraco Negro. 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
  • Sub-rede de destino IP 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 é uma perda de conectividade com o host alvo devido à injeção de rota.

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

3. Abusando dos Valores K

Valores K incompatíveis entre os roteadores EIGRP podem interromper o domínio EIGRP. O script relationshipnightmare.py explora isso injetando valores K alterados, desencadeando interrupções e reconexões contínuas 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 do EIGRP
  • Endereço IP de um roteador legítimo

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

~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100

4. Desbordamento 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 ao enviar rapidamente várias rotas falsas.

Script parâmetros:

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

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

sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks: