Категория > Новости > Cisco Nightmare. Большой гайд по пентесту сетей Cisco - «Новости»

Cisco Nightmare. Большой гайд по пентесту сетей Cisco - «Новости»


23-07-2022, 00:02. Автор: Turner
Ettercap[/b]. Для начала необ­ходимо перек­лючить интерфейс в нераз­борчи­вый режим и раз­решить мар­шру­тиза­цию:
necreas1ng@Inguz:~sudo sysctl -wnet.ipv4.ip_forward=1

За­пус­каем Ettercap:


Ettercap

В качес­тве прос­лушива­юще­го интерфей­са выс­тупит eth0. Запус­тим ска­ниро­вание хос­тов.


Ска­ниро­вание хос­тов

Target 1 будет хост с IP-адре­сом 10.10.100.10, а Target 2 — 10.10.100.70.


Про­водим ARP-спу­финг про­тив двух целей.


На­чало ARP-спу­фин­га 

Шаг 2: Loki


Те­перь необ­ходимо запус­тить Loki. Это спе­циаль­ный инс­тру­мент, соз­данный для ана­лиза безопас­ности про­токо­лов L2/L3. По воз­можнос­тям он не хуже той же популяр­ной Yersinia и сос­тавля­ет ей серь­езную кон­курен­цию. Loki так­же уме­ет брут­форсить клю­чи TACACS. В слу­чае успе­ха брут­форса клю­ча в зашиф­рован­ном виде (обыч­но он зашиф­рован в фор­мате MD5) мы смо­жем получить дос­туп к обо­рудо­ванию и рас­шифро­вать зашиф­рован­ный TACACS-тра­фик.


Читайте также - Официальный сайт Легзо Казино - это лицензионные игровые автоматы, слоты, ставки на спорт, а также выгодные предложения. Начинай играть в игровые автоматы на лучших официальных casino online с бонусом.

За­пус­каем Loki:


Вы­бира­ем интерфейс для ата­ки.


Cisco Nightmare. Большой гайд по пентесту сетей Cisco - «Новости»
Loki. Выбор интерфей­са

Так­же нуж­но ука­зать путь до сло­варя, что­бы про­вес­ти брут­форс зашиф­рован­ного клю­ча. Обя­затель­но сни­май галоч­ку с опции Use Bruteforce, ина­че Loki будет ломать пароль пол­ным перебо­ром, не задей­ство­вав сам сло­варь.


Нас­трой­ка пути до сло­варя

Те­перь нуж­но ждать, пока легитим­ный адми­нис­тра­тор вой­дет на устрой­ство через сер­вер TACACS. Пред­полага­ется, что сетевой адми­нис­тра­тор уже зашел, а мы, встав посере­дине через ARP-спу­финг, перех­ватыва­ем тра­фик. И при этом легитим­ные хос­ты не понима­ют, что в их соеди­нение вме­шал­ся кто‑то пос­торон­ний.


Ло­ки обна­ружил соеди­нение TACACS

Те­перь нажима­ем на кноп­ку CRACK и ждем, пока Loki ломанет пароль.


Ло­ки взло­мал ключ TACACS. Пароль: secret1234

От­лично, нам уда­лось сбру­тить ключ, теперь нуж­но рас­шифро­вать TACACS-тра­фик. Как я и ска­зал, Wireshark уме­ет работать с зашиф­рован­ным тра­фиком TACACS при наличии клю­ча.


Скар­мли­ваем «Аку­ле» ключ

Ви­дим, какой бан­нер исполь­зовал­ся.


Ис­поль­зовав­ший­ся бан­нер

Об­наружи­ваем логин поль­зовате­ля admin.


В ито­ге у нас есть кре­ды admin:secret1234, с которы­ми мож­но зай­ти на само обо­рудо­вание. Пожалуй, про­верю их на валид­ность.


Ус­пешная аутен­тифика­ция на обо­рудо­вании SW1

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


 

Атаки на протокол CDP


CDP (Cisco Discovery Protocol) — раз­работ­ка инже­неров Cisco Systems, про­токол каналь­ного уров­ня, соз­данный для того, что­бы устрой­ства мог­ли обме­нивать­ся информа­цией. CDP может помочь сетево­му адми­нис­тра­тору и облегчить про­цесс траб­лшу­тин­га, но для зло­умыш­ленни­ка... Сей­час выяс­ним.


 

Сбор информации


По умол­чанию CDP выпол­няет рас­сылку объ­явле­ний на все свои пор­ты. Но что, если зло­умыш­ленник под­клю­чит­ся в порт того же ком­мутато­ра? Вос­поль­зовав­шись сетевым сниф­фером, будь то Wireshark или tcpdump, он смо­жет извлечь цен­ную информа­цию о самом устрой­стве — начиная его моделью и закан­чивая вер­сией Cisco IOS. Вос­поль­зовав­шись этой информа­цией, он смо­жет про­вес­ти перечис­ление той же вер­сии Cisco IOS и най­ти по ней уяз­вимость, а затем про­экс­плу­ати­ровать ее.


Дамп CDP-тра­фика 

DoS-атака CDP Flooding


Ес­ли зло­умыш­ленник спро­воци­рует рас­сылку огромно­го количес­тва CDP-объ­явле­ний, то сам флу­динг вызовет перег­рузку ком­мутато­ра и нарушит работу сети. Так­же будет перепол­нять­ся таб­лица соседей CDP. Про­водить эту ата­ку прос­то, поэто­му не буду вда­вать­ся в под­робнос­ти.


На этот раз мы вос­поль­зуем­ся Yersinia:


Инс­тру­мент обна­ружил ком­мутатор SW1

Выс­тавля­ем опцию flooding CDP table и начина­ем ата­ку. Цен­траль­ный про­цес­сор ком­мутато­ра будет перег­ружен, как и таб­лица CDP-соседей, вследс­твие чего воз­ника­ет «сетевой паралич».


На­чало ата­ки
Пе­рег­ружен­ный цен­траль­ный про­цес­сор ком­мутато­ра
Пе­репол­няющаяся таб­лица CDP-соседей 

Злоупотребление динамическим транкингом


DTP (Dynamic Trunking Protocol) — про­токол каналь­ного уров­ня, приз­ванный орга­низо­вать авто­мати­чес­кую сис­тему тран­кинга. Бла­года­ря DTP ком­мутато­ры сами реша­ют, какой порт будет работать в режиме магис­траль­ного канала (Trunk), а какой нет. На мой взгляд, исполь­зование DTP говорит о некачес­твен­ном дизай­не сети. Тран­ки дол­жны быть стро­го там, где они нуж­ны, и это дол­жно быть задоку­мен­тирова­но. Осо­бен­но смеш­но, ког­да сетевой инже­нер сам не зна­ет, какой порт у него в тран­ке, а какой в режиме дос­тупа.


По умол­чанию пор­ты ком­мутато­ра работа­ют в режиме Dynamic Auto. Это говорит о том, что ком­мутаци­онный порт находит­ся в режиме ини­циации тран­ка со сто­роны сосед­него ком­мутато­ра. Пен­тесте­ру нуж­но физичес­ки под­клю­чить­ся к ком­мутато­ру и отпра­вить кадр DTP Desirable, который триг­герит перек­лючение пор­та в режим тран­ка. Далее зло­умыш­ленник смо­жет про­вес­ти перечис­ление сетей VLAN с помощью ана­лиза кад­ров STP и обой­ти сег­мента­цию сети VLAN — соз­дав вир­туаль­ные интерфей­сы.



info


Под­робнее об ата­ке про­токо­ла DTP ты смо­жешь узнать из дру­гой моей статьи.



Для ата­ки понадо­бит­ся скрипт, который будет генери­ровать кадр DTP Desirable. Для это­го я написал неболь­шую прог­рамму DTPHijacking.py. Ее исходный код открыт, можешь изу­чить его.


Инс­тру­мент DTPHijacking.py
Стро­ение DTP-инъ­екции

Хо­чу отме­тить, что Access/Desirable (0x03) ука­зыва­ет на то, что DTP-кадр име­ет тип Desirable, который велит пор­ту перек­лючить­ся в режим Trunk. А 802.1Q/802.1Q (0xa5) ука­зыва­ет на тип инкапсу­ляции 802.1Q.



info


