Недавно поставил перед собой интересную задачу - почитать переписку вконтакте того, кто сидит на публичном вайфае (например в торгово-развлекательном центре) рядом со мной.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
arpspoof -i wlan0 -t 192.168.0.103 192.168.0.1
Весь прикол заключается в том, что любое сетевое оборудование имеет свой аппаратный mac-адрес, и взаимодействие между железками в пределах локальной сети (компьютерами, маршрутизаторами, смартфонами) осуществляется на основе mac-адресов. Для этого у каждого устройства внутри хранится локальная таблица сопоставления IP и MAC. Когда мы пингуем ближнего своего, наш компьютер посылает широковещательный ARP - запрос, например "who has 192.168.0.93" и ему приходит ответ например FC-AA-14-1C-FB-98.
Наша задача послать на устройство жертвы фальшивый ARP ответ (даже не ответ, а просто arp пакет) что IP роутера имеет MAC - адрес сетевого адаптера нашего ноутбука. Android и IOS устройства начинают сразу же гнать интернет через наш ноутбук!
Для этого необходимо воспользоваться утилитой arpspoof из пакета dsniff
Для этого необходимо воспользоваться утилитой arpspoof из пакета dsniff
Теперь представим ситуацию - мы сидим в ТРЦ с ноутбуком на публичном вайфае. Все клиенты находящеися рядом подключены к роутеру, который раздает всем интернет. Наша задача стать самому роутером и пустить весь чужой трафик через себя.
Сидят в основном со смартфонов, а мобильное приложение ВК на андроид и ios по умолчанию не использует https (если не включить это в настройках).
... Начинаем
Первое что нужно сделать - изучить сеть в которой мы находимся. Нам нужно подсмотреть IP роутера и прикинуть диапазон IP-адресов которые выдаются клиентам. Это можно сделать исходя из полученых от роутера по DHCP настроек (ip шлюза и маска сети).
Затем при помощи nmap нужно просканировать сеть на наличие доступных хостов. На выходе мы получим список IP - адресов мобильных устройств, которые подключены к сети. Android и IOS устройства отлично пингуются будучи подключеными к сети, поэтому ограничимся ping-сканированием.
nmap -sP 192.168.0.0/24
(если наша сеть 192.168.0.0 и маска 255.255.255.0)
(если наша сеть 192.168.0.0 и маска 255.255.255.0)
в выводе nmap после сканирования кроме доступных IP подключеных клиентов будет еще и описание производителя железки с этим адресом. Eсли Samsung - это смартфон самсунг, Lenovo - леново, Apple - айфон \ айпад итд.
Осмотревшись вокруг и заглянув что за мобильное устройство в руках у тех кто рядом можно догадаться какую жертву мы нашли.
Становимся роутером и нюхаем чужой трафик!
Тут ничего сложного нету.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
arpspoof -i wlan0 -t 192.168.0.103 192.168.0.1
wlan0 - интерфейс который на нашем ноутбуке подключен к публичному вайфаю (можно посмотреть через ifconfig)
192.168.0.103 - айпи нашей жертвы, которая у нас на крючке
192.168.0.1 - айпи настоящего роутера (которым мы прикинемся)
Все! Трафик жертвы идет через наш ноутбук!
Все! Трафик жертвы идет через наш ноутбук!
Дальше необходимо запустить снифер tcpdump или wireshark на интерфейсе wlan0 в режиме декодирования http-трафика. Можно сразу сохранять все в файл или разгребать в реальном времени. Показывает адреса всех запросов клиента и их содержимое.
Самое важное я забыл - подготовка платформы для этого всего.
Нужно скачать последнюю версию Lubuntu например и записать при помощи ultraiso на флешку. Загрузить ноутбук с нее.
Затем нужно подключиться к вайфай сети и установить пакеты dsniff (предоставляет утилиту arpspoof) , nmap, tcpdump и (если хочется GUI) - wireshark, через apt-get.
В следующей статье я расскажу о перехвате и расшифровке зашифрованого https трафика пользователей.
Самое важное я забыл - подготовка платформы для этого всего.
Нужно скачать последнюю версию Lubuntu например и записать при помощи ultraiso на флешку. Загрузить ноутбук с нее.
Затем нужно подключиться к вайфай сети и установить пакеты dsniff (предоставляет утилиту arpspoof) , nmap, tcpdump и (если хочется GUI) - wireshark, через apt-get.
В следующей статье я расскажу о перехвате и расшифровке зашифрованого https трафика пользователей.