Аудит безопасности сетевых устройств

Тот самый бот Глаз Бога

В данной статье былудет рассмотрен аудит сетевых устройств Cisco IOS на примере стандарта PCI DSS.

Автор: Сергей Павлов
Ведущий эксперт по информационной безопасности компании Positive Technologies.

В ходе работ по практическому анализу защищенности специалисты компании Positive Technologies часто сталкиваются с неправильной настройкой сетевого оборудования. Рассмотрим одну из самых простых ситуаций, которая может сложиться в ходе проведения теста на проникновение (Penetration Test).

Например, для организации гостевого доступа в сеть Интернет используется беспроводная сеть, не требующая аутентификации.

Используя анализатор трафика, специалисты обнаружили, что в сегменте пользователей «гуляют» данные протокола CDP (Cisco Discovery protocol). Анализ данных протокола позволил идентифицировать несколько сетевых устройств, в том числе Cisco WLAN Controller, используемый для управления «облегченными» точками доступа.

Полученный список IP-адресов сетевых устройств был просканирован в режиме Penetration Test на предмет доступных служб и связанных уязвимостей с использованием системы анализа защищенности и соответствия стандартам MaxPatrol. В итоге была подобрана стандартная строка соединения (community string) для подключения через сервис SNMP.

Рис. 1 MaxPatrol работает, мы отдыхаем

Как выяснилось, пароль SNMP имеет привилегии на чтение и запись, что позволило скопировать конфигурации сетевых устройств через службу tft.

version 12.2
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname <removed>
!
boot-start-marker
boot-end-marker
!
logging buffered 10000 debugging
enable secret 5 $1$bbp3$B<removed>/

line vty 5 15
password <removed>
login
!
ntp clock-period 36030907
ntp server <removed>
end

В конфигурации часть паролей хранились в открытом виде. Хотя пароль на переход в режим «enable» был зашифрован с помощью стойкого алгоритма шифрования MD5, он совпадал с паролем, заданным для линий vty:

line vty 5 15

 password <removed>

Таким образом, за несколько минут был получен доступ к сетевому устройству с привилегиями level 15. Примечательно, что используемый пароль «Cisc0», формально удовлетворяющий критериям сложности, достаточно широко распространен и мог бы быть подобран и по словарю.

На граничном маршрутизаторе служба SNMP не использовалась, а для доступа к интерфейсу управления применялся только SSH. Таким образом, для подключения к устройству обязательно нужно знать логин пользователя. Но в списке открытых портов присутствовал SSL (tcp/443). Данный сервис вызвал интерес, поскольку, в отличие от SSH, здесь знать имя пользователя не обязательно, можно воспользоваться паролем «enable», главное, чтобы уровень привилегий был равен 15. Предположение о том, что на всех устройствах пароль «enable» идентичен, оказалось верным, и попытка аутентификации через веб-интерфейс была успешна, что позволило получить неограниченный доступ к устройству.

Для получения конфигурации устройства был использован URL:

https://10.x.x.9/level/15/exec/-

Далее, потребовалось только ввести команду “show running-config”, и доступ к текущей конфигурации был получен.

Рис. 2 Вывод конфигурации через веб-сервер Cisco IOS

Самое интересное, что доступ к этому маршрутизатору можно было также получить через сеть Интернет.

Рис. 3 Доступ к граничному маршрутизатору через HTTPS

Как было сказано выше, через протокол CDP получена некоторая информация по устройствам, в том числе и о WLAN Controller 4402. Информации включала в себя версию ОС:

evice ID: WLC-4402-B
Entry address(es):
IP address: 10.x.x.x
Platform: AIR-WLC4402-12-K9,  Capabilities: Host
Interface: GigabitEthernet2/0/5,  Port ID (outgoing port): GigabitEthernet0/0/1
Holdtime : 165 sec
Version :

Manufacturer’s Name: Cisco Systems Inc.  Product Name: Cisco Controller  Product Version: 5.1.151.0  RTOS Version: 5.1.151.0  Bootloader Version: 4.0.217.204  Build Type: DATA + WPS