Ни в коем слу­чае не пре­рывай работу скрип­та. Он инжектит DTP Desirable каж­дые три секун­ды. Соз­данные динами­чес­ки магис­траль­ные каналы на ком­мутато­ре живут все­го пять минут. Через пять минут транк отва­лива­ется.



Про­ана­лизи­ровав STP-кад­ры, мы узна­ем о сущес­тво­вании сетей VLAN 30 и 60.


Ана­лиз STP-кад­ров

С дан­ной информа­цией и наличи­ем транк‑пор­та мы можем получить дос­туп к этим сетям VLAN, при этом обой­дя VLAN-сег­мента­цию. Необ­ходимо будет соз­дать вир­туаль­ные интерфей­сы и наз­начить на них IP-адрес.


necreas1ng@Inguz:~sudo vconfig add eth0 60
necreas1ng@Inguz:~sudo ifconfig eth0.30 up
necreas1ng@Inguz:~sudo ifconfig eth0.60 up
necreas1ng@Inguz:~sudo dhclient -veth0.30
necreas1ng@Inguz:~sudo dhclient -veth0.60
По­лучен­ные адре­са по DHCP для вир­туаль­ных интерфей­сов
Ус­пешные ICMP-зап­росы в сто­рону шлю­зов сетей VLAN 30 и 60

Та­ким обра­зом, мож­но обой­ти VLAN-сег­мента­цию и получить дос­туп к VLAN-сетям.


 

Сетевой паралич при атаке на VTP


VTP (VLAN Trunking Protocol) — про­токол, соз­данный для цен­тра­лизо­ван­ного управле­ния сетями VLAN. Что­бы отсле­живать акту­аль­ную базу дан­ных VLAN, ком­мутато­ры про­веря­ют спе­циаль­ные номера ревизии. Ког­да про­исхо­дит любое обновле­ние таб­лицы, номер ревизии повыша­ется на еди­ницу. И если ком­мутатор обна­ружит кон­фигура­цию, у которой номер ревизии выше, он авто­мати­чес­ки обно­вит свою базу дан­ных VLAN.


 

Какие бывают роли в VTP-домене




  • VTP Server. Ком­мутатор в роли VTP Server может соз­давать новые VLAN, уда­лять ста­рые или менять информа­цию в самих VLAN. Так­же он занима­ется генери­рова­нием объ­явле­ний VTP для осталь­ных чле­нов домена.


  • VTP Client. Ком­мутатор в этой роли будет получать спе­циаль­ные анон­сы VTP от дру­гих ком­мутато­ров в домене, что­бы обновлять базы дан­ных VLAN у себя. Кли­енты огра­ниче­ны в воз­можнос­тях соз­давать VLAN и даже не име­ют пра­ва локаль­но изме­нять кон­фигура­цию VLAN. Ина­че говоря, дос­туп read only.


  • VTP Transparent. В этом режиме ком­мутатор не учас­тву­ет в про­цес­сах VTP и может вес­ти у себя пол­ное и локаль­ное адми­нис­три­рова­ние всей кон­фигура­ции VLAN. Работая в проз­рачном режиме, ком­мутато­ры занима­ются толь­ко переда­чей объ­явле­ний VTP от дру­гих ком­мутато­ров, не зат­рагивая свою кон­фигура­цию сетей VLAN. У таких ком­мутато­ров номер ревизии всег­да будет равен нулю, и про­тив них ата­ку про­вес­ти не получит­ся.


 

Типы объявлений




  • Summary Advertisement. Объ­явле­ние VTP, которое сер­вер VTP отправ­ляет каж­дые 300 секунд (5 минут). В этом объ­явле­нии хра­нит­ся имя домена VTP, вер­сия про­токо­ла, отметка вре­мени и зна­чение MD5-хеша кон­фигура­ции.


  • Subset Advertisement. Это объ­явле­ние VTP, которое отправ­ляет­ся при каж­дом изме­нении кон­фигура­ции VLAN.


  • Advertisement Request — зап­рос от кли­ента VTP к сер­веру VTP на сооб­щение Summary Advertisement. Обыч­но рас­сыла­ется в ответ на сооб­щение о том, что ком­мутатор обна­ружил Summary Advertisement с бóльшим номером ревизии кон­фигура­ции.


