Взлом роутера. Анализ + эксплоиты.
Привет, %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//