Как взломать пароль веб интерфейса роутера

Некоторое время назад один товарищ (будем называть его Билл) попросил меня о довольно странной просьбе – взломать его систему. Все имена и названия (кроме производителей) также изменены.

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

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

Переходим к беспроводным сетям, предоставляющим обширное поле для деятельности. У меня в наличии две видеокарты Radeon 6990, которые в связке с процессором Intel Core i7 прекрасно щелкают WPA-хеши. Для генерации словаря используются цепи Маркова, который потом передается в oclHashcat. При этом за 8 часов успешный подбор пароля осуществляется в 80% случаев.

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

После того как я в очередной раз зашел в гости к Биллу, то узнал очередную порцию полезной информации. M AC-адрес (BSSID) его роутера был 06:A1:51:E3:15:E3. Поскольку у меня есть OUI (первые три байта MAC-адреса), я знаю, что у него роутер Netgear. Я также знаю, что у роутеров Netgear есть некоторые проблемы, но у Билла установлена последняя версия прошивки. И все-таки было решено купить и протестировать этот роутер на предмет присутствия непропатченных уязвимостей.

Определить версию роутера не представлялось возможным. Однако, зная о том, что Билл – экономный человек, я решил взять модель WNDR3400v3.

После изучения некоторых старых уязвимостей купленного девайса я создал два модуля для Metasploit. В первом модуле эксплуатировалась уязвимость CSRF (Cross-Site Request Forgery, Межсайтовая подделка запроса) для мапирования интерфейса UPnP, который позволял получить доступ к роутеру через telnet. Вероятно, подобная уязвимость, существует во многих других устройствах. Важно подчеркнуть, что:

Если вы можете подделать UPnP запросы через CSRF, то сможете получить доступ ко всей сети.

Для того чтобы подсунуть Биллу мой эксплоит, я отправил ему электронное сообщение со ссылкой. У Cobalt Strike есть утилита для копирования электронного сообщения (вместе с заголовками). Нам же достаточно изменить ссылки. В качестве приманки я решил отправить ему сообщение о приглашении в Linkedin.

Примечание: Возможно, сейчас вы задаетесь вопросом, как продвинутый чувак может пойматься на такой топорный трюк, ведь даже беглый осмотр отправителя или ссылки тут же раскрывает весь наш замысел. Главный фактор успеха – хорошая легенда. Мы будем использовать метод социальной инженерии, описанный в этой статье. Письмо отсылалось от имени предполагаемого работодателя, с которым недавно встречался Билл и который приглашал его на неформальное интервью.

Перед тем как отсылать письмо, нужно было создать полезную нагрузку. По умолчанию telnet-порт доступен на роутерах Netgear, но сам сервис не работает до тех пор, пока вы не подключитесь к порту и не отправите специальный ключ разблокировки. Для решения этой задачи, вместо использования публичного эксплоита, я написал еще один модуль для Metasploit.

Билл кликнул на ссылку. Как только я увидел обратное соединение (callback), то запустил второй модуль и подключился к роутеру через telnet. После получения прав суперпользователя я тут же изменил настройки DNS, указав подконтрольный мне DNS-сервер.

Контроль над DNS сервером позволяет выполнять различные MITM-атаки. Больше всего мне нравится фреймворк Evilgrade, позволяющий подсовывать свои собственные файлы при обновлении приложений. Evilgrade в течение многих лет показывал прекрасные результаты (с небольшими модификациями). Через неделю Билл решил обновить notepad++, и я подсунул ему версию с бэкдором, что дало мне полный доступ к его машине при помощи интерпретатора команд через Meterpreter. После этого я отправил Биллу несколько скриншотов и лог нажатых клавиш.

За свои старания я был награжден шестью бутылками пива ).

