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

141 lines
9 KiB
Markdown

# Ataques EIGRP
<details>
<summary><strong>Aprenda hacking 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 maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* 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)
* **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 seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
**Esta página é baseada em** [****](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9). Verifique para mais informações.
## Compreensão das Vulnerabilidades do Protocolo EIGRP <a href="#0f82" id="0f82"></a>
**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**](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 implantar o FRR em seu sistema seguirão.
### Coleta de Inteligência de Rede <a href="#41e6" id="41e6"></a>
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.
```bash
~# 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.
```bash
~# 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).
```bash
~$ sudo systemctl start frr
~$ sudo sysctl -w net.ipv4.ip_forward=1
```
O comando **vtysh** fornece acesso ao painel de controle do roteador FRR.
```bash
~$ sudo vtysh
```
Exemplo de uso:
```bash
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.
```bash
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 <a href="#51ee" id="51ee"></a>
#### 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)
```bash
~$ 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
```bash
~$ 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.
```bash
~$ 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.
```bash
sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
```
<details>
<summary><strong>Aprenda hacking 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 maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* 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)
* **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 seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>