РАЗБОР На проверке 

Ограничения пентеста: что тест проверяет, а что нет

Сергей Попов
Сергей Попов Red Team · 6,4 тыс. сообщений
Подписаться
17
Режим чтения
Крупный план миниатюрного устройства для пентеста на тёмном антистатическом коврике: OLED-экран янтарным моноширинным шрифтом показывает границы сканирования и пометку «вне периметра», резкий голуб...


На одном из проектов заказчик получил чистый отчёт по внешнему пентесту и в тот же день отчитался руководству: «Мы защищены». Через два месяца компанию скомпрометировали через фишинговое письмо сотруднику бухгалтерии - вектор, который в scope тестирования вообще не входил. История банальная, но повторяется с пугающей регулярностью. Ожидания от пентеста и его реальные возможности - две разные вещи. Разберём, что тест на проникновение проверяет на деле, а что гарантированно остаётся за кадром.

Что такое пентест в терминах scope​

Пентест - контролируемая имитация атаки на заранее согласованный набор систем. Ключевое слово здесь - «заранее согласованный». До начала работы пентестер и заказчик подписывают Rules of Engagement, где чётко прописано: какие IP-адреса, приложения и сети разрешено тестировать, в какое время можно работать и какие методы допустимы. Иногда клиент хочет протестировать систему, которая ему даже не принадлежит - и тестировать её было бы попросту незаконно. Поэтому scope фиксируется до первого сканирования.

Для тех кто в танке - аналогия. Пентест - не проверка всего дома на прочность. Это проверка замка на входной двери в оговорённое время. Окна, чёрный ход, сигнализация и поведение жильцов остаются за рамками, если их не включили в scope.

Что проверяет тест на проникновение в типичном проекте:
  • Внешний периметр - веб-приложения, API, VPN-шлюзы, почтовые серверы. Пентестер запускает nmap для обнаружения открытых портов и сервисов (Network Service Discovery, T1046 по MITRE ATT&CK), затем переходит к ручному анализу в Burp Suite.
  • Внутренняя сеть - если scope включает внутренний пентест. Проверяются сегментация, права доступа, возможность privilege escalation. LinPEAS помогает найти путь от low-priv пользователя до root через мисконфигурации (Exploitation for Privilege Escalation, T1068).
  • Веб-приложения - инъекции (A03:2021 по OWASP), нарушения контроля доступа (A01:2021), ошибки аутентификации (A07:2021), устаревшие компоненты (A06:2021).
  • Конфигурации - мисконфигурации серверов, облачных сред, сетевого оборудования (A05:2021 по OWASP).
Результат - конкретный вердикт: «уязвимость эксплуатируема» или «уязвимость не обнаружена в рамках отведённого времени и scope». И вот тут кроется главное: «не обнаружена» ≠ «не существует».

Чего не покрывает пентест​

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

Инсайдерские угрозы​

Пентест моделирует внешнего атакующего или атакующего с ограниченным доступом. Но он не моделирует сотрудника, который месяцами копирует клиентскую базу на личную флешку. Valid Accounts (T1078 по MITRE ATT&CK) - одна из самых частых техник у реальных злоумышленников: использование легитимных учётных данных для начального доступа, закрепления и повышения привилегий. Пентест может проверить стойкость паролей через Brute Force (T1110), но не определит, что конкретный Иванов из бухгалтерии уже передаёт свои креды третьей стороне.

Инсайдерские угрозы - одно из главных слепых пятен стандартного теста. Они требуют поведенческого анализа авторизованных пользователей (UEBA, DLP), а не поиска технических уязвимостей. Пентестер ищет дырки в заборе, а не следит за тем, кто из своих ворует со склада.

Социальная инженерия за пределами scope​

Фишинг, претекстинг, подбрасывание заражённых флешек - всё это можно включить в scope, но обычно не включают. Причины прозаичные: юридические риски, нежелание «пугать» сотрудников, бюджет. По данным CERT-UA, фишинг составляет 71% инцидентов. Самый частый вектор реальных атак - и он остаётся непроверенным в большинстве стандартных пентестов.

Тестирование без социальной инженерии - как проверка замка без учёта того, что хозяин оставляет ключ под ковриком.

Уязвимости нулевого дня и ошибки бизнес-логики​

Zero-day - уязвимость, о которой не знают ни вендор, ни исследователи. Пентестер работает с известными CVE и публичными техниками эксплуатации. Нет публичного эксплойта - стандартным тестированием уязвимость не найдут. Точка.