Вы что, всерьёз подумали о том, что мы сейчас расскажем, как легко и быстро «вычислить по IP» недруга и отсыпать ему виртуальных пинков? Отнюдь, мы просто напомним читателям о нескольких банальнейших советах по повышению защиты домашних роутеров от взлома, а на закуску добавим пару мыслей на тему (без)опасности современного мира.

К чему это приводит? Ну, к примеру, пять лет назад «внезапно» обнаружился настоящий ботнет Psyb0t. Сколько подобных ботнетов или просто уязвимых роутеров было и есть на просторах Сети, не знает, наверное, никто. Если интересно, можете сами помучить поисковики на эту тему. Для осознания всей глубины падения начать лучше всего с сервиса Shodan. Это такая специализированная поисковая машина, которая рыщет в Сети и выявляет доступные всему миру сетевые устройства и сервисы, уже перечисленные нами выше. Пожалуй, самое популярное развлечение — это просмотр чужих камер да отправка на печать всяких непристойностей незадачливым пользователям, которые поставили простой пароль или решили вообще обойтись без него.

Второй важный момент — это надёжный и регулярно обновляющийся пароль не только для веб-интерфейса, но и к вашей сети Wi-Fi. Советов по их созданию в Интернете масса. Базовые элементы таковы: длина хотя бы с десяток-другой символов, по возможности бессмысленный набор больших и маленьких букв вперемешку с цифрами, а также исключение любых осмысленных слов. Также следует отказаться от использования паролей к Wi-Fi, которые по умолчанию установлены производителем. Они либо всегда одинаковы, либо частенько генерируются по заранее известному шаблону. Ни при каких условиях нельзя использовать алгоритм шифрования, отличный от WPA2. Все предыдущие алгоритмы (WEP, WPA) очень легко взламываются. Это касается и гостевых точек доступа, которые лучше вообще не использовать или хотя бы сделать изолированными от основной локальной сети, если такая функция поддерживается роутером. Следующий этап защиты — отключение функции WPS с использованием цифрового PIN-кода, которая по умолчанию включена в большинстве роутеров. Да, сейчас во многих прошивках уже встроены различные методы защиты от атак на WPS, что, однако, никому не мешает продавать готовые устройства для взлома WPS. Есть и множество других советов по повышению защиты своей домашней сети. Например, полезны выход из веб-интерфейса после завершения настроек, а не просто закрытие вкладки в браузере или же смена адресации в локальной сети со стандартных вариантов 192.168.0.0 или 192.168.1.0 на любую другую частную подсеть.

Включаем шифрование WPA2 и задаём надёжный пароль сети Wi-Fi

Но самое простое — это всё-таки регулярное обновление прошивки. При этом лучше не полагаться на встроенные средства автообновления ПО роутера, а самостоятельно регулярно проверять наличие свежих сборок на сайте производителя. Отдельная проблема с оборудованием, полученным от интернет-провайдера. Такие маршрутизаторы, во-первых, могут удалённо управляться самим оператором, а во-вторых, пользователям зачастую запрещено вносить изменения в настройки. Ситуация усугубляется тем, что и пароль для доступа к настройкам, и пароль на Wi-Fi нередко опять-таки создаются по шаблону, который легко вычислить. При этом зачастую в таких устройствах используются собственные варианты прошивок, ошибки в которых могут оставаться очень долгое время.

А какие там могут быть ошибки? О, да тут всего не перечислить! Для начала можете поискать информацию здесь, здесь или здесь по ключевому слову router. Если вам этого недостаточно, то опять-таки идём в любой поисковик и задаём запрос в духе «роутер уязвимость» и «router vulnerability» или «взлом роутера» и «router hack». В общем, дыр в прошивках хватает. Дыр или всё-таки аккуратно проделанных технологических отверстий? К сожалению, разработчики ПО нередко исповедуют подход security through obscurity («безопасность через неясность»), а всё тайное, как известно, рано или поздно становится явным. И хорошо, если рано, потому что в реальности подобные дыры могут мирно ждать своего часа не один год. Или не ждать, ибо злоумышленники могли по-тихому воспользоваться подобными бэкдорами или просто ошибками не один раз.

