Открыть сервис

Тестирование на проникновение: методы и этапы

Тестирование на проникновение (от англ. penetration testing, также пентест) — это легальная санкционированная симуляция кибератак на информационную систему, сеть или веб-приложение с целью выявления уязвимостей, которые могут быть использованы злоумышленниками. Процесс проводится по заказу владельца системы для оценки уровня её защищённости, проверки эффективности средств безопасности и соответствия требованиям стандартов (например, PCI DSS, ISO 27001). В отличие от аудита безопасности, который лишь проверяет конфигурацию, пентест активно эксплуатирует найденные слабости, демонстрируя реальный путь атаки и потенциальный ущерб.

Цели и задачи

Основная цель пентеста — ответить на вопрос, может ли внешний или внутренний нарушитель получить несанкционированный доступ к критичным данным или функционалу системы. Задачи включают:

  • выявление технических уязвимостей (CVE, ошибки конфигурации, слабые пароли);
  • проверку устойчивости к социальной инженерии;
  • оценку возможности горизонтального и вертикального перемещения внутри сети;
  • проверку работы систем обнаружения вторжений (IDS/IPS) и реагирования на инциденты;
  • получение доказательств (отчёта) для руководства или регуляторов.

Классификация пентестов

Пентесты различают по степени осведомлённости тестировщика о системе и по исходной точке атаки.

По уровню информации (методология OSSTMM)

  • Black box (чёрный ящик): тестировщик не имеет никакой внутренней информации, кроме названия компании или IP-адреса. Действует как внешний злоумышленник, начиная с разведки.
  • White box (белый ящик): предоставляется полная документация, исходный код, схемы сети и учётные записи. Позволяет провести глубокий анализ кода и архитектуры за короткое время.
  • Grey box (серый ящик): промежуточный вариант, при котором тестировщик имеет частичные привилегии (например, доступ от имени обычного пользователя) или знание внутренней структуры. Наиболее частый сценарий в коммерческих проектах, так как имитирует действия инсайдера или последствия компрометации одной учётной записи.

По вектору атаки

  • Внешний пентест: атака проводится из интернета против периметра сети (веб-серверы, почтовые шлюзы, VPN).
  • Внутренний пентест: имитация атаки изнутри корпоративной сети (например, подключение к Wi-Fi или работа от лица сотрудника).
  • Пентест веб-приложений: фокус на логике приложения, инъекциях (SQLi, XSS), ошибках авторизации и управления сессиями.
  • Пентест мобильных приложений: анализ клиентской части, API-интерфейсов и хранилищ данных на устройстве.
  • Пентест беспроводных сетей: проверка безопасности Wi-Fi и Bluetooth-соединений.
  • Социальная инженерия: фишинговые рассылки, звонки, физическое проникновение (в рамках допустимого договора).

Этапы проведения

Процесс пентеста стандартизирован (например, PTES — Penetration Testing Execution Standard) и состоит из нескольких фаз.

1. Согласование и разведка (Pre-engagement)

На этом этапе подписывается договор, определяющий границы (scope) — какие IP-адреса и системы можно атаковать, а какие нет. Фиксируются правила взаимодействия (RoE), время проведения и допустимые методы (например, запрет на DoS-атаки). Далее начинается пассивная разведка: сбор информации из открытых источников (OSINT), DNS-запросы, поиск утечек данных.

2. Активное сканирование и анализ

Тестировщик использует сканеры (Nmap, Nessus, OpenVAS) для обнаружения открытых портов, сервисов и их версий. Проводится анализ баннеров, поиск известных уязвимостей. На этом этапе важно отличать ложноположительные срабатывания сканеров от реальных проблем.

3. Эксплуатация уязвимостей (Exploitation)

Найденные уязвимости используются для получения доступа к системе. Применяются готовые эксплойты (Metasploit, SearchSploit) или пишутся собственные. Цель — доказать факт компрометации, а не нанести урон. Например, для проверки SQL-инъекции достаточно вывести версию базы данных, а не скачивать всю таблицу пользователей.

4. Пост-эксплуатация и закрепление

После получения доступа оценивается его глубина: права пользователя, возможность повышения привилегий до root/Administrator. Тестировщик проверяет, можно ли закрепиться в системе (установить бэкдор) и получить доступ к другим сегментам сети (pivoting). Это демонстрирует реальный риск для критичных активов.

5. Очистка следов

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

6. Отчётность

Финальный отчёт — ключевой результат пентеста. Он содержит:

  • исполнительное резюме для руководства (без технических деталей);
  • детальное описание каждой найденной уязвимости с указанием CVSS-балла;
  • доказательства эксплуатации (скриншоты, логи);
  • рекомендации по устранению с приоритизацией.

Методологии и стандарты

Для стандартизации процесса используются общепринятые фреймворки:

  • OWASP Testing Guide — для веб-приложений;
  • PTES — общий стандарт;
  • NIST SP 800-115 — руководство по тестированию информационных систем;
  • MITRE ATT&CKбаза знаний тактик и техник реальных группировок, используется для моделирования сложных атак (APT).

Инструментарий

Современный пентест невозможен без специализированных дистрибутивов Linux (Kali Linux, Parrot OS), включающих сотни утилит. Основные категории инструментов:

  • сканеры сети и портов (Nmap);
  • фреймворки для эксплуатации (Metasploit);
  • перехватчики трафика (Burp Suite, Wireshark);
  • инструменты для подбора паролей (Hydra, John the Ripper);
  • скрипты для автоматизации (Python, PowerShell).

Правовые аспекты в России

В Российской Федерации несанкционированный доступ к компьютерной информации является уголовным преступлением (ст. 272 УК РФ). Поэтому пентест проводится исключительно на основании письменного договора с владельцем системы. Важно, чтобы в договоре были чётко прописаны границы разрешённых действий, иначе даже действия тестировщика могут быть квалифицированы как неправомерные. Деятельность специалистов по пентесту регулируется общими нормами о коммерческой тайне и защите информации (ФЗ-149 «Об информации», ФЗ-152 «О персональных данных»).

Отличие от смежных понятий

Пентест часто путают с аудитом безопасности и сканированием уязвимостей. Сканирование — это автоматизированный поиск известных уязвимостей без попытки их эксплуатации. Аудит — это более широкая проверка соответствия политикам и стандартам, включающая анализ процессов и документов. Пентест же отвечает на практический вопрос: «Можно ли взломать систему?», проверяя эффективность защитных мер в действии.

Ограничения метода

Пентест не даёт стопроцентной гарантии безопасности. Он показывает состояние системы на момент тестирования и в рамках согласованного сценария. Некоторые уязвимости могут остаться незамеченными из-за ограничений по времени или сложности их эксплуатации. Кроме того, пентест не заменяет постоянный мониторинг и процесс управления уязвимостями, так как является точечной проверкой, а не непрерывным процессом.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →