Получаем карту WiFi точек в своем городе (с данными авторизации)

Приветствую всех.
В этой статье я бы хотел рассказать о том, как можно получить карту своего города, с отмеченными на ней WiFi точками. Причем для каждой такой точки будут доступны данные для подключения.

Нам понадобятся:

  • IP диапазоны вашего города
  • RouterScan, собственно, для получения данных о сетях WiFi
  • BSSID Finder - программа, находящая местоположение точек по их BSSID (mac-адресу)

Получаем IP диапазоны города.
Заходим на https://4it.me/getlistip, вводим желаемый город, и копируем весь список диапазонов.

Настройка и использование RouterScan.
RouterScan - это программа для «массового тестирования на проникновение беспроводных устройств, подключенных к всемирной или локальной сети с использованием протокола TCP/IP с включённым веб-интерфейсом администрирования по протоколу HTTP», как утверждает разработчик.
Фактически, программа проходится по каждому IP из указанного диапазона, в надежде обнаружить там роутер и войти в его панель управления, и если у нее это получается, мы получаем достаточно много информации, а именно:

  • Собственно, сам IP адрес роутера
  • Данные для авторизации в панели управления
  • Имя устройства/модель роутера
  • BSSID (mac-адрес или серийный номер устройства)
  • SSID и пароль (данные для подключения к WiFi сети)
  • Локальный IP адрес, различные IP маски и т.д.

Самое интересное, что программа сохраняет в гуды не только роутеры, но и вообще все девайсы/сервера, где есть авторизация. То есть, если программе попадется сервер с авторизацией, к которому она сможет подобрать пароль, он окажется в списке гудов.
Как по мне это плюс, потому что помимо роутеров можно найти много интересных вещей. Я, например, натыкался на IP-камеры и панель управления умным домом.

Но давайте ближе к делу. Открываем RouterScan, вставляем диапазоны, и жмем «Start scan». Все. Просто ждем окончания сканирования. Программа, кстати, показывает, сколько времени займет сканирование, и сколько прошло с момента его начала.

После окончания сканирования переходим на вкладку «Good Results», экспортируем таблицу, нажав Ctrl + S, или открываем меню на правую кнопку, и выбираем пункт «Export scan table».

Теперь у нас есть данные о WiFi точках, осталось только сформировать карту, на которой они будут отмечены.

Использование BSSID Finder и формирование карты с точками.
Перед началом следующего пункта, хотелось бы рассказать небольшую предысторию, и то, благодаря чему вообще появилась данная статья.
В меню RouterScan есть возможность найти точку доступа по BSSID. И это действительно работает, программа находит местоположение желаемой точки. Не без погрешности, конечно, но она очень небольшая. Можно понять даже в каком именно подъезде дома находится роутер.

Мне стало очень интересно, каким образом все это реализовано. Позже выяснилось, что используется то ли баг, то ли уязвимость в API сервисов Яндекса, либо они это уязвимостью вообще не считают. Короче говоря: есть определенный запрос к API, в параметрах которого указывается BSSID устройства. В ответ на этот запрос API возвращает некоторую информацию, в которой содержится координаты точки в виде координат широты и долготы. После всего этого в голову пришла идея: написать программу, которая парсит экспортированную из RouterScan таблицу, находит координаты для каждой точки и добавляет их на карту. Результат - программа BSSID Finder.

Скачать ее можно здесь:

https://yadi.sk/d/y-WTWGu63Ypj5Z

Ссылка на VT: https://www.virustotal.com/#/file/2cc535a038786df4829b13661ed9b0a8e9357905daab95413def0a7ec1a72409

Заходим в программу, вводим путь или перетаскиваем в окно консоли файл, экспортированный из RouterScan, и нажимаем Enter.

Дожидаемся результатов сканирования. После окончания сканирования программа покажет статистику и предложит открыть карту.

Соглашаемся, и видим вот такой результат:

Как обезопасить свой роутер от обнаружения по BSSID?
Если кто-то узнает ваш BSSID - у него всегда будет доступ к местоположению вашего роутера (может быть пропадет на время пока роутер не выходит в интернет, не проверял). Поменять его достаточно сложно, на некоторых моделях роутеров это сделать просто нельзя. Но этого делать и не стоит. Достаточно зайти в панель управления роутером, и поменять стандартные данные для входа на более надежные.
Еще как вариант, можно перекрыть трансляцию локального IP роутера в интернет, на IP, выдаваемый провайдером при подключении к сети. Проще говоря оставить доступ к настройкам роутера только из вашей локальной сети. Это сделает роутер недоступным для RputerScan'а, ведь он просто не сможет найти его. Во многих роутерах так сделано по умолчанию, но выше проделанная практика дает о себе знать.

Заключение.
Очень благодарен, если вы дочитали статью до конца. Надеюсь, она получилась интересной и познавательной.
Ну и еще хочу сказать, что не призываю никого к противоправным действиям. Вся информация предоставлена исключительно в ознакомительных целях, и не рекомендуется к практическому применению.