October 11, 2019

Взлом роутера. Анализ + эксплоиты.

Привет, %script-kidd-name%, сегодня поговорим о том, как взломать роутер твоего неприятеля. Усаживайся поудобней, мы начинаем!

Взлом роутера обычно является либо самой простой, либо самой сложной задачей - его сложность варьируется от ввода имени пользователя и пароля по умолчанию, и ты максимально заебёшься, пытаясь попасть внутрь роутера по telnet или ssh.

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

Для этой статьи я собираюсь использовать роутер CBN CH6640E. Если хорошенько погуглить, ты поймёшь, что он не из самых новы, поскольку был выпущен в 2011 году, а также есть целый пост в exploit-db.com об этом говорит многое).

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

Ну ладно, теперь к делу.

ЭТАП I. НАЙДИ IP РОУТЕРА.

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

  • Проверка сетевых настроек с помощью панелей настроек ОС
  • Использование ipconfig в Windows и ifconfig на машинах Unix из терминала
  • Использование Fuzzer в качестве инструмента обнаружения цели.

Найденный мной IP роутера - 192.168.0.1

ЭТАП II. СОБЕРИ ТРАФФИК.

Я решил, что хороший способ начать, будет исследовать веб-сервер роутера для чего-то за пределами того, что видно невооружённым глазом. По этой причине я использовал HTTPView и проанализировал трафик от первой попытки входа в систему. Чтобы помочь себе, я применил некоторые фильтры, чтобы избавиться от медиа и стилей ответов с сервера. Вот результат, который я добыл:

Этой информации нам хватит.

ЭТАП III. ПРОАНАЛИЗИРУЙ ТРАФФИК И НАЙДИ УЯЗВИМОСТИ.

Теперь, когда у нас есть нужное колчиство данных, мы должны проанализировать его, чтобы увидеть, наткнулись ли мы на что-то интересное. Сразу можно игнорировать все файлы jQuery, а также языковые файлы или, по крайней мере, не начинать поиск оттуда. Поскольку я работаю в Chrome, я не могу анализировать ответы прямо из HTTPView, поэтому мне нужно реплицировать запрос в Rest и выполнять там анализ.

Есть этот интересная штука, которую я нашел в /menu.html

Присмотрись хорошенько.

Хотя определение функции readCookie отсутствует, можно с уверенностью предположить, что она считывает файл cookie, а userData-это имя этого файла cookie.

Из строки 247 мы можем сделать вывод, что значение этого файла cookie должно быть root. Чтобы изменить куки, я использовал расширение EditThisCookie и добавил файл куки с уже упомянутым именем и значением и вуаля, мы внутри..

Всё так просто?

ЭТАП IV. ПРОСКАНИРУЙ РОУТЕР НА НАЛИЧИЕ ДРУГИХ ROOT'ОВ.

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

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

Для этого я буду использовать сканер с уже установленным файлом cookie userData=root. В addiotion я включу опцию "направленное сканирование" на вкладке второго пилота, чтобы сканер полагался на мои действия в качестве ввода.

После запуска сканера перейдите к 5-10 страницам на маршрутизаторе, которые требуют входа в систему, например /basicSetup.html и / или basicDHCP.html и пусть инструмент делает свою работу.

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

ЭТАП V. ПОЛУЧИ ПОЛНЫЙ КОНТРОЛЬ.

DocsisConfigFile.xml - это обычно файл, который содержит кучу полезной информации о конфигурации маршрутизатора, посмотрим, что внутри:

Да, всё так просто.

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

Заключение.

Как видишь, даже каких-либо 0day экплоитов нам не понадобилось, чтобы получить полный контроль над роутером..

Ну а с какой целью взламывать роутеры, я расскажу чуть позже, если эта статья тебе понравится, понимаешь о чём я?)

//D$ LTD//

Dark $ide -- Твоя тёмная сторона.