16 KiB
Целевая система - исследуемый объект или комплекс объектов информационной системы, в результате воздействия злоумышленника на который может непосредственно произойти недопустимое для компании событие.
Pentest (Тестирование на проникновение) - анализ защищенности целевой системы в результате которой реализуются уязвимости или недопустимые события путем моделирования атак злоумышленников.
Уязвимость - недостаток целевой системы, который может быть использован для реализации недопустимого события (угроз безопасности).
Недопустимое событие - событие, приводящее к значительному нарушению деятельности компании.
Классификации пентеста
По отношению к инфраструктуре компании:
- Внешний - эксперт по тестированию на проникновение ведет свою деятельность вне контролируемой зоны компании.
- Внутренний - эксперт по тестированию на проникновение ведет свою деятельности внутри контролируемой зоны компании. По методу работ:
- Black Box - информация об инфраструктуре и целевой системе отсутствует, тестировщик добывает информацию применяя OSINT.
- Gray Box - у эксперта частично присутствует информация о целевой системе (учетки, пароли, ящики, адреса админок)
- White Box - у эксперта есть вся информация о целевой системе (документация, учетки админов и пользователей с паролями, исходный код при наличии, перечень ПО и т.д.) По типу целевой системы:
- Тестирование веб приложений
- Тестирование инфраструктуры
- Тестирование приложений
- Тестирование беспроводных сетей.
Методики и стандарты
Международные
- OWASP Top Ten - это стандартный документ, посвященный безопасной разработке веб-приложений. Он представляет собой широкий консенсус относительно наиболее важных рисков безопасности веб-приложений.
- OWASP Web Security Testing Guide (WSTG) - исчерпывающая методика по тестированию кибербезопасности для разработчиков веб-приложений и специалистов по безопасности.
- OWASP Mobile Application Security - представляет собой стандарт безопасности для мобильных приложений (OWASP MASVS) и подробное руководство по тестированию.
- OWASP Application Security Verification Standard - описывает основу для тестирования средств контроля технической безопасности веб-приложений, а также предоставляет разработчикам список требований для безопасной разработки.
- ISO/IEC 27001 - стандарт Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC) для систем управления информационной безопасностью. Описывает требования по проведению тестирования на проникновение как часть процесса управления рисками.
- NIST SP 800-115 - стандарт Национального института стандартов и технологий США (National Institute of Standards and Technology), описывающий методику тестирования на проникновение.
- OSSTMM - методика, разработанная Open Information Security Foundation (OISF), описывает широкий набор методов и подходов для тестирования на проникновение.
- WASC - в данной методике собраны недостатки и классы атак, которые представляют угрозу для веб-приложений и пользователей.
- PTES - открытое руководство, охватывающее все этапы выполнения тестирования на проникновение, начиная от сбора информации и заканчивая подготовкой отчета.
- PCI DSS (Payment Card Industry Data Security Standard) - включает в себя требования по проведению пентестов для систем, обрабатывающих платежные данные.
- CREST (Council of Registered Ethical Security Testers) - организация CREST разрабатывает и поддерживает стандарты для профессиональных пентестеров. Их рекомендации охватывают различные аспекты тестирования, включая мобильные устройства и физическую безопасность.
Отечественные
- Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации "Типовое техническое задание на выполнение работ по оценке уровня защищенности информационной инфраструктуры" - данный документ описывает объем и состав работ, а также требуемые отчетные документы в рамках работ по тестированию на проникновение в компании.
Инфраструктура
Инфраструктура - совокупность множества ПО, оборудования, сетей и сервисов, образующих информационную систему компании.
!
Рисунок 1 -Схема тестирования компании на проникновение.
Разведка
Разведка представляет из себя анализ внешнего периметра системы компании (внешние сервисы и веб-приложения), либо анализ внутерннего периметра компании. На этапе разветки собирается вся доступная информация о компании в Интернете\Даркнете (учетки, пароли, корп. почта, перечень активов и другие источники). Собирается следующая информация:
- Перечень активов и данные об их назначении через сканирование доступной сети
- Перечень открытых портов и сервисов (с указанием версий) работающих на данных портах.
- Перечень используемых технологий и ПО
- Определение ОС, их версий и возможной сборки.
- Учетки
- Файлы конфигурации и ошибки в них.
Первоначальный доступ
Первоначальный доступ - на данном этапе атакующий получает доступ с возможностью выполнения команд на скомпроментированном активе или возможность управления им с целью доставки необходимых инструментариев и реализации дальнейших этапов тестирования на проникновение. На данном этапе реализуется:
- Рассылка фишинговых писем
- Проверка возможности получения доступа с применением выявленных учетных данных к различным сервисам, например
FTPилиSMB, SSH, RDP - Попытка эксплуатации ранее выявленных уязвимостей в сервисах и компонентах целевой системы на этапе разведки.
Закрепление
Закрепление - в рамках данного этапа реализуется комплекс мер для организации отказоустойчивого канала (возможность повторного запуска процесса с бэкконнектом при его прирывании). Для закрепления могут использоваться следующшие подходы:
Создание задачина запуск исполняемого файлаДобавление в автозапускисполняемого файлаСоздание службызапуска исполняемого файлаИзменение скриптовСоздание учётки
Повышение привелегий
Повышение привелегий - реализация мер для получения привелегилированных прав в ОС. Можно реализовать через:
Работающие скрипты, которые запускаются из-под рута.Работающие службы, которые запускаются из-под рута.Задачи, зпускаемые в ОС.Привелегиитекущей учеткиОбход локальных ограниченийв двоичных файлах
Внутреняя разведка
Внутренняя разведка - этап, целью которого является изучение информации хранящейся на активе (учетки, иформация об активах, тех. документация и иная) или в сети для дальнейшего использования в цепочке атак. Разведка актива:
Учётки записи и паролиТехническая документация- Информация об используемом
ПО - Запущенные
процессыи активныесессии ARP-записиИнформация о хостеРазведка сети:
- Результаты сканирования сетевых сканеров
- Сбор информации в AD
ОФОРМЛЕНИЕ ОТЧЕТА
Отчет содержит в себе следующие разделы:
- Информацию о системе и используемых технологиях
- Краткую информацию о выявленных уязвимостях и недопустимых событиях
- Выявленные следы компрометации (найденные утечки, информация о готовящихся атаках, наличие подозрительных объектов или логов в рамках тестирования)
- перечень первоочередных и долгосрочных мер для устранения уязвимостей и контролю их отсутствия
Технический отчет
Этот отчет необходим в первую очередь подразделениям информационной безопасности и ИТ-службам. В данном документе более детально описывается реализация уязвимостей и недопустимых событий, а также рекомендации по их устранению.
Содержание отчета:
- период проведения работ;
- информация о целевой системе;
- применяемые методики и инструментарии;
- этапы проведения тестирования (берутся из разработанной методики из пункта 3);
- информация о найденных уязвимостях и недопустимых событиях;
- расчет защищенности целевой системы;
- приложения с подробным описанием выявленных уязвимостей и недопустимых событий с рекомендациями по устранению.
На каждую выявленную уязвимость в приложении необходимо оформлять карточку выявленного недостатка, пример карточки указан ниже:
Название: <Название выявленной уязвимости>
Критичность: Информационная/Низкая/Средняя/Высокая
CVSS: x.x - где х.х числовой показатель, например, 6.3
CVSS-вектор: CVSS:3.0/XX:X/XX:X/XX:X/XX:X/X:X/X:X/X:X/X:X, ссылка на калькулятор https://www.first.org/cvss/calculator/3.0
Требуемая квалификация атакующего: Низкая/Средняя/Высокая
Описание: <Детальное представление уязвимости>
Реализация: <Описать шаги, приводящие к реализации уязвимости>
Рекомендации по устранению: <Перечень действий для устранения возможности реализации данной уязвимости>
Для оформления карточки реализации недопустимого события используется следующий формат карточки:
Название: <Название реализованного недопустимого события>
Цепочка связанных уязвимостей: <уязвимость 1>,<уязвимость 2>,...,<уязвимость N>
Описание: <Детальное описание недопустимого события>
**Реализация: <Описать шаги, приводящие к реализации недопустимого события>
Рекомендации по устранению: <Перечень действий для устранения возможности реализации недопустимого события>