Чисто теоретически могут помочь альтернативные прошивки с открытым исходным кодом. Впрочем, тема прошивок настолько богата, что мы обязательно как-нибудь посвятим ей отдельный материал. А пока вспомним вот такое древнее исследование, в котором утверждается на примере ядра Linux, что в opensource-продуктах намного меньше ошибок. В ядре в среднем 0,17 ошибки на 1000 строк кода, а в закрытом ПО имеется 20-30 ошибок на тот же объём кода. На самом деле это практически ни о чём не говорит, потому что всего один критический баг может «стоить» в разы дороже, чем сотни мелких брешей в коде. Тем более тут тоже встречаются ошибки, которые живут четверть века, а то и больше. Глянешь — сердце кровью обливается! Так что альтернативные прошивки — тоже не панацея.

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

В основе статьи лежит интервью с настоящим хакером Graf_Black.

Материал, изложенный в этой статье  первоначально планировалось включить отдельной темой в  книгу под рабочим названием «Инструментарий хакера», которая должна вот- вот выйти в свет в издательстве БХВ (С-Петербург). Но, так  получилось, что книга уже была  сдана в набор, а данная  глава была еще  не совсем готова. Поскольку это может оказаться интересным для многих читателей то решено было сделать отдельную публикацию.

В основе статьи лежит интервью с настоящим хакером, что согласитесь, не часто можно встретить.

Не будем рассказывать о том, как произошло это знакомство, и как удалось уговорить хакера на придание огласке  нашей беседы. Отметим только, что весь диалог был виртуальным.

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

С. А. Б.: Как мне вас называть?

Хакер: Сегодня можно – Graf_Black!

С. А. Б.: Вы хакер!

Graf_Black: Не думаю, что являюсь таковым в том смысле как Вы это  себе представляете.

Graf_Black: Может быть я несколько витиевато выражаюсь! Но, во всяком случае, я не взламываю системы для проникновения в них  ради какой- то выгоды, да и вообще с целью проникновения.  Можно было бы меня назвать этичным хакером, но у меня нет и заказчиков для тестирования систем. Я просто изучаю системы ради интереса, и вообще стараюсь не  нарушать  закона, никому не делать зла.

С. А. Б.: Как Вы относитесь к различной литературе по теме хакинга?

Graf_Black: Для того чтобы ответить на этот вопрос давайте в качестве примера рассмотрим взлом WiFI роутера по протоколу WPS, который из всех опубликованных   на сегодня   способов представляется наиболее эффективным и простым!

Напомним: WPS – (Wi-Fi Protected Setup) протокол применяют  для  упрощения одноименного процесса настройки беспроводной сети.  Грубо говоря – протокол для ленивых, используемый в процессе подключения WiFi-устройства к роутеру, участвующий в процессе настройки этого устройства. Делается это так, что пользователю  не требуется стараться при конфигурировании подключаемого устройства, вводить сложный  секретный ключ для WPA2-PSK.  Нужно только знать pin-код устройства, состоящий всего из 8-и цифр (который по утверждению всех источников можно считать с этикетки на корпусе роутера). При настройке, если воспользоваться WPS, роутер сам выдаст устройству значение секретного ключа. Чтобы взломать устройство WiFi требуется знать только pin-код, и  не требуется производить сложных атак для  WPA2-PSK (например, пробовать взлом по словарю с применением заумных, сложных мутаций, и не факт что  это может привести к успеху).

Оказывается структура pin-кода  и самого процесса авторизации такова, что количество комбинаций при брутфорсе (взломе пароля методом перебора) значительно меньше, чем можно было бы предположить, за счет того, что код состоит  из трех частей:

– последняя цифра  это контрольная сумма, полученная из первых 7-цифр (только за счет этого уже значительно   уменьшилось количество комбинаций),