Используемая версия ОС WLC 5.1.151.0 подвержена различным типам уязвимостей, которые позволяют вызвать отказ в обслуживании (CVE-2009-0058, CVE-2009-1164, CVE-2009-1165, CVE-2009-1166) и изменить конфигурацию устройства (CVE-2009-1167). Таким образом даже при использовании стойких паролей, сеть может быть скомпрометирована через другие векторы атак, такие как ошибки в управлении обновлениями безопасности.

С одной стороны, полученные результаты – это чисто технические проблемы. Однако их умелое использование злоумышленником может привести к серьезным проблемам для бизнеса. Давайте рассмотрим несколько возможных сценариев:

  •  Имея неограниченный доступ, злоумышленник может стереть конфигурацию или образ IOS и перезагрузить устройства. Это может привести к масштабному отказу в обслуживании, и серьезным затратам на восстановление работоспособности сети, не говоря уже о репутационном ущербе.
    После подобных действий появляются такие новости:

Рис. 4 Не самая лучшая реклама для компании

  •  Настроить регистрацию определенного типа трафика и осуществить перенаправление трафика на контролируемый злоумышленником сервер.
  • В результате злоумышленник сможет перехватывать любой трафик, проходящий через маршрутизатор и сохранять интересные для себя данные, такие как пароли пользователей, номера кредитных карточке и т.д.
  •  
  Шадаев: до 80% мошеннических звонков россиянам совершается через WhatsApp

Рис. 5 Регистрация событий и последующая их отправка на внешний syslog-сервер

  • Настроить GRE-тунель или VPN во внутреннюю сеть, и объявить свою сеть через динамический протокол маршрутизации. Даже если в компании используется фильтрация трафика и включены механизмы, предотравщающие попытки несанкционированного доступа, подключившись  через тунель компьютер злоумышленника будет принадлежать к внутренней сети Компании, получая доступ ко всем узлам. В противном случае, имея неограниченные права на сетевых устройства, ничто не помешает злоумышленнику изменить конфигурацию так, как ему потребуется.

Рис. 6 Подключение к внутренней сети компании
Приведенный пример – только один из случаев. Специалисты компании Positive Technologies выделяют следующие  наиболее характерные недостатки построения и эксплуатации защищенной сетевой инфраструктуры:

  • Недостаточное сегментирование и фильтрация трафика;
  • Слабые пароли, стандартные настройки, незащищенные протоколы передачи данных;
  • Слабое шифрование, недостаточный контроль клиентов и точек доступа в беспроводных сетях;
  • Уязвимости, связанные с установленной ОС, которые публикуются в общеизвестных источниках, таких как:
    • http://cve.mitre.org/cve/
    • http://nvd.nist.gov/
    • http://www.securitylab.ru/vulnerability/
  •  

Если рассматривать меры, направленные на снижение вероятности эксплуатации данных ошибок, то они широко известны. Отличной компиляцией таких мер является стандарт PCI DSS.

Однако кроме учета требований стандартов и передового опыта при проектировании и эксплуатации сетевой инфраструктуры нужно контролировать текущее состояние защищенности. С учетом того, что в больших компаниях количество сетевых устройств может достигать нескольких тысяч, проводить аудит вручную практически невозможно.

Поэтому необходима автоматизация процесса. Для решения таких задач существуют системы контроля соответствия стандартам (Compliance Management), одной из которых является MaxPatrol, разработанной компанией Positive Technologies.

Далее, взяв за основу стандарт безопасности данных индустрии платежных карт PCI DSS, остановимся подробнее на некоторых требованиях и «подводных камнях», встречающихся при аудите сетевых устройств компании Cisco Systems.

Требование 2.2 Необходимо внедрить стандарты конфигурации всех системных компонентов. Эти стандарты должны определять конфигурационные параметры, устраняющие известные недостатки механизмов безопасности.

При выполнении данного требования можно использовать стандарты, входящие в поставку MaxPatrol: Center for Internet Security, или стандарты, сформированные на основе многолетнего опыта экспертов компании Positive Technologies.

Требование 6.1. Для всех системных компонентов и программного обеспечения должны быть установлены самые последние обновления безопасности, предоставленные производителями. Критичные обновления безопасности должны быть установлены в течение 1 месяца с момента их выпуска.

