RouterSploit
termuxguide
RouterSploit - это удобная программа на Python, которая автоматизирует большинство задач, связанных с компрометацией маршрутизатора. Созданный по образцу Metasploit, его команды будут знакомы всем, кто привык к инфраструктуре Metasploit. Он состоит из различных модулей, которые помогают тестированию на проникновение:
exploits- модули, которые используют выявленные уязвимостиcreds- модули, предназначенные для проверки учетных данных в отношении сетевых служб.scanners- модули, которые проверяют, уязвима ли цель для любого эксплойтаpayloads- модули, отвечающие за создание полезных нагрузок для различных архитектур и точек внедрения.generic- модули, которые выполняют общие атаки
Мы рассмотрим функцию Autopwn для быстрого выявления уязвимостей на маршрутизаторах и подключенных устройствах.
Содержание
Установка
Сперва устанавливаем базовые пакеты для работы
apt install git python
Далее клонируем репозиторий, переходим в директорию и смотрим содержимое
git clone https://github.com/threat9/routersploit cd routersploit ls

Обращаем внимание на файл requirements.txt, дословно он переводится как 'зависимости'.
Эти зависимости должны быть установлены для корректного запуска и работы программы.
Мы можем посмотреть от чего зависит программа выполнив команду
cat requirements.txt

Сперва давйте обновим pip
pip install --upgrade pip
Теперь установим зависимости
pip install -r requirements.txt
опция (-r) или (--requirement) считывает зависимости из файла где они указаны, иначе пришлось бы писать всё в одну строку, что не очень удобно.
Обратите внимание что устанавливаемые зависимости иногда могут не совпадать с теми что указаны в requirements.txt, обычно мы устанавливаем больше. Делаем это потому, что автором программы не было предусмотрено использование этой программы в "сырой" среде с минимальным количеством пакетов
Запуск
python rsf.py
или
./rsf.py

Интерфейс командной строки позволяет вводить простые команды для сканирования и использования маршрутизаторов, тут вы можете увидеть всё, что может предложить RouterSploit, набрав:
show all
А введя help вы ознакомитесь с базовыми командами фреймворка

Интересная команда exec, она позволяет выполнять любые shell команды не выходя из фреймворка. Это значит вам не нужно создавать вторую сессию из-за того что первая занята RouterSploit'ом.
Находим цель
Для начала начнем со сканирования целевого маршрутизатора, мы проверим, может ли каждая уязвимость работать против него.
Чтобы узнать ip адрес роутера сперва нужно узнать в каком диапазоне сети мы находимся.
Проверяем командой
exec ifconfig | grep broadcast

У сетей со значением broadcast 192.168.1.255 - адрес роутера 192.168.1.1, если broadcast 192.168.0.255 - адрес роутера 192.168.0.1
Учтите что так не у всех, а у большинства роутеров.
Сканируем
Мы будем использовать сканер Autopwn, чтобы найти любые уязвимости, которые относятся к нашей цели.
После запуска RouterSploit войдите в модуль Autopwn, введя следующие команды
use scanners/autopwn show options

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

Теперь установим в качестве цели IP-адрес маршрутизатора. Введите set target и затем IP-адрес маршрутизатора, затем нажмите enter. Наконец, введите run, чтобы начать сканирование.

Эксплуатируем
После завершения сканирования у нас останется список обнаруженных уязвимостей.

В моём случае RoterSploit нашёл дэфолтные учётные данные и одну уязвимость. Чтобы посмотреть о ней информацию сперва я ввёл
use exploits/routers/tplink/wdr740nd_wdr740n_path_traversal
Затем
show info

Исходя из описания понимаем что эксплоит позволяет читать файлы системы
Запускаем
run

Как видим он прочитал файл /etc/shadow, который предназначен для хранения зашифрованных паролей
Файл чтения можно изменить, но сперва давайте глянем опции эксплоита

Можно изменить опции цели, и опции модуля, делается это через команду set которую мы использовали ранее для указании ip адреса маршрутизатора и ввода названия того что мы хотим изменить, ssl, цель, порт, вербализацию или имя файла. Для этого вместо filename как показано в следующей команде используем любую другую опцию как на скриншоте выше
set filename /etc/passwd run

Файл passwd содержит список пользователей, которые известны системе. Для лучшего понимания что это за файлы прочтите это.
Перебор паролей
Если сканирование не обнаружило ничего интересного, можно использовать ряд модулей creds, которые могут перебирать различные службы, включая HTTP, SSH, FTP и Telnet
Очень удобно наличие функции автозаполнением Tab'ом

Я не нашёл тут что-то связаное с перебором паролей админки HTTP, поэтому воспользуюсь поиском
search http brute

Отлично
use creds/generic/http_basic_digest_bruteforce
Смотрим описание
show info

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

Спасибо за прочтение. Возникли вопросы? Есть желание что-то добавить/подправить?
Написать автору - @Enleann
Поддержать автора - donationalerts.com/r/enleann
📢Наш канал 👉 t.me/termuxguide
📢Новостной канал 👉 t.me/termuxnews
👥Наш чат 👉https://t.me/joinchat/LPoOWVlTjQr3_hOqJQp7Qw
📝Правила чата 👉 https://telegra.ph/Pravila-02-17-4
👤Создатель канала 👉 @Enleann