Меню Рубрики

Взлом web интерфейса администрирования роутера

Взлом «админки» роутера

*Здесь могло быть предупреждение о том, что не нужно пользоваться данной программой в преступных целях, но hydra это пишет перед каждым сеансом взлома*

В общем, решил я по своим нуждам покопаться в настройках роутера, вбиваю я всем знакомый адрес, а тут пароль спрашивают. Как быть? Ну, начал я перебирать пароли, а их количество слишком большое, что бы перебирать все и слишком маленькое, чтобы делать reset.

И я открыл google. После пары запросов я узнал о такой вещи как hydra. И тут началось: жажда открытий, поиски неизведанного и так далее.

Приступим

Первым делом мной был составлен словарь паролей, ни много, ни мало, аж на 25 комбинаций. Далее качаем либо Kali linux, либо саму Гидру (если вы пингвин у вас линукс). Теперь у нас два варианта (ну как два, я нашел информацию по двум вариантам).

Либо у вас вот такое диалоговое окно:

Либо логин и пароль запрашивает форма на сайте. Мой вариант первый, поэтому начнем с него. На нашем пути к «админке» стоит страж в виде диалогового окна. Это вид авторизации http-get.

Открываем терминал. Вводим:

Где после «-l» идет логин, после «-P» словарь, после «-s» порт. Также в нашем распоряжении есть другие флаги:

-R восстановить предыдущую прерванную/оборванную сессию

-S выполнить SSL соединение

-s ПОРТ если служба не на порту по умолчанию, то можно задать порт здесь

-l ЛОГИН или -L ФАЙЛ с ЛОГИНАМИ (именами), или загрузить несколько логинов из ФАЙЛА

-p ПАРОЛЬ или -P ФАЙЛ с паролями для перебора, или загрузить несколько паролей из ФАЙЛА

-x МИНИМУМ: МАКСИМУМ: НАБОР_СИМВОЛОВ генерация паролей для брутфорса, наберите «-x -h» для помощи

-e nsr «n» — пробовать с пустым паролем, «s» — логин в качестве пароля и/или «r» — реверс учётных данных

-u зацикливаться на пользователя, а не на парлях (эффективно! подразумевается с использованием опции -x)

-C ФАЙЛ формат где «логин: пароль» разделены двоеточиями, вместо опции -L/-P

-M ФАЙЛ список серверов для атак, одна запись на строку, после двоеточия ‘:’ можно задать порт

-o ФАЙЛ записывать найденные пары логин/пароль в ФАЙЛ вместо стандартного вывода

-f / -F выйти, когда пара логин/пароль подобрана (-M: -f для хоста, -F глобально)

-t ЗАДАЧИ количество запущенных параллельно ЗАДАЧ (на хост, по умолчанию: 16)

-w / -W ВРЕМЯ время ожидания ответов (32 секунды) / между соединениями на поток
-4 / -6 предпочитать IPv4 (по умолчанию) или IPv6 адреса

-v / -V / -d вербальный режим / показывать логин+пароль для каждой попытки / режим отладки

-q не печатать сообщения об ошибках соединения

-U подробные сведения об использовании модуля
server цель: DNS, IP или 192.168.0.0/24 (эта ИЛИ опция -M)
service служба для взлома (смотрите список поддерживаемых протоколов)
OPT некоторые модули служб поддерживают дополнительный ввод (-U для справки по модулю)

Не мой, честно взят с Античата, с исправлением грамматических ошибок автора (Обилие знаков пунктуации я оставил). Интересно это можно считать переводом?

Нас встречает форма на сайте:

Такой метод авторизации — http-post-form, и тут нужно немного повозится, так как нам нужно понять, как браузер отправляет роутеру данные.

В данном случае и использовал браузер Chrome (его аналог Chromium в Kali Linux, ставится через apt-get install chromium).

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

Нажимаем F12 что бы перейти в режим редактирования веб-страницы.

Переходим в Network → Включаем галочку Preserv log.

Вводим ложные логин и пароль…

Ну что за дела? Так не пойдет! Более того, после нескольких неудачных попыток входа, форма блокируется на 180 секунд.

Переходим во вкладочку HEADERS ищем строку:

Отрезаем все до ip-адреса — /index.cgi… Поздравляю мы нашли первую часть скрипта авторизации… Идем дальше… Переходим к вкладке FORM DATA и изменяем режим отображения на VIEV SOURCE.

Бинго! Мы нашли вторую часть скрипта авторизации! Еще чуть-чуть! теперь нужно найти страницу с сообщением об ошибке… Нужно нажать на вкладку ELEMENTS.

И выбрать элемент HTML кода (CTRL+SHIFT+C) и выбрать окно с сообщением об ошибки… в данном случае — Authentication failed!

и немножко правим… bad_auth — все! Ключ практически у нас в кармане… Теперь мы можем полностью написать строку авторизации:

Теперь нужно подставить вместо «login» — ^USER^ и вместо «password» ^PASS^ и тогда строка будет иметь вид:

Обратите внимание что между частями скрипта двоеточие! это обязательно! Кстати, блокировки формы через гидру не происходило… Это очень радует.

В работоспособности второго метода мне убедиться не светит, так как я не обладатель подходящей модели роутера. Придется довериться экспрессивному человеку с Античата.

Если кому интересно, будьте добры, проверьте и отпишитесь в комментариях. Я работал с роутером TL-WR1043N/TL-WR1043ND. Роутер с Античата — D-link300NRU.