Для выполнения данного требования воспользуемся общеизвестными источниками, где постоянно публикуются новые уязвимости для различных систем. Рассмотрим, например, уязвимость с идентификатором CVE 2007-4285. Руководствуясь данными производителя, легко обнаружить, что при определении версий IOS, которые подвержены данной уязвимости, необходимо рассматривать не только основной релиз, но и учитывать различные ветки. Таким образом получается, что учитываются более 200 различных версий ОС IOS!

Рис. 7 Сведения из базы знаний Cisco Systems по уязвимости CVE 2007-4285

Детальный анализ применимых обновлений и отсутствие ложных срабатываний минимизирует трудозатраты на обработку полученных результатов. В отличие от большинства систем контроля соответствия стандартам, MaxPatrol выводит список уязвимостей, которым действительно подвержена текущая версия IOS.

Рис. 8 Отображение подробных данных об уязвимости CVE 2007-4285 в версии IOS 12.3(4)T2

Требование 1.2.2 Обеспечение защиты и синхронизации конфигурационных файлов маршрутизаторов

Убедиться, что конфигурационные файлы маршрутизаторов защищены и синхронизированы (например, файлы активной конфигурации (running) и стартовой конфигурации (start-up), которые загружаются в оперативную память в качестве активной конфигурации при перезагрузке устройства, имеют идентичные защищенные конфигурации).

При невыполнении данного требования администратор рискует потерять все несохраненные изменения. Это может повлиять на функционирование сети, а для восстановления может потребоваться значительное время, даже если администратор управляет несколькими сетевыми устройствами! А если их несколько тысяч? Поэтому игнорировать данное требование не стоит.

Пример выполнения данного требования в системе MaxPatrol представлен ниже. В этом примере также подсчитываются контрольные суммы конфигураций.

Рис. 9 Подсчет контрольных сумм конфигураций в системе MaxPatrol

Как в телеграмме найти бота Глаз Бога

Требование 2.2.2. Все ненужные и небезопасные сервисы и протоколы (сервисы и протоколы, не являющиеся необходимыми для функционирования устройств) должны быть отключены.

Опасность невыполнения данного требования рассмотрим на примере службы Finger. Если она включена, то злоумышленник может получить информацию, которую затем используетпри реализации атак. В примере, представленном ниже, видно, что в текущий момент в системе работает пользователь «admin» через линию «con 0».

Рис. 10 «Кто в домике живет?»

Получив имя пользователя, злоумышленнику гораздо проще успешно подобрать пароль.

Рассмотрим, например, службу BOOTP.

Согласно документации производителя данная служба включена по умолчанию, начиная с версии IOS 11.2 включительно.

  Маск призвал создать структуру по контролю за технологиями искусственного интеллекта

Рис. 11 Проверка значения по умолчанию для службы IP BOOTP

Следовательно, делаем вывод, даже если служба в конфигурации явно не задана, это вовсе не значит, что она отключена.

Система MaxPatrol учитывает статус службы в зависимости от версии ОС.

Большинство систем контроля соответствия стандартам осуществляют только поиск по файлу конфигурации, тем самым вызывая ложные результаты.

Рис. 12 Подробные данные о службе IP BOOTP в системе MaxPatrol

Теперь рассмотрим более сложный пример. Статус службы IP Finger. может отличаться в зависимости от версии IOS, так же меняется и синтаксис команды:

IOS >= 11.3<12.1(5), ip finger, Enabled (ip finger)
IOS >= 12.1(5), 12.1(5)T, ip finger, DISABLED (no ip finger)
IOS >= 11.3<12.1(5), service finger, Enabled (service finger)

Таким образом, при аудите устройств на базе Cisco IOS следует учитывать не только версию ОС, но и синтаксис команды, что собственно и делает MaxPatrol.

И еще один интересный пример.

Команда «ip arp proxy disable» поддерживается, начиная только с определенной версии Cisco IOS:

IOS >= 1 2.2 S, Proxy ARP enabled (no ip arp proxy disable)
IOS >= 12.3(11)T, Proxy ARP enabled (no ip arp proxy disable)
IOS >= 12.2 (18)SXE, Proxy ARP enabled (no ip arp proxy disable)

Т.е. в данном случае при проверке необходимо учитывать поддержку команды для различных версий ОС.

Рис. 13 Вывод подробных данных о службе IP Proxy ARP в системе MaxPatrol