– две части из 4-х и 3-х цифр участвуют в авторизации по отдельности  (в результате чего для полного перебора требуется еще меньше комбинаций).

Благодаря  Интернету укоренилось  мнение:   в результате того, что в указанном  протоколе  (WPS) имеется уязвимость, можно с легкостью взломать чуть ли не каждый роутер и  за считанные часы.

Но, теория теорией, а  действительность  такова, что взламывать – то оказывается и нечего (сразу оговорюсь – количественные оценки сделаны на основе личного опыта):


Как взломать пароль веб интерфейса роутера

Были названы не все причины, только основные! На этой цифре 10+20+40+5+15=90% WiFi роутеров, не подлежащих взлому,  пожалуй, и остановлюсь! А то ненароком, увлекшись,  насчитаю более 100  процентов! Оставим себе шанс, что процентов  около 10% роутеров, находящихся  в Вашем окружении,  все же взломать можно.

Сплошные сложности. И это еще не все! Пойдем дальше.  О том, что для взлома роутера требуется максимум 10 – часов, как описывается во всех без исключения  статьях на эту тему,  вообще  какая-то слишком уж  теоретическая цифра!  Сказал однажды кто-то, и все: как аксиома тиражируется всеми, никто не подверг сомнению! Уверяю Вас – на практике  нужно до  48 часов.  Если на взламываемом  роутере pin-код имеет значение 99999991, то вы потратите 2-ое суток (в худшем случае может быть даже немного больше). А если  значение pin-кода – 09999991, можно  обойтись и за 2-4 часа.

Роутер с таким значением pin-кода, как на рисунке 2, можно  взломать даже менее чем за час:


Как взломать пароль веб интерфейса роутера

Правда,  вряд ли  Вам удастся взломать, именно это устройство! Просто   потому что это мой роутер, и  вхожу  в 5 процентов  тех,  кто в курсе. Шучу! Кроме того, как вы видите  pin-код можно и поменять, остановившись на большем его значении!

Попутно  замечу, что не встречал ни в одной из статей по обсуждаемой уязвимости,  упоминания о том, что pin-код может быть не написан на корпусе, а выводится в одном из меню роутера (как мы видим в  случае на рисунке 2).


Как взломать пароль веб интерфейса роутера

2. В  нашем примере мы использовали   комакт-диск. Linux загрузился в режиме командной  строки. Для того чтобы загрузиться в графическом режиме наберем команду startx (рисунок 4):


Как взломать пароль веб интерфейса роутера

Как взломать пароль веб интерфейса роутера

Затем выполним команду:

iwconfig

По результату срабатывания  указанной команды видим, что WiFi-адатер он работает, и нужный нам  интерфейс будет обозначен как Wlan0 (рисунок 6):


Как взломать пароль веб интерфейса роутера

Убедимся, что  в состав набора входит программа для взлома reaver. Для этого  попробуем запустить  программу также в терминальной сессии (рисунок 7):


Как взломать пароль веб интерфейса роутера

Необходимо, чтобы программа reaver, реализующая взлом по уязвимости протокола WPS, входила бы в состав этого  дистрибутива, и чтобы она была не ниже  версии 1.4. Поэтому в п.1. мы говорили о том, что сборка BackTrack 5 (BT5)  не должна быть очень старой. Если программы нет,  Вам придется ее устанавливать, например,  так (способов вообще-то много):

2.1. Способ 1. Выполнить команды:

apt-get update

apt-cache search reaver

apt-get install reaver

Первая команда  обновляет  список доступных пакетов. Вторая позволяет проверит есть ли  reaver. Третья команда установит reaver

2.2. Способ 2. Выполнить команды:

svn cleanup reaver-wps

svn checkout http://reaver-wps.googlecode.com/svn/trunk reaver-wps

Часть скрин-шота от команды  svn checkout  приведена на рисунке 8:


Как взломать пароль веб интерфейса роутера

Далее нужно выполнить команды:

