Содержание статьи
- Проблематика, импакт и вооружение
- Протокол OSPF
- Протокол EIGRP
- Импакт
- Вооружение с FRRouting
- Настройка FRRouting
- Виртуальная лаборатория
- Инъекция маршрутов и перехват трафика в домене OSPF
- Инъекция маршрутов и переполнение таблицы маршрутизации в домене EIGRP
- Меры предотвращения атак на домены маршрутизации
- Выводы
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Динамическая маршрутизация применяется в каждой крупной корпоративной сети. Роутеры в сети обмениваются маршрутной информацией друг с другом автоматически, чтобы администратор сети не обходил их и не прописывал маршруты вручную. В большинстве случаев он не трогает и настройки защитных механизмов. И это открывает дорогу для эксплуатации.
info
Имей в виду, что протоколы OSPF и EIGRP относятся к классу протоколов внутридоменной динамической маршрутизации (IGP). То есть эти протоколы используются для передачи маршрутной информации в пределах одной автономной системы (AS). Для удобства можешь представлять ее себе как сеть некоторой организации.
Проблематика, импакт и вооружение
Протокол OSPF
OSPF (Open Shortest Path First) относится к типу протоколов, основанных на отслеживании состояния канала. Атаковать OSPF немного сложнее, чем его родственника EIGRP. Помешать этому могут две вещи:
- наличие нескольких зон OSPF. Инженеры могут спроектировать домен маршрутизации OSPF с несколькими зонами, чтобы уменьшить нагрузку на вычислительные ресурсы маршрутизаторов. Необходимо учитывать это в домене маршрутизации OSPF, как и возможность прохождения пакетов между этими зонами. Например, если ты собираешься выполнять инъекции маршрутов;
- отсутствие реакции на запросы. Для подключения к домену маршрутизации необходимо, чтобы ложный маршрутизатор генерировал и принимал сообщения
Hello
от соседей и воспроизводил установление соседства с ними. Иначе ложный роутер будет признан «мертвым» и выпадет из домена маршрутизации, делая невозможными дальнейшие шаги со стороны атакующего.
Оптимальный вариант для атаки на домен OSPF — это получение контроля над легитимным маршрутизатором в сети. Как вариант можно на своей стороне создать «злой» виртуальный роутер и подключаться к домену. Однако, чтобы подключиться к домену маршрутизации, атакующий должен провести анализ мультикастовых пакетов OSPF и изучить следующие параметры в пакете:
- OSPF Hello Interval;
- OSPF Dead Interval;
- наличие аутентификации.
Даже несмотря на то, что OSPF может быть защищен с помощью аутентификации и пароли хранятся в виде хешей MD5, у атакующего остается шанс подобрать их.
Протокол EIGRP
EIGRP (Enhanced Interior Gateway Routing Protocol) относится к классу дистанционно‑векторных протоколов. Он был разработан инженерами Cisco Systems в качестве замены протокола IGRP. Маршрутизаторы EIGRP обмениваются маршрутной информацией, используя алгоритм диффузного обновления (DUAL) для расчета маршрутов в рамках одной AS. EIGRP хранит в таблице маршрутизации все доступные резервные маршруты к сетям назначения, что позволяет в крайнем случае быстро переключиться на запасной маршрут.
info
Знаешь ли ты, что протокол EIGRP больше не проприетарный протокол Cisco и теперь открыт для других вендоров сетевого оборудования? EIGRP стал открытым стандартом в 2013 году, а информационный документ RFC 7868 был опубликован в 2016 году.
Чтобы злоумышленник смог подключиться к домену маршрутизации EIGRP, он должен знать номер автономной системы. Узнать его он может, например, из дампа трафика в Wireshark. В отличие от домена OSPF, который может быть разделен на несколько зон маршрутизации, автономная система EIGRP плоская, то есть, если ты проведешь инъекцию маршрута, скорее всего, твой маршрут распространится по всему домену.
Импакт
Атаки на динамическую маршрутизацию можно разбить на три типа:
- Перечисление сети. Если злоумышленник подключится к домену маршрутизации, то он сможет провести сетевую разведку и обнаружить некоторые подсети. Это достаточно полезный трюк, поскольку классическое сканирование, например с использованием того же Nmap, идет долго. Не говоря уже о том, что могут сработать системы безопасности IDS/IPS. Просто присоединившись к домену маршрутизации, мы сможем получить информацию о подсетях, анонсируемых соседскими маршрутизаторами. Заметь, этот способ вовсе не гарантирует того, что ты сможешь обнаружить все подсети в организации. Но может привести тебя к более легкой победе во время пентеста.
- MITM (man in the middle). Суть этой атаки заключается в инъекции маршрута, чтобы затем перехватить трафик с целевого хоста или же сети. После подключения к домену маршрутизации ты можешь в домене сделать анонс, который буквально выглядит так: «Уважаемые, хост под IP-адресом 192.168.1.43/24 теперь доступен через меня, 192.168.1.150». Маршрутизаторы в домене примут новую информацию и поместят анонсированный тобой маршрут в таблицу маршрутизации. Стоит только учитывать, что в контексте маршрутизации есть понятие метрики. Если твой маршрут по цене пути будет хуже, чем остальные, то он не попадет в таблицу маршрутизации. Почему? Потому что в таблице маршрутизации хранятся только лучшие пути до сетей назначения.
- DoS (Denial of Service). Переполнение таблицы маршрутизации. При этом у роутера истощаются все ресурсы центрального процессора и оперативной памяти. При переполнении таблицы маршрутизации добавить новый легитимный маршрут станет невозможно. Маршрутизатор не сможет добавить к себе маршрут новой появившейся сети.
Вооружение с FRRouting
FRRouting — это опенсорсное решение, предназначенное для создания виртуального маршрутизатора в Unix/Linux. FRRouting позволяет реализовать виртуальный маршрутизатор, поддерживающий протоколы BGP, OSPF, EIGRP, RIP и другие.
С помощью FRRouting мы сможем поднять на своей стороне «злой» маршрутизатор, запустить роутинг и подключиться к целевому домену маршрутизации. Зачем это нужно? Например, если мы проведем ту же инъекцию маршрутов без подключения к домену и установления соседства, то анонсируемые нами маршруты не попадут в таблицу маршрутизации соседей. Они просто улетят в никуда.
www
У FRRouting есть отличная документация по установке и настройке. Советую ознакомиться.
Настройка FRRouting
Для начала нам нужно активировать работу демонов в конфигурационном файле daemons
. Нас интересуют демоны ospfd
и eigrpd
. Также необходимо активировать работу демона staticd
, чтобы редистрибуция настраиваемых статических маршрутов работала корректно.
nano /etc/frr/daemons
ospfd=yeseigrpd=yesstaticd=yes
Далее нужно назначить пароль для подключения к панели управления маршрутизатором через линии VTY:
nano /etc/frr/frr.conf
password letm3in
Также необходимо разрешить форвардинг трафика. По умолчанию в дистрибутивах Linux он отключен.
sudo sysctl -w net.ipv4.ip_forward=1
Запускаем демон frr
.
systemctl start frr
С помощью команды vtysh
попадаем в панель управления виртуальным маршрутизатором FRRouting.
Виртуальная лаборатория
В качестве сетевого полигона для практического разбора атак выступят сети, изображенные на схемах ниже.
В контексте атаки на OSPF я рассмотрю инъекцию маршрута с перехватом трафика. Что касается EIGRP — разберем разрушительную атаку с переполнением таблицы маршрутизации (чтобы не демонстрировать одну и ту же атаку и рассмотреть два варианта нападения). OSPF можно атаковать так же, как и EIGRP. Однако стоит учитывать, что разрушительные атаки в продакшене менее практичны. Думаю, такой сценарий будет полезен для Red Team в качестве отвлекающего маневра.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»