Базовым инструментарием, используемым для проверки защищенности системы, являются средства для автоматического сбора данных о системе и тестирования на проникновение. Предлагаем рассмотреть принцип работы подобных средств на примере продукта Rapid7 Metasploit от компании Rapid7 — одного из ведущих производителей аналитических решений для информационной безопасности, который с высокими оценками входит в рейтинги влиятельных исследовательских и консалтинговых компаний, включая Gartner и Forrester.
Введение
Тестирование на проникновение (пентест) — один из самых эффективных методов оценки качества системы защиты. Оно проводится с целью выявления уязвимых мест ИТ-инфраструктуры, демонстрации возможности использования уязвимостей, а также подготовки рекомендаций по их устранению. Процедуры тестирования проводятся по инициативе владельца информационной системы и направлены на предотвращение инцидентов информационной безопасности, зачастую сопровождающихся финансовыми и репутационными потерями, неприятными объяснениями с клиентами и представителями организаций-партнеров, а также другими нежелательными последствиями.
В Российской Федерации значимым фактором, определяющим необходимость проводить тестирование на проникновение, являются требования регуляторов. Последние рассматривают проверку эффективности системы защиты как крайне важную меру, и соответствующие положения включены в нормативно-методические документы. В первую очередь в этой связи уместно упомянуть нормативные документы, под действие которых подпадает значительное число информационных систем, — приказы ФСТЭК России № 17 и 21.
В этих документах определена мера защиты в виде «испытания системы защиты информации путем осуществления попыток несанкционированного доступа (воздействия) к информационной системе в обход ее системы защиты информации» на этапе аттестации. Аттестация информационных систем, предполагающая проверку эффективности системы защиты, востребована также для информационных систем, обрабатывающих государственную тайну.
В международном масштабе целесообразно отметить стандарт безопасности данных индустрии платежных карт PCI DSS (Payment Card Industry Data Security Standard). Соответствие положениям стандарта PCI DSS является обязательным для всех организаций, вовлеченных в обработку платежных карт Visa и MasterCard: торгово-сервисных предприятий, процессинговых центров, эквайеров, эмитентов и поставщиков услуг, а также всех прочих организаций, которые хранят, обрабатывают или передают данные о держателях карт и чувствительные аутентификационные данные. Положениями стандарта предусмотрено проведение анализа уязвимостей и тестирования на проникновение как внутри, так и снаружи сети информационной системы. Внешний и внутренний тесты на проникновение должны проводиться не реже одного раза в год и после любых значительных модификаций или обновлений инфраструктуры/приложений.
Тестирование на проникновение (пентест) может выполняться в рамках повышения квалификации специалистов по защите информации и получения практических навыков студентами, которые обучаются на специальностях, связанных с защитой информации, а также для тестирования разработчиком средств защиты информации собственных продуктов.
Очевидно, что для всех перечисленных целей наиболее востребовано интегрированное решение для управления угрозами, охватывающее сетевую безопасность, безопасность веб-приложений, безопасность баз данных и стратегии тестирования проникновения, и содержащее функциональность, достаточную как для соответствия требованиям отечественных и международных нормативных документов, так и для использования в процессе обучения. К числу таких решений относится Rapid7 Metasploit производства компании Rapid7, которая была основана в 2000 году и является одним из лидирующих производителей продуктов для анализа и организации систем обеспечения информационной безопасности в ИТ-средах. Важным преимуществом программного обеспечения Rapid7 является возможность обзора состояния безопасности активов и пользователей в пределах любых сред, включая виртуальные и мобильные, а также публичные и частные облака.
Для оценки решения Rapid7 Metasploit можно воспользоваться решением того же производителя — демонстрационной уязвимой виртуальной машиной Metasploitable, оснащенной Ubuntu Linux. Виртуальная машина совместима с VMWare, VirtualBox и другими распространенными платформами виртуализации.
Важным подспорьем является то, что Rapid7 Metasploit совместим со сканером уязвимостей Rapid7 Nexpose, может инициировать его запуск, а также использовать результаты работы последнего.
Рассмотрим общий порядок работы с Rapid7 Metasploit.
Как работать с Rapid7 Metasploit
В общем виде работа с Rapid7 Metasploit состоит из следующих этапов:
- Создание проекта. Проект содержит рабочее пространство, которое используется для создания теста на проникновение, и конфигурацию планируемых к выполнению задач. Каждый тест на проникновение запускается из собственного проекта.
- Сбор информации. На этом этапе Rapid7 Metasploit собирает информацию о целевой сети: установленные операционные системы, открытые порты, запущенные хосты и процессы. На этом этапе также может использоваться сканер уязвимостей Rapid7 Nexpose. Во время проведения сканирования все полученные данные автоматически сохраняются в проект.
- Использование эксплойтов. Атака может выполняться вручную или с использованием базы эксплойтов. Здесь используются данные о сети, полученные на этапе 2.
- Действия над скомпрометированной системой. После получения доступа используется полезная нагрузка эксплойта, с помощью которой инициируются интерактивные сеансы для сбора дополнительной информации а также появляется возможность использовать постэксплуатационные модули для автоматического сбора сохраненных в операционной системе и приложениях паролей, скриншотов, снимков с веб-камер, записи нажатий клавиш, сбора конфигурационных файлов, запуска приложений и др.
Сравнение редакций Rapid7 Metasploit
Rapid7 Metasploit выпускается в нескольких редакциях, различающихся между собой объемом предоставляемых функций и типом лицензии на использование. На текущий момент доступны следующие редакции продукта:
- Framework
- Community
- Express
- Pro
В таблице представлены сведения о том, какие целевые функции реализованы в каждой из редакций продукта. Для удобства с помощью различных цветов целевые функции разделены на группы согласно своему основному назначению:
- Сбор данных о характеристиках компонентов и сетевых уязвимостях.
- Тестирование на проникновение.
- Выполнение задач фишинга.
- Тестирование веб-приложений.
- Формирование отчетов.
- Управление.
Таблица 1. Сравнение редакций Rapid7 Metasploit
Характеристика | Pro | Express | Community |
Импорт данных сканирования (Scan data import) |
✔ | ✔ | ✔ |
Сканирование с обнаружением (Discovery scan) |
✔ | ✔ | ✔ |
Интеграция с системой управления уязвимостями Nexpose (Nexpose scan integration) |
✔ | ✔ | ✔ |
Экспорт данных (Data export) |
✔ | ✔ | ✔ |
Ручной запуск эксплойтов (Manual exploitation) |
✔ | ✔ | ✔ |
Веб-интерфейс (Web interface) |
✔ | ✔ | ✔ |
Управление сеансами (Session management) |
✔ | ✔ | ✔ |
Управление учетными данными (Credential management) |
✔ | ✔ | ✔ |
Проникновение через опорный пункт (Proxy pivot) |
✔ | ✔ | ✔ |
Модули, исполняемые после компрометации (Post-exploitation modules) |
✔ | ✔ | ✔ |
Очистка сеанса (Session clean up) |
✔ | ✔ | ✔ |
Методом подбора (Bruteforce) |
✔ | ✔ | |
Сбор свидетельств (Evidence collection) |
✔ | ✔ | |
Протоколирование проверки (Audit Report) |
✔ | ✔ | |
Отчетность о деятельности (Activity Report) |
✔ | ✔ | |
Отчетность о скомпрометированных и уязвимых хостах (Compromised and Vulnerable Hosts Report) |
✔ | ✔ | |
Отчетность об учетных данных (Credentials Report) |
✔ | ✔ | |
Отчетность о работе сервисов (Services Report) |
✔ | ✔ | |
Повторное использование учетных данных (Credentials reuse) |
✔ | ✔ | |
Попытка обхода антивируса (Anti-virus evasion) |
✔ | ✔ | |
Попытка обхода систем обнаружения и предотвращения вторжений (IPS/IDS evasion) |
✔ | ✔ | |
Перезапуск сеанса (Session rerun) |
✔ | ✔ | |
Технологический процесс компрометации (Exploitation workflow) |
✔ | ✔ | |
Воспроизведение задач (Task replay) |
✔ | ✔ | |
Маркировка данных (Tagging data) |
✔ | ||
Отчетность о соответствии PCI DSS (PCI Report) |
✔ | ||
Отчетность о соответствии FISMA (FISMA Report) |
✔ | ||
"Мастер" для быстрого тестирования на проникновение (Quick PenTest Wizard) |
✔ | ||
"Мастер" для проверки уязвимостей (Vulnerability Validation Wizard) |
✔ | ||
Интеграция с системой сканирования качества кода Sonar (Project Sonar integration) |
✔ | ||
"Мастер" для фишинга (Phishing Wizard) |
✔ | ||
Социотехнический анализ (Social engineering) |
✔ | ||
"Мастер" для тестирования веб-приложений (Web App Testing Wizard) |
✔ | ||
Тестирование веб-приложений (Web app testing) |
✔ | ||
Проникновение через опорный пункт с использованием VPN-туннелирования (VPN pivoting) |
✔ | ||
Генератор полезных нагрузок (Payload generator) |
✔ | ||
Макросы, исполняемые после компрометации (Post-exploitation macros) |
✔ | ||
Постоянные сеансы (Persistent sessions) |
✔ | ||
Мета-модули (MetaModules) |
✔ | ||
Работа в команде (Team collaboration) |
✔ | ||
Цепочки задач (Task chains) |
✔ | ||
Резервирование и восстановление (Back up and restore) |
✔ | ||
Настраиваемая отчетность (Custom reporting) |
✔ | ||
Социотехническая отчетность (Social Engineering Report) |
✔ | ||
Отчетность по оценке веб-приложений (Web Application Assessment Report) |
✔ |
сбор данных о характеристиках компонентов и сетевых уязвимостях | |
тестирование на проникновение | |
выполнение задач фишинга | |
тестирование веб-приложений | |
формирование отчетов | |
управление |
Редакция Metasploit Framework стоит особняком, поскольку служит основой для создания коммерческих продуктов. Это проект с открытым кодом, предоставляющий доступ к базе эксплойтов для различных приложений, операционных систем и платформ. Управление осуществляется через интерфейс командной строки. Пользователь Metasploit Framework может создавать и добавлять новые эксплойты в базу или использовать имеющиеся в качестве дополнительных инструментов при выполнении тестов на проникновение.
Остальные редакции являются коммерческими, в них дополнительно реализовано управление через веб-интерфейс, а также в зависимости от редакции добавлены отдельные функции. В основном эти дополнительные функции направлены на автоматизацию общих задач тестирования: анализ уязвимостей, социотехника, генерация полезных нагрузок, атаки путем подбора.
Выводы
Rapid7 Metasploit имеет широкий спектр функциональных возможностей. Решение может работать как через веб-интерфейс, так и интерфейс командной строки — вариант определяется по желанию пользователя. При этом полный набор функций доступен только при работе с помощью веб-интерфейса. Rapid7 Metasploit поддерживает операционные системы семейства Windows и Linux.
Еще несколько отличительных характеристик Rapid7 Metasploit:
- Возможность выбора редакции, удовлетворяющей потребностям в частном случае.
- Возможность использовать результаты анализа уязвимостей от сторонних решений.
- Возможность тренировки на специально разработанной уязвимой системе.
- Интеграция продукта (в редакции Framework) с Linux-дистрибутивами:
- Kali linux
- Backtrack linux (поддержка прекращена)
- Pentoo
- BlackArch
- Backbox
Rapid7 Metasploit имеет несколько ограничений уровня эксплуатации, которые целесообразно учитывать:
- Установка и последующее корректное функционирование продукта возможны только после отключения брандмауэра и антивируса.
- Рекомендуется установка Rapid7 Nexpose и Metasploit на отдельных средствах вычислительной техники. При этом возможна установка Rapid7 Metasploit в виртуальную машину.
- Отсутствие полноценного перевода эксплуатационной документации на русский язык. С руководством по эксплуатации на английском языке можно ознакомиться на сайте производителя в разделе Metasploit.