July 21, 2020

Как перехватить трафик в коммутируемой среде?

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

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

Но гораздо сложнее это трафик перехватить, точнее установить оборудование для его перехвата.

Так как же перехватить трафик?

Как расположить и настроить оборудование для прослушивания ?

Предлагаю рассмотреть варианты расположения (подключения) оборудования для снифа в коммутируемой среде (перехват wi-fi канала рассмотрим в следующей статье).

Самым удобным способ является установка сниффера непосредственно на интересующем нас прослушиваемом хосте.

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

К примеру ARP запрос, который используют хосты для определения MAC-адреса, который соответствует определенному IP-адресу.

Зная IP, направляем ARP запрос с целью сопоставления IP-MAC всем устройствам внутри широковещательного домена.

Однако только искомый хост «заинтересован» в получении такого запроса, остальные хосты, как упоминалось выше, указанный пакет отбросят.

Для наглядности, с помощью Cisco Packet racer, рассмотрим как хост с IP-адресом 192.168.1.2 направляет ARP запрос на хост 192.168.1.4.

Предварительно проверив, что ARP записей на 192.168.1.2 нет от слова совсем командой arp -a (удалить их можно с помощью arp -d) выполняем команду ping на 192.168.1.4.

Так как мы не знаем MAC адрес, то первоначально направляем ARP запрос. Запрос приходит на коммутатор (cisco 2960), далее он направляется на все хосты, подключенные к коммутатору. После этого хост 192.168.1.3 отбрасывает указанный, а 192.168.1.4 соответственно отвечает.

Для того, чтобы захватывать весь поступающий траффик на 192.168.1.3 необходимо на сетевом интерфейсе включить смешанный режим раюоты. Это позволяют сделать программные компоненты Aircrack-ng, Wireshark, tcp dump идр.

Когда нет возможности разместить анализатор трафика на целевом хосте помочь может концентратор.

В таком случае исследуемый хост и анализатор трафика в одном коммутируемом сегменте сети подключаются к одному концентратору.

В результате все поступающие и исходящие пакеты будут проходить по всем портам концентратора.

Так например, отправив пакеты с Host1 на Host2, концентратор Hub0 направит их как на исследуемый Host2, так и на анализатор пакетов Sniffer.

Отброс пакетов Sniffer’ом на картинке, обусловлен отключенным смешанным режимом работы сетевого адаптера.

Самым популярным способом перехвата трафика остается метод зеркалирование портов.

Для реализации этого метода необходимо чтобы коммутатор был управляемым, а также иметь физический или через удаленный ssh/Web-интерфейс доступ к нему.

Смысл заключается в том, чтобы принимаемый и отправляемый трафик устройства подключённого к порту коммутатора — зеркально направлялся на другой порт коммутатора, куда подключен анализатор трафика.

Так, подключившись, настроим коммутатор Сisco 2960 для зеркалирования трафика на портах fastEthernet 0/1 и fastEthernet 0/2 куда подключены host1 и host2 соответственно:

Switch>enable
Switch#conf terminal
Switch(config)#monitor session 1 source interface fastEthernet 0/1
Switch(config)#monitor session 1 source interface fastEthernet 0/2

И порт, на который будет зеркалироваться трафик, куда подключен анализатор пакетов :

Switch(config)#monitor session 1 destination interface f0/24

Проверим:

Switch#show monitor
Session 1
---------
Type                   : Local Session
Description            : -
Source Ports           :
Both               : Fa0/1,Fa0/2
Destination Ports      : Fa0/24
Encapsulation      : Native
Ingress      : Disabled

Итак направим пакеты от Host1 (192.168.1.1) на Host2( 192.168.1.2) и видим, что они зеркалируются коммутатором наш сниффер:

Открываем перехваченный ICMP пакет на снифере:

Указанные методы не лишены недостатков, а другие методы перехвата сетевого трафика — такие как заражение ARP-кэша и применение сетевых ответвителей рассмотрим в следующих статьях.