Routing nightmare. Как пентестить протоколы динамической маршрутизации OSPF и EIGRP

Содержание статьи

  • Проблематика, импакт и вооружение
  • Протокол OSPF
  • Протокол EIGRP
  • Импакт
  • Вооружение с FRRouting
  • Настройка FRRouting
  • Виртуальная лаборатория
  • Инъекция маршрутов и перехват трафика в домене OSPF
  • Инъекция маршрутов и переполнение таблицы маршрутизации в домене EIGRP
  • Меры предотвращения атак на домены маршрутизации
  • Выводы

Вол­шебс­тво и оча­рова­ние про­токо­лов динами­чес­кой мар­шру­тиза­ции быва­ет обманчи­вым — адми­нис­тра­торы им доверя­ются и могут забыть о нас­трой­ке защит­ных средств. В этой статье я рас­ска­жу, какие кош­мары могут воз­никнуть в сети, если админ не позабо­тил­ся о безопас­ности доменов роутин­га OSPF и EIGRP.

warning

Статья име­ет озна­коми­тель­ный харак­тер и пред­назна­чена для спе­циалис­тов по безопас­ности, про­водя­щих тес­тирова­ние в рам­ках кон­трак­та. Автор и редак­ция не несут ответс­твен­ности за любой вред, при­чинен­ный с при­мене­нием изло­жен­ной информа­ции. Рас­простра­нение вре­донос­ных прог­рамм, наруше­ние работы сис­тем и наруше­ние тай­ны перепис­ки прес­леду­ются по закону.

Ди­нами­чес­кая мар­шру­тиза­ция при­меня­ется в каж­дой круп­ной кор­поратив­ной сети. Роуте­ры в сети обме­нива­ются мар­шрут­ной информа­цией друг с дру­гом авто­мати­чес­ки, что­бы адми­нис­тра­тор сети не обхо­дил их и не про­писы­вал мар­шру­ты вруч­ную. В боль­шинс­тве слу­чаев он не тро­гает и нас­трой­ки защит­ных механиз­мов. И это откры­вает дорогу для экс­плу­ата­ции.

info

Имей в виду, что про­токо­лы OSPF и EIGRP отно­сят­ся к клас­су про­токо­лов внут­ридомен­ной динами­чес­кой мар­шру­тиза­ции (IGP). То есть эти про­токо­лы исполь­зуют­ся для переда­чи мар­шрут­ной информа­ции в пре­делах одной авто­ном­ной сис­темы (AS). Для удобс­тва можешь пред­став­лять ее себе как сеть некото­рой орга­низа­ции.

 

Проблематика, импакт и вооружение

 

Протокол OSPF

OSPF (Open Shortest Path First) отно­сит­ся к типу про­токо­лов, осно­ван­ных на отсле­жива­нии сос­тояния канала. Ата­ковать OSPF нем­ного слож­нее, чем его родс­твен­ника EIGRP. Помешать это­му могут две вещи:

  • на­личие нес­коль­ких зон OSPF. Инже­неры могут спро­екти­ровать домен мар­шру­тиза­ции OSPF с нес­коль­кими зонами, что­бы умень­шить наг­рузку на вычис­литель­ные ресур­сы мар­шру­тиза­торов. Необ­ходимо учи­тывать это в домене мар­шру­тиза­ции OSPF, как и воз­можность про­хож­дения пакетов меж­ду эти­ми зонами. Нап­ример, если ты собира­ешь­ся выпол­нять инъ­екции мар­шру­тов;
  • от­сутс­твие реак­ции на зап­росы. Для под­клю­чения к домену мар­шру­тиза­ции необ­ходимо, что­бы лож­ный мар­шру­тиза­тор генери­ровал и при­нимал сооб­щения Hello от соседей и вос­про­изво­дил уста­нов­ление соседс­тва с ними. Ина­че лож­ный роутер будет приз­нан «мер­твым» и выпадет из домена мар­шру­тиза­ции, делая невоз­можны­ми даль­нейшие шаги со сто­роны ата­кующе­го.

Ус­танов­ление соседс­тва OSPF

Оп­тималь­ный вари­ант для ата­ки на домен OSPF — это получе­ние кон­тро­ля над легитим­ным мар­шру­тиза­тором в сети. Как вари­ант мож­но на сво­ей сто­роне соз­дать «злой» вир­туаль­ный роутер и под­клю­чать­ся к домену. Одна­ко, что­бы под­клю­чить­ся к домену мар­шру­тиза­ции, ата­кующий дол­жен про­вес­ти ана­лиз муль­тикас­товых пакетов OSPF и изу­чить сле­дующие парамет­ры в пакете:

  • OSPF Hello Interval;
  • OSPF Dead Interval;
  • на­личие аутен­тифика­ции.

Да­же нес­мотря на то, что OSPF может быть защищен с помощью аутен­тифика­ции и пароли хра­нят­ся в виде хешей MD5, у ата­кующе­го оста­ется шанс подоб­рать их.

Взло­ман­ный пароль от домена OSPF с помощью инс­тру­мен­та Loki 

Протокол EIGRP

EIGRP (Enhanced Interior Gateway Routing Protocol) отно­сит­ся к клас­су дис­танци­онно‑век­торных про­токо­лов. Он был раз­работан инже­нера­ми Cisco Systems в качес­тве замены про­токо­ла IGRP. Мар­шру­тиза­торы EIGRP обме­нива­ются мар­шрут­ной информа­цией, исполь­зуя алго­ритм диф­фузно­го обновле­ния (DUAL) для рас­чета мар­шру­тов в рам­ках одной AS. EIGRP хра­нит в таб­лице мар­шру­тиза­ции все дос­тупные резер­вные мар­шру­ты к сетям наз­начения, что поз­воля­ет в край­нем слу­чае быс­тро перек­лючить­ся на запас­ной мар­шрут.

Ус­танов­ление соседс­тва 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

    Сос­тояние демона FRRouting

    С помощью коман­ды vtysh попада­ем в панель управле­ния вир­туаль­ным мар­шру­тиза­тором FRRouting.

    Вход в панель управле­ния 

    Виртуальная лаборатория

    В качес­тве сетево­го полиго­на для прак­тичес­кого раз­бора атак выс­тупят сети, изоб­ражен­ные на схе­мах ниже.

    Сеть с исполь­зовани­ем OSPF

    Сеть с исполь­зовани­ем EIGRP

    IP-адре­сация полиго­на

    В кон­тек­сте ата­ки на OSPF я рас­смот­рю инъ­екцию мар­шру­та с перех­ватом тра­фика. Что каса­ется EIGRP — раз­берем раз­рушитель­ную ата­ку с перепол­нени­ем таб­лицы мар­шру­тиза­ции (что­бы не демонс­три­ровать одну и ту же ата­ку и рас­смот­реть два вари­анта нападе­ния). OSPF мож­но ата­ковать так же, как и EIGRP. Одна­ко сто­ит учи­тывать, что раз­рушитель­ные ата­ки в про­дак­шене менее прак­тичны. Думаю, такой сце­нарий будет полезен для Red Team в качес­тве отвле­кающе­го манев­ра.

    Источник: xakep.ru

    Ответить

    Ваш адрес email не будет опубликован. Обязательные поля помечены *