Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #79, ИЮЛЬ 2005 г.

Удар по сниферу

Докучаев Дмитрий aka Forb

Хакер, номер #079, стр. 079-046-1


(forb@real.xakep.ru)

Обнаружение нюхачей в локальных сетях

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

[теоретические основы]

Ни для кого не секрет, что в любой локальной сети можно перехватывать информацию. Прослушивание сети на хабах осуществляется очень легко: снифер принудительно переводит lan-адаптер в promisc mode, в результате чего карточка начинает принимать абсолютно все пакеты, даже ей не предназначенные. Такой метод получил название «пассивный перехват» и может быть реализован только в случае использования хабов.

Если провайдер заботится о своих клиентах, то он обязательно заменит все хабы на свитчи. При этом коммутатор никогда не будет пересылать трафик по всем портам, а гарантированно отправит их только в гнездо получателя. Однако существует реализация атаки MitM, при которой ARP-таблицы целевых узлов заполняются ложными данными, в результате чего трафик между двумя машинами пересылается через третий компьютер. Такой вид перехвата называется активным. Несмотря на кажущуюся безысходность, существуют методы, позволяющие засечь работу как активного, так и пассивного снифера. Все они базируются на основах передачи данных в сети Ethernet, посему являются простыми и понятными.

[в сети пассивный снифер]

Предположим, что у нас имеется локальная сеть 192.168.0.0/255.255.255.0. За каким-то IP-адресом располагается хакер, запустивший пассивный снифер. Наша задача — найти айпишник злоумышленника, чтобы впоследствии настучать ему по голове тяжелым предметом :). Эта проблема решается несколькими способами, но, к сожалению, некоторые из них по ряду причин могут не сработать.

1. Доблестный ping на страже порядка

Начнем с самого простого способа определения снифера. Как ты знаешь, преобразование MAC-адреса в IP осуществляется с помощью протокола ARP. При нормальном режиме работы сетевой карты адаптер будет проверять MAC-адрес в каждом фрейме на соответствие со своим. Если MAC совпал — пакет будет принят, иначе — отброшен. Но при переводе сетевухи в promisc mode MAC-адрес не будет проверяться — абсолютно все пакеты пройдут через компьютер злоумышленника. Предположим, что за адресом 192.168.0.5 скрывается снифер и тебе необходимо убедиться в этом. Твои дальнейшие действия заключаются в выполнении двух команд:

arp -s 192.168.0.5 11-22-33-44-55-66

ping 192.168.0.5

Если ты получишь ответ от узла, то значит, снифер действительно присутствует. Получив пакет с некорректным маком, система увидит в нем ECHO_REQUEST и ответит на него пакетом ECHO_REPLY, выдав себя с потрохами.

Этот прием с блеском работает на большинстве Linux-систем и некоторых Windows. Однако в последнее время стало модным снабжать снифер виртуальным фильтром MAC-адресов. На некоторых перехватчиках проверка ведется лишь по первому байту мака, таким образом, статическое представление MAC-адреса в виде FF-00-00-00-00-00 может привести к положительному результату (система узреет в MAC широковещательный адрес и ответит на него).

Содержание  Вперед на стр. 079-046-2