Одна из самых популярных новинок на Github в последнее время — проект LANs.py, это многопоточный ARP-спуфер, позволяющий обрабатывать и внедрять пакеты в трафик по локальной сети.

ARP-спуфинг — техника, позволяющая перехватывать трафик между узлами в локальной сети. Основана на использовании протокола ARP (Address Resolution Protocol), который предназначен для определения MAC адреса по известному IP адресу.

Например, компьютер А (IP адрес 10.0.0.1) и компьютер Б (IP адрес 10.22.22.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP адрес компьютера Б ему известен. Однако сеть Ethernet, которой они соединены, не работает с IP адресами. Поэтому компьютеру А для осуществления передачи через Ethernet требуется узнать адрес компьютера Б в сети Ethernet (MAC адрес в терминах Ethernet). Для этой задачи и используется протокол ARP. По этому протоколу компьютер А отправляет широковещательный запрос, адресованный всем компьютерам в одном с ним сегменте Ethernet. Суть запроса: «компьютер с IP адресом 10.22.22.2, сообщите свой MAC адрес компьютеру с IP адресом 10.0.0.1». Сеть Ethernet доставляет этот запрос всем устройствам в том же сегменте Ethernet, в том числе и компьютеру Б. Компьютер Б отвечает компьютеру А на запрос и сообщает свой MAC адрес (напр. 00ea.d111.f111) Теперь, получив MAC адрес компьютера Б, компьютер А может передавать ему любые данные через сеть Ethernet.

Соответственно, ARP-спуфер осуществляет перехват широковещательного ARP-запроса, и отправляет ложный ARP-ответ, в котором объявляет себя искомым узлом, например, маршрутизатором. Таким образом можно прослушивать весь трафик в локальной сети, внедрив туда простенькое устройство-жучок, например, замаскированное под удлинитель или розетку.

Инструкции по использованию LANs.py см. здесь.



Оставить мнение