Как проверить IPS? Infection Monkey vs Check Point
Три года назад мы публиковали статью «Online инструменты для простейшего Pentest-а». Там мы рассказали про доступные и быстрые способы проверки защиты вашего периметра сети с помощью таких инструментов как Check Point CheckMe, Fortinet Test Your Metal и т.д. Но иногда требуется более серьезный тест, когда хочется «пошуметь» уже внутри сети (и желательно безопасно для инфраструктуры). Для этой цели может быть весьма полезным такой бесплатный инструмент как Infection Monkey. Для примера, мы решили просканировать сеть через шлюз Check Point и посмотреть, что увидит IPS. Хотя ничто не мешает вам провести аналогичный опыт и с другими решениями, чтобы проверить, как отрабатывает ваша IPS система или NGFW. Результаты под катом.
Infection Monkey
Данный инструмент можно отнести к BAS (Breach and Attack Simulation) системам, которые позволяют оценить защищенность вашей сети в автоматическом режиме. При этом выполняется безопасный «пентест» вашей инфраструктуры. Инструмент с открытым исходным кодом и активно развивается. Наверно его главное отличие в том, что все тесты проходят внутри вашей сети, как-будто злоумышленник уже проник к вам. Большинство до сих пор концентрируется на защите периметра, при этом забывая о необходимости и других мер. Тот же IDS/IPS весьма важен для комплексной защиты, т.к. позволяет определять угрозы, которые уже внутри сети. Infection Monkey — это неплохой способ оценить зрелость ИБ в вашей компании.
Поддерживаемые платформы
Сам Infection Monkey может быть развернут в виде виртуальной машины. Поддерживаются следующие платформы:
- VMware
- Hyper-V
- AWS
- Docker
- Azure
- Google Cloud Platform
Для AWS есть готовый шаблон, который можно использовать в рамках бесплатного аккаунта. Мы же чаще всего используем ESXi. Образ можно запросить на оф. сайте, либо у нас.
Установка
Сама инсталляция предельно проста и описана здесь, не вижу смысла дублировать эту информацию. Там же инструкция по запуску проверки. Мы же лучше сосредоточимся на результатах тестирования.
Используемые техники атаки
Infection Monkey использует несколько векторов атаки и позволяет увидеть следующие вещи:
1) Уязвимые хосты. Находит узлы со слабыми паролями, старыми версиями ПО или известными уязвимостями. Вот список эксплойтов на борту:
- SMB Exploiter
- WMI Exploiter
- MSSQL Exploiter
- MS08–067 Exploiter
- SSH Exploiter (по сути брутфорс)
- ShellShock Exploiter
- SambaCry Exploiter
- ElasticGroovy Exploiter
- Struts2 Exploiter
- WebLogic Exploiter
- Hadoop/Yarn Expoiter
- VSFTPD Exploiter
2) Запрещенное взаимодействие. Можно обнаружить взаимодействие между сетями, которое должно быть запрещено на уровне МЭ или маршрутизатора.
3) Горизонтальное распространение. Отображение перемещения «зловреда» в графическом виде. Как «пересаживается» бот в вашей сети.
Все это дополняется подробной отчетностью. Например с помощью матрицы MITRE ATT&CK:
Карта сканирования:
Отчет по Zero Trust модели:
Также это хорошая проверка для ваших существующих средств защиты. Смогли ли они задетектировать эту активность? Все ли логи прилетели на ваш SIEM?
FAQ по Infection Monkey
Прежде чем перейти к результатам теста хотелось бы ответить на несколько самых распространенных вопросах об Infection Monkey.
Нет. Infection Monkey использует абсолютно безопасные способы пентеста, которые не могут привести к деградации ваших сервисов
Infection Monkey делает это автоматически по завершению теста
Практически нет. Только лог файлы. На Windows это %temp%\\~df1563.tmp. На Linux — /tmp/user-1563
Нагрузка практически отсутствует. К примеру на одноядерной системе (Windows Server) Monkey потребляет менее 0.6% CPU и менее 80 МБ оперативной памяти
Нет, но желательно, чтобы он был. Интернет используется для проверки обновлений (updates.infectionmonkey.com) и для проверки доступности интернета с «зараженных» хостов (www.google.com). При этом никакие данные не собираются и не отправляются
Схема тестирования
Схема весьма простая. Виртуалка с Infection Monkey находится в выделенном сегменте. С нее мы сканируем сегмент локальной сети, через шлюз Check Point:
Результаты Check Point IPS с профилем Optimized
Еще в курсе Check Point на максимум я пытался показать, чем опасны дефолтные настройки. Это касается всех вендоров. Надо уметь правильно «закручивать» гайки. В данном случае я решил сначала проверить дефолтный профиль Check Point — Optimized. Результаты можно посмотреть на картинке ниже:
Стоит отметить, что с дефолтным профилем Infection Monkey успешно «взломал» тестовый хост (несмотря на примитивность атаки). Нужная сигнатура просто не была включена.
Результаты Check Point IPS с моим профилем
Настройки были выполнены в соответствии с рекомендациями, которые были даны в рамках курса «Check Point на максимум». Результат получился уже совсем другой:
При этом IPS предотвратил заражение хоста и дальнейшее распространение Infection Monkey.
Стоит отметить, что у Check Point-а довольно хорошая форензика. Вот так выглядит сам лог:
Здесь вы можете посмотреть и дамп трафика, и номер CVE, и тип атаки, и подробную информацию о ней, а так же рекомендации по настройке Check Point. Пример:
В этом плане Check Point хорошо поработал, т.к. у них имеется богатая база знаний по всевозможным зловредам.
Заключение
Безусловно, Infection Monkey это не панацея и не может отразить все потенциальные проблемы в защищенности сети. Но для бесплатного инструмента это более чем интересно. Как уже говорил, можно «пошуметь» в сети и посмотреть, как ведут себя ваши средства защиты. Те же NGFW с дефолтными настройками могут вести себя крайне неудовлетворительно. Если полученный результат вас не устраивает, мы можем помочь с анализом вашей конфигурации.
В ближайшее время мы планируем опубликовать подобные тесты для другого инструмента (Cymulate), которым можно воспользоваться бесплатно, триальной версией. Там уже гораздо больше вариантов атаки. Кроме результатов мы поделимся рекомендациями, как усилить защиту. Чтобы не пропустить следующие статьи следите за обновлениями в наших каналах (Telegram, Facebook, VK, TS Solution Blog)!