Удар по сниферу Докучаев Дмитрий 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 широковещательный адрес и ответит на него). |