cd ./reaver-wps/src/

./configure

make

make install

«Перегрузим» сетевой интерфейс командами:

ifconfig wlan0 down

ifconfig wlan0 up

После каждой перезагрузки интерфейса будем проверять имя интерфейса присвоенного системой (команда iwconfig).


Как взломать пароль веб интерфейса роутера

Как взломать пароль веб интерфейса роутера

Повторимся: эти шаги по установке вам вряд ли придется делать, так как в последних сборах нужная нам программа  присутствует!

3. В терминальном режиме запустим программу для перевода  интерфейса в режим монитора:

airmon-ng start wlan0

Получим результат (рисунок 11):


Как взломать пароль веб интерфейса роутера

4. Командой wash проверим наличие точек доступа, которые можно взламывать:

wash –i  mon0


Как взломать пароль веб интерфейса роутера

Необходимо понимать, что если по п.3 команда airmon-ng показывала имя монитора не mon0, а   mon1 (или какое-то другое), то  и в команде wash следует в качестве значения ключа ставить mon1 (или какое-то другое).  Напоминаем об этом, потому что  значение в имени монитора  цифра может каждый раз увеличиваться после перезагрузки сетевого  интерфейса (ifconfig wlan0 down, ifconfig wlan0 up).

5. Выбрав жертву  запустим команду  reaver,  указав MAC-адрес жертвы:

reaver  -i  mon0 –b 64:66:6С:58:D4:1C –c  4  –vv  –dh-small

Если все пойдет нормально, увидим обмен  пакетами с роутером для различных значений pin-кода, т.е. будет осуществляться брутфорс-атака (рисунок 13). Значение  подбираемого pin-кода будет все время увеличиваться.


Как взломать пароль веб интерфейса роутера

Что касается ключей команды  reaver,  то укажем некоторые, неочевидные, которые использовались  в нашем случае:

Все другие ключи Вы  найдете в Интернете.

Оказалось что, дойдя до определенного значения подбираемого  pin-кода, не приходит никаких  ответов на все наши  запросы. Когда в течение нескольких часов мы уже начинаем понимать, что уже никаких ответов больше не получим дальнейшая атака не имеет смысла, используя комбинацию клавиш Ctrl+C, прерываем сессию (рисунок 14):

Кстати, обратите внимание: при прерывании  – сессия взлома запоминается (Session saved), и впоследствии  ее возможно продолжить с этого же места.

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

Аналогичная ситуация по «долгому  timeout» повторялась для любого из трех наугад выбранных роутеров, только значения pin-кода на которых они «затыкались» для каждого роутера было свое:

39525673 – для нашего роутера,

69975677 и 20630287 для двух других.

В чем же дело? Не знаю! Могу предположить, что  это хитрый прием защиты применяемый разработчиками роутеров. Да  это  сейчас и не  важно!

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

Тем не менее, не имея лаборатории, большого количества роутеров различных марок, и попробовав  взломать первых попавшихся в свободном пространстве три подходящих роутера, получив нулевой вариант  – все же рискнем сделать   вывод: на практике вероятность взлома роутеров WiFi близка к  0%!  Если значение pin Для роутера не слишком маленькое (что редко), Вы просто рано или поздно дойдете до точки «затыка».

А сейчас вернемся немного в наших рассуждениях назад! Ранее, по публикациям в Интернете  мы  наивно думали:  взломаем все,  что попадется под руку! Таков уж общий настрой от этих публикаций. Об имеющейся проблеме  никто не пишет!

Таким образом,  мы ответили на Ваш вопрос, почему имея огромное количество статей  по этой теме, в основном скомпилированных от первоисточника, обычные пользователи на практике не могут осуществить якобы совсем простого взлома.

Да! Чуть не забыл: пользователь, немного  потыкавшись как слепой котенок, не очень то бежит рассказывать всем, что он пробовал, а ничего не получилось (боится – засмеют, осудят:  может не так что делал)! Как правило, он отложит все для «разборок» на потом. А позже понемногу интерес проходит, и он уже не возвращается к этой  теме.