Ата­ку на про­токол VTP мож­но про­вес­ти толь­ко с тран­кового пор­та, пос­коль­ку объ­явле­ния VTP тран­сли­руют­ся и при­нима­ются толь­ко на тран­ковых пор­тах. Поэто­му при пен­тесте пос­ле ата­ки на DTP тво­ей сле­дующей целью может быть VTP. Для ата­ки на домен VTP я буду исполь­зовать Yersinia. С ее помощью я про­веду VTP-инжект, который сти­рает всю базу дан­ных VLAN и тем самым парали­зует сеть.



info


У про­токо­ла VTP есть целых три вер­сии. В этой статье я про­веду ата­ку про­тив пер­вой вер­сии — VTPv1.



Для сти­рания всей базы дан­ных VLAN выбира­ем опцию deleting all VTP vlans.


На­чало ата­ки на домен VTP
Ба­за дан­ных VLAN перед ата­кой
Ба­за дан­ных VLAN пос­ле ата­ки
Се­тевой паралич

Хост из сети VLAN 60 утра­тил связ­ность до шлю­за.


 

Атаки на протокол EIGRP


EIGRP (Enhanced Interior Gateway Routing Protocol) — про­токол динами­чес­кой мар­шру­тиза­ции. Явля­ется дис­танци­онно‑век­торным про­токо­лом. При отсутс­твии аутен­тифика­ции и кон­фигура­ции пас­сивных интерфей­сов зло­умыш­ленник может вме­шать­ся в про­цесс EIGRP-мар­шру­тиза­ции и выз­вать отравле­ние таб­лиц мар­шру­тиза­ции. Более того, сеть EIGRP (ина­че говоря, авто­ном­ная сис­тема) «плос­кая», и у нее отсутс­тву­ет сег­мента­ция на какие‑либо зоны. Что это может зна­чить для ата­кующе­го? Ну, если он про­ведет инъ­екцию мар­шру­та, то, ско­рее все­го, этот мар­шрут рас­простра­нит­ся по всей авто­ном­ной сис­теме EIGRP.


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


Как уста­нав­лива­ется соседс­тво меж­ду EIGRP-мар­шру­тиза­тора­ми

info


Не забывай, что без пред­варитель­ной уста­нов­ки соседс­тва легитим­ные EIGRP-мар­шру­тиза­торы не будут реаги­ровать на рас­сыла­емые тобой сооб­щения EIGRP (будь то HelloUpdate или дру­гие).



Для это­го я вос­поль­зуюсь FRRouting. Это опен­сор­сное ПО, которое пред­назна­чено для соз­дания мар­шру­тиза­тора в Unix и Linux. FRRouting поз­воля­ет реали­зовать вир­туаль­ный мар­шру­тиза­тор, под­держи­вающий про­токо­лы BGP, OSPF, EIGRP, RIP и дру­гие. Его дос­таточ­но раз­вернуть на сво­ей ата­кующей сис­теме, и фак­тичес­ки ты смо­жешь прит­ворить­ся легитим­ным роуте­ром в домене мар­шру­тиза­ции. Как раз­вернуть FRR на сво­ей сис­теме, я покажу в сле­дующем раз­деле.



info


Для про­веде­ния атак на домены мар­шру­тиза­ции EIGRP я раз­работал нес­коль­ко инс­тру­мен­тов и помес­тил их в свой репози­торий EIGRPWN на GitHub. Там ты най­дешь все инс­тру­мен­ты, которые я исполь­зовал для ата­ки на EIGRP в этой статье.



 

Разведка в сети


Под­клю­чение к домену мар­шру­тиза­ции поз­воля­ет нам про­вес­ти перечис­ление и раз­ведку сетей и не тра­тить мно­го вре­мени на ска­ниро­вание. Это спо­соб зна­читель­но эко­номит твое дра­гоцен­ное вре­мя. К тому же при ска­ниро­вании ты можешь спа­лить­ся перед сис­темами безопас­ности IPS/IDS. Как по мне, под­клю­чение к домену и перечис­ление — век­тор ата­ки на домены мар­шру­тиза­ции, который дарит тебе наиболь­ший импакт.


Но для это­го все­го нуж­но раз­вернуть FRRouting. Прис­тупим.



Перейти обратно к новости