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

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

image

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

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

Приступим


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

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

image

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

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

hydra -l admin -P myPass.txt -s 80 192.168.1.1 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 для справки по модулю)

Ну вот так как-то:

image

Второй вариант:

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

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

image

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

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

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

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

image

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

image

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

image

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

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

 Request URL:http://192.168.0.1/index.cgi

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

image

image

update_login=login&update_password=password&check_auth=y&tokenget=1300&
update_login=login&update_password=password 

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

image

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

image

<span langkey="bad_auth" style="display: inline;">Authentication failed!</span>

Выбираем:

span langkey="bad_auth"

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

index.cgi:update_login=login&update_password=password:bad_auth 

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

index.cgi:update_login=^USER^&update_password=^PASS^:bad_auth 

Вводим команду:

hydra -l admin -P router-pass.dic -t 1 -e nsr -vV -f -s 80 192.168.0.1 http-post-form "/index.cgi:update_login=^USER^&update_password=^PASS^:bad_auth"

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

image

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

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

Спасибо за внимание!
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 36

    +11
    Очередной ман по гидре, коих и так предостаточно
      +2
      Ну лично мне было интересно прочитать =) Сегодня доставал пароли из Asus роутера, подключившись к UART и выполняя nvram show|grep http_passwd. Так достаточно легко найти много интересных вещей (включая всякие логины и пароли), ну и можно даже немного конфигурировать роутеры, если не хочется подключаться к веб-интерфейсу. Тоже где-то описано, я уверен, но узнать про альтернативные способы полезно.
      0
      Спасибо! весьма интересно.
      Как-то давно делал скрипт на баше, там использовался то ли curl, то ли что ещё — и похожим образом я расковырял в роутере веб-странички, нашёл что и куда нажимать, и скрипт сам лазил на роутер, проверял наличие и статус двух соединений (так мне надо было) и если что не поднято — поднимал. Правда, задачи перебора паролей не стояло. Но и чисто «хакерских» утилит тоже не применялось. Думаю, что и перебор паролей можно на баше сварганить (да-да, тут вспоминается троллейбус из буханки).
        0
        Познавательно, спасибо!
          0
          Статья действительно интересная. Но мне кажется, что данную задачу можно выполнить раза в 2 быстрее, если использовать Burp.
          Я думаю, что инструмент для дебага, для «трудных» авторизаций. Жду продолжения. :)
            0
            Всё таки гидра легко ставится куда угодно и бесплатна. Установив Burb бесплатную версию у меня так и не получилось от него получить хоть чтото. Везде «заплати» и нет ясного порядка в UI. То же смое может сказать пользователь метасплоита, что им в разы быстрее пользоваться чем разбираться в 4х параметрах гидры.
            0
            У меня как раз DIR300NRU, как раз вспоминал пароль недавно. Надо попробовать второй способ.
              +3
              Надо просто сделать hard reset. Что там критичного то можно потерять?
                0
                «В нас пропал дух авантюризма» © Ипполит. Ирония судьбы, или С лёгким паром.
                  +2
                  Бывает такое, что забываешь пароль от DLS соединения. А восстановить чего через провайдера бывает значительно трудно\долго + можно остаться без интернета на время восстановления, ибо ресет уже выполнен.
                    +1
                    Можно подключиться через UART и смотреть nvram =)
                      0
                      Заранее у провайдера просится пароль.
                    0
                    В DIR320 есть дыра, позволяющая посмотреть текущий логин и пароль:

                    http://IP_роутера/model/__show_info.php?REQUIRE_FILE=/var/etc/httpasswd

                    Может и в DIR300 есть нечто подобное.
                    +16

                    Я-то думал тут и правда взлом, а статься про то, как посылать HTTP запросы...

                      0
                      Да, с учетом того, что авторизация проходит через отправку http запроса.
                    • UFO just landed and posted this here
                        +4
                        Верните мой 2003-й
                          +2
                          Вы когда-нибудь смотрели спектакль перевернув бинокль наоборот? Вот у меня сейчас такое же ощущение. Хорошая статья и ужасные скриншоты
                            0
                            Скриншоты второй части — с форума. Свои сделать не мог, так как у меня модель роутера не та.
                            +4
                            Предлагаю изменить заголовок на «Подбор пароля для роутера», т.к. слово взлом здесь неуместно.
                              0
                              Ну, технически, брутфорс — разновидность взлома. А то, что возможные пароли были известны можно списать на социальную инженерию, примененную автором к самому себе. Технически — взлом. =)
                              0
                              Использую patator, чего и другим желаю
                                –3
                                Спасибо большое, больше не придётся платить за интернет :)
                                  –1
                                  С mikrotik такие штуки не прокатят :).
                                    0
                                    … если настраивавший не поленился написать правила fail2ban.
                                      0
                                      Fail2ban конечно хороший ограничитель, но он не в стандартных пакетах для микротика, но могут воспользоваться прелестями ipv6 и генерировать на каждую попытку адрес, по стандарту можно и надо ссж/телнет/веб все порты во вне, стандартные учетку заменить на свою, ограничить вход из под определенной резервированной группы адресов привязанных по макам(можно добавить по сертам)
                                    –1
                                    У меня открытый wi-fi уже третий год. Пусть пользуется кто хочет, мне не жалко.
                                      +2
                                      Вы потом «майору» будете рассказывать кто эти «кто хочет» и как «их» найти… для него это будете именно «вы».
                                        0
                                        Как выяснилось, им проще по подъездам в поисках гипотетического барыги какого-нибудь пройтись, чем искать открытые сети. Вот ловили кого-нить с подключением к ретрансляторам?
                                          0
                                          Сейчас — да. Будет ли когда-нибудь по-другому — неизвестно. Но если вдруг проверять начнут, то закрыть точку можно и не успеть.
                                        +1
                                        Довольно странно слышать подобное от «специалиста по информационной безопасности».
                                          0
                                          Стоит 2 точки одна asus c открытой сетью но вся урезана по скорости и запросам и с другой подсеткой через ИКсу, а вторая сиско для личных нужд и закрыта от посторонних вот и все!

                                          забыл разъяснить
                                            0
                                            Разрешите поинтересоваться: к чему такие замысловатые телодвижения?
                                        0
                                        с OpenWRT так не прокатит как я понял.
                                          0
                                          Интересно, но я немного не понял, вроде же чтобы было приглашение ввести логин\пароль, нужно быть подключенным к роутеру по WiFi или проводом, верно?
                                            0
                                            Я, конечно, не уверен, поправьте, если не прав, но, возможно, сработает с любым роутером, к которому есть доступ из сети.

                                          Only users with full accounts can post comments. Log in, please.