Содержание статьи
- Импакт от атак
- Дисклеймер и вооружение
- Как обходить 802.1X
- MAC Authentication Bypass
- Bridge-based Attack
- CDP x LLDP
- Reconnaissance
- CDP Flooding
- Нападение на сети VLAN
- Динамический транк и побег в другие сегменты VLAN
- VTP-инъекции и манипуляции базами данных VLAN
- Атака двойного тегирования
- Сетевая разведка и перехват трафика с помощью ARP
- ARP Harvesting
- ARP Cache Poisoning
- Переполнение ассоциативной памяти коммутатора
- STP Root Hijacking
- Как работает STP
- Атака
- VLAN ID Enumeration
- Истощение и подмена DHCP-сервера
- DHCP Starvation
- DHCP Spoofing
- Выводы
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.
Для начала нам надо перевести физические интерфейсы в режим 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»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»