Ошибки бизнес-логики - отдельная головная боль. Это не SQL-инъекция, а ситуация, когда пользователь может применить скидку дважды, обойти процесс согласования нестандартной последовательностью действий или утвердить собственный запрос из-за обхода workflow. Такие штуки требуют глубокого понимания бизнес-процессов заказчика. Пентестер за одну-две недели работы редко погружается в логику настолько, чтобы обнаружить подобные дефекты. Он видит приложение снаружи, а не изнутри бизнеса.

Непрерывный мониторинг и долгосрочные угрозы​

Пентест - снимок, point-in-time assessment. Он показывает состояние защиты на момент проведения. Завтра кто-то откроет порт «на время», обновит библиотеку с новой уязвимостью или добавит API-эндпоинт без авторизации - и результаты устаревают. По NIST Cybersecurity Framework (CSF v2.0), функции Detect (DE) и Respond (RS) - непрерывные процессы. Пентест к ним не относится.

APT-группировки работают месяцами, медленно закрепляясь в инфраструктуре через Exploitation of Remote Services (T1210) и латеральное перемещение. Двухнедельный пентест физически не способен воспроизвести такой сценарий - у него просто нет столько времени.

Пентест vs мониторинг: разница подходов

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

КритерийПентестНепрерывный мониторинг
ЧастотаРаз в 6-12 месяцевПостоянно
ГлубинаВысокая на узком scopeШирокая, менее глубокая
Что находитЭксплуатируемые уязвимостиАномалии, новые угрозы, дрифт конфигураций
Слепые зоныВсё за пределами scope и времениСложные цепочки эксплуатации
Формат результатаОтчёт с рекомендациямиАлерты и дашборды в реальном времени

Ни один метод не заменяет другой. Пентест доказывает эксплуатируемость - это его сильная сторона. Мониторинг фиксирует происходящее прямо сейчас. Вместе они дают адекватную оценку защищённости; по отдельности - нет.

Альтернативы пентесту и дополняющие методы​

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

Vulnerability scanning - регулярное автоматическое сканирование. Сканер не выстроит цепочку атаки из трёх уязвимостей (это задача человека), но ловит известные CVE между тестами. OpenVAS, Nessus - инструменты для промежуточного контроля. Бесплатная точка входа - OpenVAS, для тех у кого бюджет на нуле.

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

Bug Bounty - внешние исследователи ищут уязвимости постоянно, без временных рамок. Закрывает разрыв между ежегодными пентестами. Для российского рынка стоит учитывать нюансы: KYC-процедуры на платформах, санкционные ограничения на выплаты, юридическое оформление.

SIEM и SOC - сбор и анализ событий безопасности в реальном времени. Это и есть та самая непрерывная безопасность, которой пентесту не хватает. Без SOC организация узнаёт об инциденте из новостей. Для старта без бюджета - Wazuh (open-source SIEM) закрывает базовые потребности.

Аудит конфигураций - проверка соответствия настроек стандартам (CIS Benchmarks, NIST SP 800-53). Ловит мисконфигурации, до которых пентестер мог не добраться за отведённое время.

Разница между пентестом и аудитом: пентест доказывает, что уязвимость можно эксплуатировать. Аудит проверяет соответствие стандартам без попытки взлома. Первый отвечает на вопрос «можно ли сломать», второй - «правильно ли настроено по документам».

Как не попасть в ловушку чистого отчёта​

Четыре правила для тех, кто заказывает или интерпретирует результаты пентеста:
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

За 50+ проектов я наблюдал один и тот же паттерн: заказчик радуется чистому отчёту, расслабляется и забывает, что тест покрыл треть инфраструктуры за две недели. Потом удивляется, когда инцидент приходит с направления, куда пентестер даже не заглядывал.

Недостатки пентеста - не повод от него отказываться. Это повод понимать его место в общей картине. Пентест отвечает на вопрос «можно ли сломать вот это прямо сейчас», но молчит про «что будет завтра» и «что с тем, что мы решили не проверять». Воспринимать тест на проникновение как один элемент из набора - правильно. Ставить на него всё - значит создавать ложную уверенность, которая опаснее открытого порта.

Из практики: компании, которые разбираются, как пентест, мониторинг и аудит складываются в единую систему, реже попадают в новостные сводки. Для тех, кто хочет выстроить это понимание с нуля - IB Basics на codeby.school даёт структуру от первых шагов, без порога входа.
Полезно

Комментарии

0

Ещё по теме