Расскажу, как все же получить положительный результат. Но, обещайте, что все  будет использовано только в благих целях!

С. А. Б.: Обещаю за всех!

Graf_ Black: Перед нами стоит задача: как продолжить атаку с заданного значения pin-кода?! Как видно (рисунок 14) после прерывания сессии все необходимые данные куда-то записываются. Нужно просто найти это файл и исправить в нем значение для нашего злополучного примера с 39525673, скажем на 40000000, обойдя (с небольшим запасом) злополучное место!

Ищем файл. Оказывается  файлов два,  и расположены они по следующему пути:

Оказывается, база данных включает в себя три таблицы:

– history

–  status

– survey


Как взломать пароль веб интерфейса роутера

Внесем нужные нам изменения в таблицу history: значение 3958 заменим на 4000. Чтобы внести изменения  возымели действие, нажимаем  на прямоугольную кнопку  с плюсом (рисунок 16).


Как взломать пароль веб интерфейса роутера

Таблица survey тоже интересна, хотя в  ней нам ничего не нужно править (рисунок 17):


Как взломать пароль веб интерфейса роутера

В файле *.wpc   вносим изменения в 4-е цифры вначале файла, поменяв значение 3958 на 4000 (рисунок 18):

Данные подготовлены. Вновь загружаем BackTrack 5. Возвращаем  измененные файлы в каталог /usr/local/etc/reaver/.  Если сомневаетесь – можете проверить права пользователя на файлы (доступны ли на изменение), но это вряд ли необходимо.

airmon-ng start wlan0

wash -i mon0

Вот незадача!  Пока мы возились c исправлениями базы данных reaver, пользователь роутера уже переместил его с 4-го канала на 9-ый.  Видимо атаки на WPS все же тормозят устройство, и хозяин решил, что помехи в 4-канале слишком велики. Поэтому это нужно будет учесть, указав  при продолжении атаки другой канал.

Ну и последний штрих, запуск reaver:

reaver  -i  mon0 –b 64:66:6С:58:D4:1C –c  9  –vv  –dh-small


Как взломать пароль веб интерфейса роутера

Далее атака продолжится уже на  9-ом канале с нового, нужного нам значения pin-кода 40000000, обойдя место «затыка». И вот, наконец, после всех  манипуляций, долгожданный  результат получен (рисунок 20):


Как взломать пароль веб интерфейса роутера

Таким образом, кроме того, что была решена проблема, существующая при атаке на WiFi роутеры, вдобавок  фактически мы еще получили способ вести нападение, распределив необходимые временные затраты на части.  Это удобно, потому что, попытку взлома можно сделать более незаметной,  да и не нужно тратить двое суток непрерывной работы компьютера, если он еще  кому-то нужен в семье. Вот и все! Убедил ли я Вас, что взломать можно процентов десять роутеров?

С. А. Б.: Да, конечно!

Graf_Black:  Так вот:  я вам наврал! Пошутил я! На самом деле  все же эта цифра может доходить процентов до  30.  Во-первых,  описывалась  заведомо  наихудшая ситуация. Во-вторых, процент взломанных роутеров возрастет, за счет компьютеров, которые были исключены из зоны успеха  в связи с низким уровнем сигнала. В конце – концов,  можно было просто поиграть местоположением при взломе,  поставить специальную антенну, запитать ноутбук от автомобиля, и свершить «набег» в несколько приемов, чтобы не «торчать» двое суток возле  интересующего объекта.

С. А. Б.: Еще один вопрос?!

Graf_Black: Хорошо, но один, не больше! Никогда так не уставал!

С. А. Б.: Сколько Вам лет:

Graf_Black: 82 года мне!

ноябрь 2013, г. Кемерово

Оцените статью
Huawei Devices
Добавить комментарий