iSniff-GPS - захват и визуализация данных (раскрытых IOS устройствами) нахождения Wi-Fi

iSniff-GPS - захват и визуализация данных (раскрытых IOS устройствами) нахождения Wi-Fi

UnderMind

В этой статье я расскажу о такой утилите, как iSniff-GPS.

iSniff GPS пассивно сниффит (прослушивает) SSID зонды, широковещательные пакеты ARP и MDNS (Bonjour) близлежащих iPhone, iPad и других беспроводных устройств. Цель - собрать данные, которые можно использовать для идентификации каждого устройства и определения предыдущих географических расположений, основываясь исключительно на информации от каждого устройства о беспроводных сетях WiFi, к которым они ранее подключались.

iOS устройства пересылают ARP, которые иногда содержат MAC адреса (BSSID) WiFi сетей, к которым они ранее подключались. iSniff GPS захватывает эти ARP и отправляет MAC адреса службе локации Apple's WiFi (притворяесь устройством iOS) для получения GPS координат данной BSSID. Если были захвачены только SSID зонды для конкретного устройства, iSniff GPS может делать запросы по имени сети на wigle.net и визуализировать возможные локации.

Выяснив расположение нескольких SSID и MAC адресов WiFi роутеров, возможно определить, где устройство (и, косвенно, владелец) вероятно находились.

Установка в Kali Linux

Скачиваем файлы программы, устанавливаем зависимости:

apt-get install python-scapy

git clone https://github.com/hubert3/iSniff-GPS.git

cd iSniff-GPS/

pip install -U -r requirements.txt


Инициализируем базу данных

./manage.py syncdb


Запускаем веб-сервер для пользовательского графического интерфейса:

./manage.py runserver 127.0.0.1:8000 &


Веб-интерфейс теперь доступен по адресу http://127.0.0.1:8000/

Переводим беспроводную карту в режим монитора:

t=`iw dev | grep 'Interface' | sed 's/Interface //'`;sudo ip link set $t down && sudo iw $t set monitor control && sudo ip link set $t up


Проверяем имя беспроводного сетевого интерфейса:

iw dev


Запускаем пассивный сниффинг:

./run.sh -i wlan0


Необязательно прослушивать данные с живого интерфейса - также можно анализировать файл pcap, импорт данных из файла захвата wifi pcap можно сделать выполнив:

./run.sh -r <chan11.pcap>


Использование

Опциональные аргументы:

  -h, --help    показать справку и выйти

  -r PCAP       pcap файл для чтения

  -i INTERFACE  интерфейс для прослушивания (по умолчанию mon0)


Для выпрашивания ARP из iOS устройств, настройте точку доступа с отключённым DHCP (например, используя airbase-ng) и настройте ваш интерфейс сниффинга на этот же канал.

После подключения iOS устройства будут отправлять до трёх ARP, предназначенные для MAC адреса DHCP сервера предыдущих сетей, к которым они подключались. На типичном домашнем WiFi роутере MAC адрес DHCP сервера такой же как и MAC адрес WiFi интерфейса, который может быть использован для точной геолокации. В больших корпоративных WiFi сетях MAC DHCP сервера может быть другим и, таким образом, не может использоваться для геолокации.

Обратите внимание, что по состоянию на iOS 6, DNAv4 ARP, содержащие раскрывающую информацию, должны отправляться только зашифрованным сетям.

Примеры запуска iSniff-GPS

Импорт данных из файла захвата wifi pcap:

./run.sh -r <chan11.pcap>


Запуск пассивного прослушивания на “живом” источнике (беспроводной сетевой интерфейс Wi-Fi):

./run.sh -i wlan0


Компоненты iSniff-GPS

iSniff GPS содержит 2 главных компонента и следующие python модули:


  • iSniff_import.py использует Scapy для извлечения данных из живого захвата или файла pcap и вставки в базу данных (по умолчанию iSniff_GPS.sqlite3).
  • A Django web application обеспечивает графический интерфейс в браузере для просмотра и анализа собранных данных. Сюда включён просмотр всех выявленных устройств и SSID / BSSID, каждое из которых зондировало, просмотр сетей, просмотр Google Maps для визуализации возможных расположений данных BSSID или SSID и круговая диаграмма показывающая разбивку популярности устройств по производителям (данные определяются исходя из MAC адреса Ethernet OUI).
  • wloc.py обеспечивает функцию QueryBSSID(), которая ищет данный BSSID (MAC адрес ТД) на сервисе локаций Apple's WiFi. Она вернёт координаты для запрошенного MAC и обычно 400 дополнительных близлижащих BSSID и их координаты.
  • wigle_api.py обеспечивает функцию getLocation() для запроса по оданному SSID по базе данных wigle.net и возвращает GPS координаты. В файле the settings.py должны быть установлены валидные имя пользователя и пароль.


Спасибо за прочтение!

Также вы можете присылать ваши статьи в бота (оформляйте в телеграфе, я их просмотрю, если всё ОК - опубликую статью на канале с указанием автора.

Report Page