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

warning

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

 

Импакт от атак

Ос­новная задача ата­кующе­го — получить дос­туп к ресур­сам компь­ютер­ной сети или нарушить нор­маль­ную работу сети (Denial of Service). В боль­шинс­тве слу­чаев ата­ки каналь­ного уров­ня про­водят­ся вмес­те, что­бы извлечь боль­ше поль­зы от экс­плу­ата­ции. Нап­ример, ата­ка с перепол­нени­ем ассо­циатив­ной памяти ком­мутато­ра соз­дает иде­аль­ные усло­вия для перех­вата тра­фика. Ата­ка на про­токол DTP поз­воля­ет наруши­телю совер­шить побег в дру­гую сеть VLAN и ском­про­мети­ровать сег­менты VLAN.

Ата­ки каналь­ного уров­ня мож­но раз­бить на три типа:

  • MITM. Зло­умыш­ленник «вста­ет посере­дине» меж­ду сетевы­ми устрой­ства­ми и перех­ватыва­ет тра­фик. Но при этом для легитим­ных хос­тов в сети видимых приз­наков ата­ки нет;
  • DoS. Зло­умыш­ленник может про­вес­ти раз­рушитель­ную ата­ку на сетевое обо­рудо­вание, что­бы вывес­ти его из строя. Такие ата­ки в пен­тестах менее прак­тичны и годят­ся толь­ко как отвле­кающий маневр при ред­тимин­ге;
  • не­сан­кци­они­рован­ный дос­туп к сег­ментам сети. Зло­умыш­ленник, исполь­зуя недос­татки про­токо­лов, неп­ред­ска­зуемым обра­зом может получить дос­туп к тем учас­ткам сети, дос­тупа к которым быть не дол­жно. Нап­ример, это ата­ки DTP VLAN Hopping, Double Tagging.
 

Дисклеймер и вооружение

На каналь­ном уров­не мно­го век­торов для атак типа «отказ в обслу­жива­нии». Преж­де чем экс­плу­ати­ровать их в ходе пен­теста, обя­затель­но сог­ласуй свои шаги с заказ­чиком! При­мене­ние DoS-атак в рам­ках про­дак­шена — шту­ка спе­цифич­ная. На мой взгляд, они полез­нее все­го при ред­тимин­ге для отвле­чения синей коман­ды.

Мы с тобой поюзаем сле­дующие инс­тру­мен­ты:

  • Yersinia — фрей­мворк для про­веде­ния атак на L2 и стресс‑тес­та компь­ютер­ных сетей;
  • Scapy — модуль Python для манипу­лиро­вания сетевы­ми пакета­ми. Может слу­жить как сниф­фером, так и пакет­ным инжекто­ром;
  • FENRIR — фрей­мворк, соз­данный для обхо­да 802.1X в сетях Ethernet.
 

Как обходить 802.1X

IEEE 802.1X — это стан­дарт аутен­тифика­ции и авто­риза­ции конеч­ных або­нен­тов на каналь­ном уров­не. Он под­держи­вает кон­троль дос­тупа и не поз­воля­ет устрой­ствам под­клю­чать­ся к локаль­ной сети, не прой­дя спе­циаль­ный про­цесс авто­риза­ции. Это поз­воля­ет сущес­твен­но повысить уро­вень защищен­ности локаль­ной сети, отсе­кая несан­кци­они­рован­ные под­клю­чения. Для пен­тесте­ров 802.1X может ока­зать­ся серь­езной проб­лемой.

 

MAC Authentication Bypass

Этот очень прос­той метод обхо­да 802.1X. MAB исполь­зует­ся для устрой­ств, которые не под­держи­вают аутен­тифика­цию 802.1x. Гру­бо говоря, это MAC-авто­риза­ция. MAB обой­ти очень прос­то. Нам нуж­но прос­то най­ти какое‑нибудь легитим­ное устрой­ство, спи­сать с него MAC-адрес и нас­тро­ить этот MAC-адрес на сетевой интерфейс ата­кующей машины. Под­клю­чаем­ся к ком­мутато­ру и получа­ем дос­туп к сети. Не буду показы­вать эту ата­ку на прак­тике, она слиш­ком прос­та.

 

Bridge-based Attack

Са­мый популяр­ный и эффектив­ный метод обхо­да 802.1X — ата­ка на осно­ве мос­та. Для реали­зации нуж­но помес­тить свое устрой­ство меж­ду легитим­ным кли­ентом, про­шед­шим аутен­тифика­цию 802.1X, и ком­мутато­ром. Ком­мутатор выс­тупа­ет в роли аутен­тифика­тора и обес­печива­ет связ­ность меж­ду кли­ентом и сер­вером аутен­тифика­ции.

Толь­ко у этой ата­ки есть одно огра­ниче­ние. Что­бы ее про­экс­плу­ати­ровать в про­дак­шене, нуж­но легитим­ное устрой­ство, про­шед­шее аутен­тифика­цию 802.1X. Им может быть какой‑нибудь прин­тер, IP-телефон, воз­можно, ты суме­ешь отыс­кать ноут­бук какого‑нибудь сот­рудни­ка.

Для демонс­тра­ции ата­ки я буду исполь­зовать инс­тру­мент FENRIR.

Схема проведения атаки на 802.1X
Схе­ма про­веде­ния ата­ки на 802.1X
IP-адресация схемы
IP-адре­сация схе­мы

Для начала нам надо перевес­ти физичес­кие интерфей­сы в режим promiscious (нераз­борчи­вый режим):

c0ldheim@PWN:~$ sudo ifconfig eth0 promisc
c0ldheim@PWN:~$ sudo ifconfig eth1 promisc

За­пус­каем FENRIR и наз­нача­ем IP-адрес легитим­ного устрой­ства, его MAC-адрес и два интерфей­са нашей ата­кующей машины. В боевых усло­виях всю информа­цию ты смо­жешь най­ти, прос­лушивая тра­фик. В качес­тве hostIface выс­тупит интерфейс, смот­рящий в сто­рону легитим­ного устрой­ства, netIface — это интерфейс, который смот­рит в сто­рону ком­мутато­ра. Пос­ле это­го соз­даем бридж, он будет называть­ся FENRIR.

c0ldheim@PWN:~$ sudo python2 Interface.py
FENRIR > set host_ip 10.1.1.3
FENRIR > set host_mac 50:00:00:04:00:00
FENRIR > set hostIface eth1
FENRIR > set netIface eth0
FENRIR > create_virtual_tap

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    12 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии