* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**Esta página fue copiada de** [**https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9**](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
## Atacando el protocolo EIGRP <a href="#0f82" id="0f82"></a>
**EIGRP (Protocolo de enrutamiento de puerta de enlace interior mejorado)** es un protocolo de enrutamiento dinámico. **Es un protocolo vector de distancia.****Si no hay autenticación y configuración de interfaces pasivas, un intruso puede interferir en el enrutamiento EIGRP y causar envenenamiento de tablas de enrutamiento.****Además, la red EIGRP (en otras palabras, el sistema autónomo) es plana y no tiene segmentación en ninguna zona.** ¿Qué podría significar esto para un atacante? Bueno, si inyecta una ruta, es probable que esta ruta se propague por todo el sistema autónomo EIGRP.
En primer lugar, atacar un sistema EIGRP independiente requiere establecer una vecindad con un enrutador EIGRP legítimo, lo que abre muchas posibilidades, desde reconocimiento básico hasta varias inyecciones.
Para esto usaré [**FRRouting**](https://frrouting.org/). Este es un software de código abierto diseñado para crear un enrutador en Unix y Linux. **FRRouting** te permite implementar **un enrutador virtual que admite BGP, OSPF, EIGRP, RIP y otros protocolos.** Todo lo que necesitas hacer es implementarlo en el sistema del atacante y puedes fingir ser un enrutador legítimo en el dominio de enrutamiento. Te mostraré cómo implementar FRR en tu sistema en la siguiente sección.
### Inteligencia de red <a href="#41e6" id="41e6"></a>
**Conectarse al dominio de enrutamiento nos permite hacer enumeración y reconocimiento de redes y no pasar mucho tiempo escaneando.** Este método te ahorra mucho tiempo valioso. **Además, al escanear, puedes ser detectado por sistemas de seguridad IPS/IDS.** Para mí, conectarse al dominio y la enumeración es el vector de ataque en los dominios de enrutamiento que te da el mayor impacto. Pero para hacer esto necesitas implementar **FRRouting**. Aquí vamos.
**Es necesario editar el archivo de configuración daemons.** Contiene las configuraciones de los demonios en el contexto de su actividad. Ya sea que estén habilitados (sí) o no (no). Necesitamos activar el demonio **eigrpd**.
Después de eso, es necesario corregir el archivo **vtysh.conf** agregando una línea responsable de guardar la configuración en un solo archivo, para que las configuraciones de diferentes protocolos no se dispersen en diferentes archivos **(por ejemplo, eigrpd.conf, staticd.conf).** Es configurable opcionalmente.
La configuración de FRRouting está lista. Ahora es el momento de ejecutar el demonio de FRR. Y sí, necesitamos habilitar el enrutamiento de tráfico. Por defecto, está deshabilitado en las distribuciones de Linux.
EIGRP (Enhanced Interior Gateway Routing Protocol) is a Cisco proprietary routing protocol that is widely used in enterprise networks. It is an advanced distance-vector routing protocol that uses Diffusing Update Algorithm (DUAL) to calculate the shortest path to a destination network. EIGRP is a classless routing protocol that supports variable-length subnet masks (VLSM) and route summarization.
EIGRP uses a hierarchical network design that consists of multiple autonomous systems (AS). Each AS is identified by a unique number called Autonomous System Number (ASN). EIGRP routers within the same AS exchange routing information using EIGRP packets. EIGRP packets are sent using multicast address 224.0.0.10.
EIGRP is vulnerable to various attacks that can be used to disrupt network operations or steal sensitive information. The following are some of the common EIGRP attacks:
- **Eavesdropping**: An attacker can use a packet sniffer to capture EIGRP packets and extract sensitive information such as network topology, IP addresses, and passwords.
- **Spoofing**: An attacker can spoof EIGRP packets to inject false routing information or modify existing routing information. This can cause network congestion, black holes, or routing loops.
- **DoS**: An attacker can launch a DoS (Denial of Service) attack by flooding the network with EIGRP packets or by sending malformed EIGRP packets that can crash EIGRP routers.
- **Brute force**: An attacker can use a brute-force attack to guess the plain-text password used for EIGRP authentication.
- **MD5 hash leak**: If an attacker can obtain the MD5 hash of the shared secret key used for EIGRP authentication, they can use a brute-force attack to guess the key and authenticate themselves as a legitimate EIGRP router.
> **Sin embargo, no olvides que el dominio de enrutamiento EIGRP puede estar protegido por autenticación. Pero aún tienes la oportunidad de conectarte al dominio de enrutamiento. Cuando se envían paquetes hello, también contienen hashes criptográficos. Si puedes extraer estos hashes del volcado de tráfico y restablecer la contraseña, puedes iniciar sesión en el dominio de enrutamiento con esta contraseña.**
Durante el establecimiento y mantenimiento de la vecindad entre los routers EIGRP, los routers intercambian su información de enrutamiento. Después de que se establece la vecindad, aparecerán nuevas rutas en nuestra tabla de enrutamiento del sistema atacante, a saber:
Así, después de establecer la vecindad, sabemos sobre la existencia de estas subredes, lo que nos facilita la prueba de penetración y nos ahorra tiempo. Podemos prescindir del escaneo adicional de subredes. Ahora estamos en el dominio de enrutamiento EIGRP y podemos desarrollar algunos vectores de ataque. Hablemos de ellos.
**He descubierto que generar y enviar rápidamente paquetes de saludo EIGRP masivos sobrecarga la CPU del router, lo que a su vez puede abrir la puerta a un ataque DoS.** He desarrollado un pequeño script [**helloflooding.py**](https://github.com/in9uz/EIGRPWN/blob/main/helloflooding.py), pero me parece que el script carece de velocidad para enviar los paquetes. **Esto se debe a GIL**, que impide que la función **sprayhello** se ejecute en múltiples hilos por segundo. **Eventualmente reescribiré el script en C.**
La esencia de este ataque es la simple inyección de una ruta falsa que envenenará la tabla de enrutamiento. El tráfico hacia, digamos, la red `10.10.100.0/24` no llegará a ninguna parte, causando una denegación de servicio. Este tipo de ataque se llama agujero negro. La herramienta utilizada para realizarlo será el script [**routeinject.py**](https://github.com/in9uz/EIGRPWN/blob/main/routeinject.py). Para este ejemplo, enviaré tráfico destinado al host `172.16.100.140/32` al agujero negro.
### Abusando de los valores K <a href="#25aa" id="25aa"></a>
Para establecer vecinos EIGRP, **los routers usan valores K especiales.** Estos deben ser iguales entre todos los vecinos EIGRP. Si al menos un valor K no coincide, el dominio EIGRP se bloqueará y la vecindad se romperá. Usaremos [**relationshipnightmare.py**](https://github.com/in9uz/EIGRPWN/blob/main/relationshipnightmare.py) \*\*\*\* para realizar este ataque\*\*.\*\*
**En nombre de la dirección IP especificada se enviará una inyección en la dirección IP multicast de EIGRP, en la que los valores K son diferentes.** En mi caso, romperé la vecindad en nombre del router GW1 **(la dirección es 10.10.100.100)**.
<figure><imgsrc="../../.gitbook/assets/image (9) (1) (4).png"alt=""><figcaption><p>Volcado de tráfico durante una interrupción de vecindario</p></figcaption></figure>
<figure><imgsrc="../../.gitbook/assets/image (27) (1).png"alt=""><figcaption><p>El router GW1 se desconecta y reconecta infinitamente a EIGRP</p></figcaption></figure>
**Un ataque DoS puede llevarse a cabo de esta manera. Durante la operación, ocurren interrupciones y intentos de vecindario infinitos, paralizando parte del dominio de enrutamiento EIGRP.**
La esencia de este ataque es provocar el envío de una gran cantidad de rutas falsas, que desbordarán la tabla de enrutamiento. Esto agota los recursos informáticos del router, es decir, la CPU y la RAM, ya que las inyecciones ocurren a una velocidad enorme. Este ataque se implementa con el script [**routingtableoverflow.py**](https://github.com/in9uz/EIGRPWN/blob/main/routingtableoverflow.py).
Después de ejecutar el script, la tabla de enrutamiento comienza a desbordarse con rutas. Las direcciones aleatorias de las redes objetivo se deben al uso de **RandIP()** en [**Scapy**](https://github.com/secdev/scapy).
<figure><imgsrc="../../.gitbook/assets/image (4) (4).png"alt=""><figcaption><p>Tabla de enrutamiento desbordada en el router GW1</p></figcaption></figure>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).