При выполнении данного требования сначала анализируется поддержка команды «ip arp proxy disable». В случае если команда недоступна, проверяется статус службы на интерфейсах. Это сделано для того, чтобы настройка глобальных сервисов являлась наиболее предпочтительной, т.к. в случае подключения дополнительных модулей статус службы для интерфейсов распределяется автоматически.

В системе MaxPatrol используются 2 метода определения поддержки команд:

  • основываясь на базе знаний производителя оборудования Cisco Systems и компании Positive Technologies, проверяется поддержка команды для текущей версии ОС;
  • собственный эвристический алгоритм определения поддержки команд, разработанный компанией Positive Technologies, который существенно повышает достоверность результатов.

Требование 8.4. Все пароли должны быть зашифрованы при передаче и хранении на всех системных компонентах с помощью надежных алгоритмов криптографии.

В ОС Cisco IOS существует несколько вариантов шифрования паролей:

– Type 7. Пароли, зашифрованные этим методом, могут быть легко расшифрованы. В сети Интернет имеется множество программ, способных восстанавливать данные пароли за доли секунд.

– Type 5. В данном методе используется 128-битный алгоритм хеширования MD5. Зная MD5, проблематично восстановить исходные данные, так как одному MD5 могут соответствовать разные данные.

– Type 0. Шифрования пароля не используется. Пароль пользователя можно узнать, просмотрев конфигурационный файл устройства.
Поэтому для локальных пользователей в качестве алгоритма шифрования паролей должен использоваться только MD5.

Приведу пример: при анализе конфигураций сетевых устройств в одной из компаний была выявлена ошибка в настройках, относящаяся к данному требованию. Однако администратор всячески отвергал даже саму возможность подобной ситуации. Текущая конфигурация содержала пароль пользователя с типом шифрования 7, в отличие от сохраненной, где использовался тип шифрования 5. Т.е. пользователь был заведен «на скорую руку». Таким образом, при получении конфигурации, злоумышленник  мог легко восстановить пароль, а при последующем расследовании инцидента выявить причины было бы почти невозможно.

Рис. 14 Подробные данные о слабом алгоритме шифрования пароля (или об отсутствии пароля) в системе MaxPatrol

Требование 1.3.4. Запрет трафика с адресами отправителя внутренней сети, поступающего в DMZ из сети Интернет.

Убедиться, что запрещен трафик с адресами отправителя внутренней сети, поступающего в DMZ из сети Интернет.

Для выполнения данного требования сначала необходимо определить список внутренних сетей и внешних интерфейсов и только после этого анализировать списки доступа, закрепленные за каждым из интерфейсов. Можно, конечно, использовать встроенные возможности устройств Cisco.

Например, на межсетевом экране Cisco попытаемся определить разрешено ли прохождение трафика telnet с узла 192.168.1.1 к узлу 192.168.1.100. Используя команду «packet-tracer», определяем, что список доступа разрешает прохождения данного трафика.

Рис. 15 Проверка на прохождение трафика

Но заходить на каждое устройство и проверять настройки списков доступа таким способом довольно скучное и неблагодарное занятие. Тем более, что при помощи команды «packet-tracer» проверяется только один источник и назначение. Т.е. если необходимо проверить только источник с сетью класса С, потребуется выполнить команду 255 раз! Проверка при помощи «packet-tracer» доступна только на межсетевых экранах Cisco.
В любом случае, очевидно, требуется автоматизация процесса.

  Что такое оценка уязвимости? (Часть I)

В системе MaxPatrol для проведения аналогичных действий необходимо задать список внутренних сетей компании. Внешние интерфейсы и списки доступа, закрепленные за ними, будут определяться автоматически. Далее выполняется проверка на соответствие требованиям с учетом правил, применимых к спискам доступа. В результатах будут даны подробные рекомендации по настройке списков доступа.

