Сниффер в switched enviroment.
Многие системные администраторы полагают, что подключение сервера к аплинку через свитч является панацеей от перехвата сетевого трафика на системе, пусть даже и подключённой в порт того же свитча, но формально не находящейся в одном сегменте коллизий с объектом. Так же многие системные администраторы уверены в том, что MAC-адрес является чудесной величиной, которая "намертво" связана со значением, прошитым в EEPROM сетевой карточки, и его невозможно изменить в эмитируемых интерфейсом пакетах. Однако это не так, и прежде чем мы расскажем непосредственно о способах перехвата трафика в таких условиях, мы рассмотрим принцип работы самого устройства, называемого switch.
Switch или же switching hub является прозрачным мультипортовым мостом между портами, который "переключает" трафик. Такое устройство имеет небольшой интервал задержки и без особых проблем/перегрузок обрабатывает большие потоки трафика. Данное устройство способно разбивать входящий на него трафик по портам в зависимости от условий фильтрации (к примеру, по mac-адресам) в целях минимизации трафика и безопасности. Такое устройство мы будем называть в дальнейшем свитч.
В ходе работы свитч строит таблицы соответствия IP- и MAC-адресов, которые используются им в дальнейшем при распределении пакетов по портам. Данная таблица пополняется динамически в ходе работы устройства, и имеет финитный размер. При получении большого количества пакетов со spoofed ARP-адресом, таблица соответствий в конце концов переполнится и свитч станет действовать, как обычный репитер, то есть каждый пакет, полученный на любой порт, будет повторён по всем портам устройства, а не будет направлен на нужный.
После такой "обработки" свитча возможно использовать обычный сниффер, чтобы осуществлять мониторинг интерфейсов в соседних портах устройства.
Теперь мы рассмотрим пару программ, демонстрирующих алгоритм и технические детали генерации пакетов со spoofed arp, которые позволят переполнить таблицу соответсвий свитча и переключить его в вышеописаный режим.
Первая из них называется angst, и её можно скачать с
Второй метод мы довольно подробно рассмотрели выше; программа флудит локальную сеть случайными mac-адресами в результате чего switch перестаёт делать то, что ему положено.
Вторая программа, на примере которой рекомендуется изучать геренацию пакетов с любым обратным arp-адресом, называется arptool, и её можно скачать
Данная утилита имеет размер всего 3 килобайта и использует библиотечку libnet. Функция, которая строит пакет, готорый к эмиссии, называется libnet_build_arp, и в качестве входных параметров, помимо прочих, берёт значения исходного ip и mac адреса. Функция, которая передаёт полученную структуру драйверу сетевого интерфейса, то есть посылает пакет, называется libnet_write_link_layer.
Таким образом, ни установление жёстких привязок IP-адресов к MAC-адресам, ни организация switched enviroment не является панацеей от перехвата сетевого трафика.
Статья взята с сайта
Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet (at) narod.ru