22 KiB
Attaques EIGRP
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
Cette page a été copiée depuis https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
Attaquer le protocole EIGRP
EIGRP (Enhanced Interior Gateway Routing Protocol) est un protocole de routage dynamique. C'est un protocole de vecteur de distance. S'il n'y a pas d'authentification et de configuration des interfaces passives, un intrus peut interférer avec le routage EIGRP et causer une empoisonnement des tables de routage. De plus, le réseau EIGRP (en d'autres termes, le système autonome) est plat et n'a pas de segmentation en zones. Que cela pourrait-il signifier pour un attaquant ? Eh bien, s'il injecte une route, il est probable que cette route se propage dans tout le système autonome EIGRP.
Tout d'abord, attaquer un système EIGRP autonome nécessite d'établir une relation de voisinage avec un routeur EIGRP légitime, ce qui ouvre de nombreuses possibilités, de la reconnaissance de base à diverses injections.
Pour cela, j'utiliserai FRRouting. Il s'agit d'un logiciel open source conçu pour créer un routeur dans Unix et Linux. FRRouting vous permet de mettre en place un routeur virtuel qui prend en charge BGP, OSPF, EIGRP, RIP et d'autres protocoles. Tout ce que vous avez à faire est de le déployer sur votre système d'attaquant et vous pouvez en fait prétendre être un routeur légitime dans le domaine de routage. Je vais vous montrer comment déployer FRR sur votre système dans la section suivante.
Intelligence réseau
Se connecter au domaine de routage nous permet de faire l'énumération et la reconnaissance des réseaux et de ne pas passer beaucoup de temps à scanner. Cette méthode vous fait gagner beaucoup de temps précieux. De plus, en scannant, vous pouvez vous faire repérer devant les systèmes de sécurité IPS/IDS. Pour moi, la connexion au domaine et l'énumération sont le vecteur d'attaque sur les domaines de routage qui vous donne le plus d'impact. Mais pour cela, vous devez déployer FRRouting. C'est parti.
Il est nécessaire de modifier le fichier de configuration daemons. Il contient les configurations des démons dans le contexte de leur activité. Soit ils sont activés (yes) soit non (no). Nous devons activer le démon eigrpd.
~# nano /etc/frr/daemons
eigrpd=yes
Ensuite, vous devez corriger le fichier vtysh.conf en ajoutant une ligne responsable de la sauvegarde de la configuration dans un fichier, afin que les configurations de différents protocoles ne soient pas dispersées dans différents fichiers (par exemple, eigrpd.conf, staticd.conf). Cela est configurable en option.
~# nano /etc/frr/vtysh.conf
service integrated-vtysh-config
La configuration de FRRouting est terminée. Maintenant, il est temps d'exécuter le démon FRR. Et oui, nous devons activer le routage du trafic. Par défaut, il est désactivé dans les distributions Linux.
~$ sudo systemctl start frr
~$ sudo sysctl -w net.ipv4.ip_forward=1
La commande vtysh nous amènera au panneau de contrôle du routeur FRR.
~$ sudo vtysh
English Input:
## EIGRP Attacks
EIGRP (Enhanced Interior Gateway Routing Protocol) is a Cisco proprietary routing protocol that is used to share routing information between routers. EIGRP is a distance vector protocol that uses bandwidth and delay as its metrics. EIGRP is a reliable protocol that is easy to configure and troubleshoot. However, EIGRP is vulnerable to various attacks that can compromise the confidentiality, integrity, and availability of the network.
### EIGRP Authentication Attacks
EIGRP supports authentication to prevent unauthorized access to the routing information. EIGRP authentication can be configured using a key chain or a static key. However, EIGRP authentication is vulnerable to various attacks that can bypass or crack the authentication mechanism.
#### EIGRP Key Chain Attacks
An EIGRP key chain is a sequence of keys that are used to authenticate EIGRP packets. Each key in the key chain has a key ID, a key string, and a cryptographic algorithm. The key ID is a number that identifies the key in the key chain. The key string is a password that is used to generate the message digest. The cryptographic algorithm is used to generate the message digest.
An EIGRP key chain can be attacked in various ways, such as:
- **Key ID Spoofing**: An attacker can spoof the key ID in an EIGRP packet to bypass the authentication mechanism. The attacker can send an EIGRP packet with a valid key ID that belongs to another router in the network. This can trick the receiving router into accepting the packet as authentic.
- **Key String Cracking**: An attacker can crack the key string in an EIGRP packet to generate a valid message digest. The attacker can use various tools and techniques to crack the key string, such as brute-force, dictionary attack, rainbow table attack, etc.
#### EIGRP Static Key Attacks
An EIGRP static key is a password that is used to authenticate EIGRP packets. The static key is configured on each router that participates in the EIGRP process. The static key is vulnerable to various attacks that can bypass or crack the authentication mechanism.
An EIGRP static key can be attacked in various ways, such as:
- **Password Guessing**: An attacker can guess the static key by using various tools and techniques, such as brute-force, dictionary attack, etc.
- **Packet Sniffing**: An attacker can sniff the EIGRP packets that contain the static key and use it to generate a valid message digest.
### EIGRP DoS Attacks
EIGRP is vulnerable to various DoS (Denial of Service) attacks that can disrupt the normal operation of the network. EIGRP DoS attacks can be launched using various tools and techniques, such as:
- **EIGRP Hello Flood**: An attacker can flood the network with EIGRP Hello packets to consume the bandwidth and resources of the network. This can cause the network to become slow or unresponsive.
- **EIGRP Route Poisoning**: An attacker can send false routing information to the network to mislead the routers and cause routing loops. This can cause the network to become unstable or unreachable.
- **EIGRP Authentication Failure**: An attacker can send invalid EIGRP packets to the network to trigger authentication failures. This can cause the routers to reset their EIGRP process and disrupt the normal operation of the network.
French Output:
## Attaques EIGRP
EIGRP (Enhanced Interior Gateway Routing Protocol) est un protocole de routage propriétaire de Cisco qui est utilisé pour partager des informations de routage entre les routeurs. EIGRP est un protocole de vecteur de distance qui utilise la bande passante et le délai comme métriques. EIGRP est un protocole fiable qui est facile à configurer et à dépanner. Cependant, EIGRP est vulnérable à diverses attaques qui peuvent compromettre la confidentialité, l'intégrité et la disponibilité du réseau.
### Attaques d'authentification EIGRP
EIGRP prend en charge l'authentification pour empêcher l'accès non autorisé aux informations de routage. L'authentification EIGRP peut être configurée à l'aide d'une chaîne de clés ou d'une clé statique. Cependant, l'authentification EIGRP est vulnérable à diverses attaques qui peuvent contourner ou craquer le mécanisme d'authentification.
#### Attaques de chaîne de clés EIGRP
Une chaîne de clés EIGRP est une séquence de clés qui sont utilisées pour authentifier les paquets EIGRP. Chaque clé de la chaîne de clés a un identifiant de clé, une chaîne de clé et un algorithme cryptographique. L'identifiant de clé est un numéro qui identifie la clé dans la chaîne de clés. La chaîne de clé est un mot de passe qui est utilisé pour générer la somme de contrôle du message. L'algorithme cryptographique est utilisé pour générer la somme de contrôle du message.
Une chaîne de clés EIGRP peut être attaquée de diverses manières, telles que:
- **Spoofing d'identifiant de clé**: Un attaquant peut usurper l'identifiant de clé dans un paquet EIGRP pour contourner le mécanisme d'authentification. L'attaquant peut envoyer un paquet EIGRP avec un identifiant de clé valide qui appartient à un autre routeur du réseau. Cela peut tromper le routeur récepteur en acceptant le paquet comme authentique.
- **Craquage de chaîne de clé**: Un attaquant peut craquer la chaîne de clé dans un paquet EIGRP pour générer une somme de contrôle valide. L'attaquant peut utiliser divers outils et techniques pour craquer la chaîne de clé, telles que la force brute, l'attaque par dictionnaire, l'attaque par table arc-en-ciel, etc.
#### Attaques de clé statique EIGRP
Une clé statique EIGRP est un mot de passe qui est utilisé pour authentifier les paquets EIGRP. La clé statique est configurée sur chaque routeur qui participe au processus EIGRP. La clé statique est vulnérable à diverses attaques qui peuvent contourner ou craquer le mécanisme d'authentification.
Une clé statique EIGRP peut être attaquée de diverses manières, telles que:
- **Deviner le mot de passe**: Un attaquant peut deviner la clé statique en utilisant divers outils et techniques, telles que la force brute, l'attaque par dictionnaire, etc.
- **Sniffing de paquets**: Un attaquant peut renifler les paquets EIGRP qui contiennent la clé statique et l'utiliser pour générer une somme de contrôle valide.
### Attaques DoS EIGRP
EIGRP est vulnérable à diverses attaques DoS (Déni de Service) qui peuvent perturber le fonctionnement normal du réseau. Les attaques DoS EIGRP peuvent être lancées à l'aide de divers outils et techniques, telles que:
- **Inondation de Hello EIGRP**: Un attaquant peut inonder le réseau avec des paquets Hello EIGRP pour consommer la bande passante et les ressources du réseau. Cela peut rendre le réseau lent ou non réactif.
- **Empoisonnement de route EIGRP**: Un attaquant peut envoyer de fausses informations de routage au réseau pour tromper les routeurs et provoquer des boucles de routage. Cela peut rendre le réseau instable ou inaccessible.
- **Échec d'authentification EIGRP**: Un attaquant peut envoyer des paquets EIGRP invalides au réseau pour déclencher des échecs d'authentification. Cela peut amener les routeurs à réinitialiser leur processus EIGRP et perturber le fonctionnement normal du réseau.
Inguz# show version
Cependant, n'oubliez pas que le domaine de routage EIGRP peut être protégé par une authentification. Mais vous avez toujours une chance de vous connecter au domaine de routage. Lorsque les paquets hello sont envoyés, ils contiennent également des hachages cryptographiques. Si vous pouvez extraire ces hachages de l'extraction de trafic et réinitialiser le mot de passe, vous pouvez vous connecter au domaine de routage avec ce mot de passe.
Accédez au mode de configuration globale et démarrez le processus EIGRP, spécifiez le numéro du système autonome - 1
Et nous devons également déclarer le réseau dans lequel nous sommes. Nous sommes dans le réseau 10.10.100.0/24. Mon adresse est 10.10.100.50/32
Inguz# configInguz(config)# router eigrp 1Inguz(config-router) network 10.10.100.50/32
Ensuite, le voisinage entre les routeurs EIGRP légitimes est établi. Il y en a deux sur mon réseau :
- GW1 (10.10.100.100)
- GW2 (10.10.100.200)
Voisinage EIGRP avec GW1 (10.10.100.100) :
Voisinage EIGRP avec GW2 (10.10.100.200) :
Pendant l'établissement et la maintenance du voisinage entre les routeurs EIGRP, les routeurs échangent leurs informations de routage. Après l'établissement du voisinage, de nouvelles routes apparaîtront dans notre table de routage du système attaquant, à savoir :
- 10.1.239.0/24 via 10.10.100.100 ;
- 30.30.30.0/24 via 10.10.100.100 ;
- 100.100.100.0/24 via 10.10.100.100 ;
- 172.16.100.0/24 via 10.10.100.200
Ainsi, après l'établissement du voisinage, nous connaissons l'existence de ces sous-réseaux, ce qui facilite notre pentest et nous fait gagner du temps. Nous pouvons nous passer de la numérisation de sous-réseau supplémentaire. Maintenant, nous sommes dans le domaine de routage EIGRP et nous pouvons développer quelques vecteurs d'attaque. Parlons-en.
Faux voisins EIGRP
J'ai découvert que la génération et l'envoi rapide de paquets EIGRP hello en masse surchargent le CPU du routeur, ce qui peut ouvrir la porte à une attaque DoS. J'ai développé un petit script helloflooding.py, mais il me semble que le script manque de vitesse d'envoi des paquets. Cela est dû à GIL, qui empêche la fonction sprayhello de s'exécuter en plusieurs threads par seconde. Finalement, je réécrirai le script en C.
Arguments du script :
- Interface du système attaquant (eth0) ;
- Numéro de système autonome EIGRP (1) ;
- Sous-réseau où se trouve le système attaquant. Dans mon cas, le sous-réseau est 10.10.100.0/24
~$ sudo python3 helloflooding.py --interface eth0 --as 1 --subnet 10.10.100.0/24
Blackhole EIGRP
L'essence de cette attaque est une simple injection d'une fausse route qui empoisonnera la table de routage. Le trafic vers, disons, le réseau 10.10.100.0/24
ne mènera nulle part, causant un déni de service. Une telle attaque est appelée un Blackhole. Le script routeinject.py sera l'outil utilisé pour la réaliser. Pour cet exemple, je vais envoyer du trafic destiné à l'hôte 172.16.100.140/32
vers le trou noir.
Arguments du script:
- interface du système attaquant
- numéro AS EIGRP
- adresse IP de l'attaquant
- adresse IP du sous-réseau cible dont le trafic sera envoyé vers le trou noir
- masque de sous-réseau cible
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
Notre hôte semble avoir des problèmes :)
Comme vous pouvez le voir, l'hôte perd la connectivité avec l'hôte 172.16.100.140/32 en raison de l'injection de route.
Abus des valeurs K
Pour établir des voisins EIGRP, les routeurs utilisent des valeurs K spéciales. Ils doivent être identiques parmi tous les voisins EIGRP. Si au moins une valeur K ne correspond pas, le domaine EIGRP se bloquera et le voisinage sera rompu. Nous utiliserons relationshipnightmare.py **** pour effectuer cette attaque**.**
Arguments du script :
- interface réseau
- numéro AS EIGRP
- adresse IP du routeur légitime
Au nom de l'adresse IP spécifiée, une injection sera envoyée sur l'adresse IP EIGRP multicast, dans laquelle les valeurs K sont différentes. Dans mon cas, je vais rompre le voisinage au nom du routeur GW1 (l'adresse est 10.10.100.100).
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
Une attaque DoS peut être effectuée de cette manière. Pendant l'opération, des interruptions et des tentatives de voisinage sans fin se produisent, paralysant une partie du domaine de routage EIGRP.
Débordement de table de routage
L'essence de cette attaque est de provoquer l'envoi d'un grand nombre de fausses routes, qui vont déborder la table de routage. Cela épuise les ressources informatiques du routeur, à savoir le CPU et la RAM, car les injections se produisent à une vitesse énorme. Cette attaque est mise en œuvre par le script routingtableoverflow.py.
Arguments du script
- interface réseau
- Numéro AS EIGRP
- Adresse IP de l'attaquant
in9uz@Inguz:~$ sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
Après l'exécution du script, la table de routage commence à déborder de routes. Les adresses aléatoires des réseaux cibles sont dues à l'utilisation de RandIP() dans Scapy.
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.