Рассмотрим пример проверки такого требования в системе MaxPatrol. На первоначальном этапе пользователь задает список внутренних сетей компании (параметр «ACL – internal networks», Рис. 16). Затем MaxPatrol определяет внешние интерфейсы устройства, т.е. те, которые не входят в диапазон внутренних сетей. В примере, представленном ниже, интерфейс FastEthernet1/1 является внешним (см. Рис. 17). На следующем этапе определяется входящий список доступа, закрепленный за интерфейсом и на основании этого списка, проверяется корректность настройки правил фильтрации. Механизм MaxPatrol учитывает синтаксис и правила списков доступа сетевых устройств разных производителей. Например, для Cisco IOS правила фильтрации проверяются сверху вниз до первого соответствия заданным условиям. Если ни одного соответствия не найдено, в конце каждого списка доступа существует неявное правило “deny ip any any”. Но такие правила рекомендуется задавать вручную, т.к. существует вероятность того, что оно отработает некорректно. Например, в межсетевых экранах Cisco PIX/ASA была найдена уязвимость CVE-2009-1160, позволяющая обходить списки контроля доступа.

Вернемся к нашему примеру. В данном случае результат проверки отрицательный, т.к. в правилах фильтрации присутствует строка «10 permit ip 10.1.0.0 0.0.255.255 any», разрешающее прохождение трафика протокола IP от источников сети 10.1.0.0/16 со стороны внешних сетей. Правила фильтрации «20 permit ip 70.25.61.0 0.0.0.255 any» и «30 deny ip any any» не противоречат данному требованию, т.к. разрешают только прохождение трафика протокола IP от источников сети 70.25.61.0/24. И как уже было сказано выше, в результатах проверки MaxPatrol выводит список «Несоответствующих правил» и рекомендации по настройке списков доступа («Правила исправления»).

Рис. 16 Результат проверки на запрет передачи трафика с адресами отправителя внутренней сети, поступающего из сети Интернет, в системе MaxPatrol для Cisco IOS

Рис. 17 Параметры интерфейса Fastethernet1/1

Мы рассмотрели лишь несколько требований из стандарта PCI DSS. Этот стандарт содержит множество правил, и после выполнения работ система MaxPatrol формирует общий отчет:

Рис. 18 Отчет по PCI DSS

Резюмируя требования PCI DSS, можно составить общие рекомендации по улучшению мер защиты сетевых устройств:

  • Управление конфигурациями
    • Нельзя использовать сервисы, представляющие опасность с точки зрения ИБ;
    • При настройке необходимо руководствоваться международными стандартами по ИБ;
    • Принятые в компании стандарты должны применяться ко всем устройствам без исключения.
  • Управление межсетевыми экранами
    • В правилах фильтрации должны быть разрешены только те сервисы, которые необходимы для работы сети компании;
    • Все попытки получения несанкционированного доступа должны предотвращаться и регистрироваться.
  • Управление учетными записями
    • Должна использоваться единая парольная политика;
    • Стандартные учетные записи должны быть удалены или переименованы;
    • Каждому пользователю должны быть назначены минимальные привилегии, достаточные для его повседневной работы.
  • Управление аутентификацией
    • Для аутентификации рекомендуется рассмотреть использование внешних серверов аутентификации с резервным механизмом в случае потери связи с сервером;
    • Пароли, используемые для временного повышения привилегий, должны отличаться друг от друга.
  • Управление обновлениями
    • Не должны использоваться версии ОС, в которых при эксплуатации уязвимостей можно получить полный контроль над ресурсом;
    • Версия ОС сетевых устройств, доступных из сети Интернет, не должна быть подвержена атакам «отказ в обслуживании»;
    • Рекомендуется проводить обновление ОС сетевого оборудования не позже, чем через месяц после выхода обновления, если уязвимая служба включена и является критичной.
  • Управление инцидентами
    • Все попытки несанкционированного доступа должны регистрироваться и отправляться на внешний сервер;
    • Необходимо создать процедуру управления инцидентами.
  • Криптографическая защита
    • Для управления устройствами не должны использоваться сервисы, которые передают данные в открытом виде (Например: служба Telnet);
    • Службы криптографической защиты должны использовать надежные алгоритмы шифрования данных;
    • В конфигурации пароли должны быть зашифрованы с использованием стойкого алгоритма шифрования.

В данной статье был рассмотрен аудит сетевых устройств Cisco IOS на примере стандарта PCI DSS. Но не стоит забывать и про другие системы, т.к. целью злоумышленника обычно становится «самое слабое звено в цепи».

Ваша приватность умирает красиво, но мы можем спасти её.

Присоединяйтесь к нам!