Рыбная ловля в локальной сети - sniffering

       

Активный перехват или arp-spoofing


Отправляя пакет на заданный IP адрес мы, очевидно, должны доставить его какому-то узлу. Но какому? Ведь сетевая карта оперирует исключительно физическими MAC-адресами, а про IP ничего не знает! Следовательно, нам необходима таблица соответствия MAC и IP адресов. Построением такой таблицы занимается операционная система и делает это она при помощи протокола ARP (Address Resolution Protocol– протокол разрешения адресов). Если физический адрес получателя неизвестен, в сеть отправляется широковещательный запрос типа "обладатель данного IP, сообщите свой MAC". Получив ответ, узел заносит его в локальную ARP-таблицу, для надежности периодически обновляя ее (фактически, ARP-таблица представляет собой обыкновенный кэш). В зависимости от типа операционной системы и ее конфигурации интервал обновления может варьироваться от 30 сек. до 20 мин.

Никакой авторизации для обновления ARP-таблицы не требуется, более того, большинство операционных систем благополучно переваривают ARP-ответы даже если им не предшествовали соответствующие ARP-запросы (SUNOS – одна из немногих, кто не позволяет обмануть себя подобным образом и потому, подложный ARP-пакет должен быть отправлен только после соответствующего ARP-запроса, но до прихода подлинного ответа).

Для захвата чужого IP, атакующему достаточно послать подложный ARP-запрос, который может быть как целенаправленным, так и широковещательным (для отправки/приема ARP-пакетов необходим доступ к сырым сокетам или специальному API операционной системы, подробности можно расковывать в утилите arp). Допустим, атакующий хочет перехватить трафик между узлами "A" и "B". Он посылает узлу "A" подложный ARP-ответ, содержащий IP-адрес узла "B" и свой MAC-адрес, а узлу "B" – ARP-ответ с IP-адресом узла "A" и своим MAC-адресом. Оба узла обновляют свои ARP-таблицы и все отправляемые ими пакеты попадают на узел злоумышленника, который либо блокирует, либо доставляет их получателю (возможно, в слегка измененном виде, т. е работает как proxy).
Если послать подложный ARP- пакет маршрутизатору, атакующий сможет перехватывать и пакеты, приходящие извне данного сегмента сети. Атака такого типа называется MiM (сокращение от Man In Middle – мужик в середине) и схематично изображена на рис. 5.



Рисунок 4 атака типа MiM позволяет перехватывать трафик даже в сетях с интеллектуальным хабом

Как вариант, можно послать подложный ARP-ответ с несуществующим MAC-адресом, тогда связь между "A" и "B" будет утеряна, впрочем, через некоторое время она автоматически восстановится вновь (ведь ARP-таблица динамически обновляется!) и, чтобы этого не произошло, атакующий должен направить на жертву мощный шторм подложных пакетов (см. рис. 5).



Рисунок 5 разрыв соединения между узлами

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


Содержание раздела