Меню Рубрики

Взлом роутера через telnet

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

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

В общем, решил я по своим нуждам покопаться в настройках роутера, вбиваю я всем знакомый адрес, а тут пароль спрашивают. Как быть? Ну, начал я перебирать пароли, а их количество слишком большое, что бы перебирать все и слишком маленькое, чтобы делать reset.

И я открыл google. После пары запросов я узнал о такой вещи как hydra. И тут началось: жажда открытий, поиски неизведанного и так далее.

Приступим

Первым делом мной был составлен словарь паролей, ни много, ни мало, аж на 25 комбинаций. Далее качаем либо Kali linux, либо саму Гидру (если вы пингвин у вас линукс). Теперь у нас два варианта (ну как два, я нашел информацию по двум вариантам).

Либо у вас вот такое диалоговое окно:

Либо логин и пароль запрашивает форма на сайте. Мой вариант первый, поэтому начнем с него. На нашем пути к «админке» стоит страж в виде диалогового окна. Это вид авторизации 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 адреса

-v / -V / -d вербальный режим / показывать логин+пароль для каждой попытки / режим отладки

-q не печатать сообщения об ошибках соединения

-U подробные сведения об использовании модуля
server цель: DNS, IP или 192.168.0.0/24 (эта ИЛИ опция -M)
service служба для взлома (смотрите список поддерживаемых протоколов)
OPT некоторые модули служб поддерживают дополнительный ввод (-U для справки по модулю)

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

Нас встречает форма на сайте:

Такой метод авторизации — http-post-form, и тут нужно немного повозится, так как нам нужно понять, как браузер отправляет роутеру данные.

В данном случае и использовал браузер Chrome (его аналог Chromium в Kali Linux, ставится через apt-get install chromium).

Сейчас нужно сделать одну очень глупую вещь… указать неверный логин и пасс…
для чего увидим позже…

Нажимаем F12 что бы перейти в режим редактирования веб-страницы.

Переходим в Network → Включаем галочку Preserv log.

Вводим ложные логин и пароль…

Ну что за дела? Так не пойдет! Более того, после нескольких неудачных попыток входа, форма блокируется на 180 секунд.

Переходим во вкладочку HEADERS ищем строку:

Отрезаем все до ip-адреса — /index.cgi… Поздравляю мы нашли первую часть скрипта авторизации… Идем дальше… Переходим к вкладке FORM DATA и изменяем режим отображения на VIEV SOURCE.

Бинго! Мы нашли вторую часть скрипта авторизации! Еще чуть-чуть! теперь нужно найти страницу с сообщением об ошибке… Нужно нажать на вкладку ELEMENTS.

И выбрать элемент HTML кода (CTRL+SHIFT+C) и выбрать окно с сообщением об ошибки… в данном случае — Authentication failed!

и немножко правим… bad_auth — все! Ключ практически у нас в кармане… Теперь мы можем полностью написать строку авторизации:

Теперь нужно подставить вместо «login» — ^USER^ и вместо «password» ^PASS^ и тогда строка будет иметь вид:

Обратите внимание что между частями скрипта двоеточие! это обязательно! Кстати, блокировки формы через гидру не происходило… Это очень радует.

В работоспособности второго метода мне убедиться не светит, так как я не обладатель подходящей модели роутера. Придется довериться экспрессивному человеку с Античата.

Если кому интересно, будьте добры, проверьте и отпишитесь в комментариях. Я работал с роутером TL-WR1043N/TL-WR1043ND. Роутер с Античата — D-link300NRU.

Источник

Как я взломал роутер

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

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

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

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

Я начал с первичной разведки. Для поиска следов присутствия в сети мне помогает приложение Maltego и сервисы наподобие checkusernames.com, knowem.com и pipl.com. Не лишним будет заглянуть в Google+, Facebook и Linkedin. При этом неплохо создать привлекательный профиль, чтобы, в случае чего, можно было получить информацию при помощи социальной инженерии.

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

Для начала я решил проверить, висят ли на его домашнем IP-адресе какие-нибудь сервисы, о которых он, возможно, даже не подозревает. Многие приложения и устройства используют UPnP и по тихому оставляют дыры в пользовательских фаерволлах. Иногда достаточно обнаружить NAS- или media-сервер для проникновения в систему. Чтобы определить домашний IP-адрес я пользуюсь сервисами наподобие resolveme.org. Найдя IP-адрес, я начал сканировать его (вместе с соседними IP-адресами) на предмет присутствия каких-либо сервисов. К сожалению, мои поиски не увенчались успехом. Скорее всего, мой оппонент был осведомлен об этом.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подписывайтесь на каналы «SecurityLab» в Telegram и Яндекс.Дзен, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Ярлык на рабочий стол linux
  • Яндекс строка для linux
  • Яндекс программы для linux
  • Яндекс навигатор для linux
  • Яндекс диск монтирование linux