Источник

Взлом роутера. Методы и примеры.

В отличие от полноценных серверов, где обычно настроены PAM (Pluggable Authentication Modules), которые ограничат доступ к серверу на определенное в конфиге время после нескольких (как правило, трех-пяти) неудачных попыток входа, в роутере linux обрезанный. PAM на нем нет, поэтому ничто не мешает его брутить. И эта идея — брут и захват роутеров — сегодня, можно сказать, в тренде!

Взлом роутера

Зачем нужно захватывать роутер? Это зависит от фантазии хакера: можно использовать его для рассылки спама, сделать из него приватный сокс (прокси). А можно продать полученный доступ — стоит это удовольствие, со слов одного моего знакомого, до 200 долларов в месяц, и этот товар пользуется изрядной популярностью.

Сканируем роутеры

Для получения доступа хакеры используют простую, но эффективную программулину Tunnel Scanner. Параметр Type задает тип сканирования: по статическому логину, по статическому паролю, по списку логинов/паролей. Третий вариант (By Login;Password List), кaк правило, самый эффективный.

Параметр Static позволяет задать диапазон IP-адресов, который будет сканироваться. Если включить чекбокс IP ranges from file, то диапазон IP-адресов будет браться из файла, указанного в поле IP ranges (по умолчанию это файл с именем ip.txt). Диапазоны в нем указываются, как показано на скрине ниже.

Файл ip.txt — диапазоны IP-адресов

Список логинов и паролей задается параметром Login;Password. По умолчанию он берется из файла words.txt. Конечно, пример списка ниже довольно убогий, но, думаю, в Сети ты без проблем найдешь более продвинутый (или можно проявить смекалку и создать свой).

Списoк логинов и паролей

Параметр Threads задает количество одновременных потоков для брута. По умолчанию используется значение 900 — этого более чем достаточно. Параметр Timeout определяет тайм-аут в секундах между попытками.

Что ж, осталось нажать кнопку Start.

Программа Tunnel Scanner в работе

Как видишь, мы уже получили первые результаты. Проанализируем их:

Номер в квадратных скобках — это номер потока (для нас он не имеет значения). Далее указывается сканируемый IP-адрес. Строка failed to connect означает, что порт SSH закрыт — или совсем, или для нас (брандмауэром). Строка вида [-]: admin;admin сообщает, что SSH-порт открыт, однако пароль и/или логин не подошел. А вот аналогичная строка с + говорит, что все удалось:

Это значит, что на машине с IP 37.112.128.164 крутится SSH, войти в систему можно, используя логин ftp и пароль 123456.

Результаты последнего удачного сканирования заносятся в файл brute_good.txt. С этим файлом нужно быть очень осторожным — программа перезаписывает его при каждом нажатии кнопки Scan. Поэтому после каждого «улова» нужно делать бэкап этого файла.

Результат удачного сканирования записывается в файл brute_good.txt

Напоследок привожу еще два скрина — сканирование диапазона 37.112.128.100–37.112.128.164. Обрати внимание, на скольких компах в этом диапазоне есть SSH. Сообщений «failed to connect» очень мало.

Сканируем заданный диапазон

Сколько можно так насобирать? Знакомый говорит, что за один день можно получить до 13 000 строк логин/пароль. Это очень много и говорит о том, что даже в наши дни с безопасностью на многих роутерах все запущено

Кто брутит?

Согласно данным atlas.arbor.net, за последние 24 часа брут SSH был второй по популярности атакой в мире.

Откуда же исходит угроза? По той же статистике за сутки (сегодня у меня 10 марта 2016 года), чаще всего источник угрозы находится в США, на втором месте — Китай. Конечно, IP-адрес можно изменить, но не думаю, что китайцы особо заморачиваются с этим. Ниже я привел статистику отдельно по всем угрозам и только по SSH-атакам.

Источники угроз за сутки (все угрозы)

Источники SSH-атак за сутки

Как защитить роутер?

Еcть четыре простых способа:

  1. Роутер настраивается не так часто, и изменять его параметры приходится (после первоначальной настройки) еще реже. Поэтому можно просто отключить SSH. По большому счету он там не особо нужен. Можно включать его только на определенные дни, например когда ты в отпуске и может понадобиться твое вмешательство. Хотя, как правило, роутеры настраиваются по принципу «установил и забыл», но все же.
  2. Если SSH нужен, тогда следует изменить его порт. Все подобные рассмотренному сканеры проверяют 22-й порт. Они не сканируют все порты узла. Конечно, если захотят пробрутить именно твой роутер, то сканером портов заветный порт будет очень быстро вычислен. Но если нужен любой роутер, то будут сканировать только порт 22.
  3. Используй сложные пароли. Даже если программа найдет твой SSH-порт, вряд ли она сможет подобрать пароль вроде v8KL2BuCLbcySua .
  4. Настрой брандмауэр так, чтобы доступ к порту SSH разрешался только из определенной подсетки (например, из твоей домашней подсетки — не думаю, что в ней живут миллионы китайцев, желающих пробрутить твой SSH :)).

Скачать программу Tunnel Scanner можно здесь и здесь слегка доработаную версию.
Здесь можете посмотреть ее исходники на GitHub.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Ярлык на рабочий стол linux
  • Яндекс строка для linux
  • Яндекс программы для linux
  • Яндекс навигатор для linux
  • Яндекс диск монтирование linux