Пентест веб-приложений: этапы, методы и влияние на кибербезопасность

Пентест веб-приложений: этапы, методы и влияние на кибербезопасность

Пентест веб-приложений – попытка взлома прикладных систем (например, API-интерфейсов или внутренних серверов) для выявления уязвимостей, а в частности, незащищенных входных данных, которые подвержены атакам путем внедрения кода.

Что такое тестирование на проникновение (пентест)

Тестирование на проникновение – смоделированная кибератака на компьютерную систему для её проверки на наличие уязвимостей. В контексте безопасности веб-приложений пентест обычно используется для усиления брандмауэра веб-приложений (Web Application Firewall, WAF).

Информация, полученная в результате теста на проникновение, может использоваться для тонкой настройки политик безопасности WAF и исправления обнаруженных уязвимостей.

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

Процесс тестирования можно разбить на пять этапов.


1. Планирование и разведка

  • Определение объема, целей и методов тестирования.
  • Сбор информации (сетевых и доменных имен, почтового сервера), чтобы лучше понять, как работает цель и ее потенциальные уязвимости.

2. Сканирование
На этом этапе мы определяем то, как целевое приложение будет реагировать на различные попытки вторжения. Обычно это делается с помощью:

  • Статического анализа (SAST) — проверка кода приложения для оценки его поведения во время работы. Эти инструменты могут сканировать весь код за один проход.
  • Динамического анализа (DAST) — проверка кода в рабочем состоянии. Это более практичный способ сканирования, поскольку он позволяет в режиме реального времени отслеживать производительность приложения.

3. Получение доступа
На этом этапе используются атаки веб-приложений для выявления уязвимостей – межсайтовый скриптинг (XSS), SQL-инъекция и бэкдоры. Затем пентестер пытается эксплуатировать найденные уязвимости, как правило, путем повышения привилегий, кражи данных, перехвата трафика и т. д., чтобы понять, какой ущерб он может нанести цели.

4. Сохранение доступа
Цель этого этапа — выяснить, можно ли использовать уязвимость для обеспечения постоянного присутствия в эксплуатируемой системе — достаточно долго, чтобы злоумышленник мог получить полный доступ. Идея состоит в том, чтобы сымитировать APT-угрозы, которые часто остаются в системе в течение нескольких месяцев, чтобы украсть самые конфиденциальные данные организации.

5. Анализ
Результаты теста на проникновение затем объединяются в отчет, в котором подробно описываются:

  • Уязвимости, которые были использованы;
  • Конфиденциальные данные, к которым был получен доступ;
  • Время, в течение которого пентестер мог оставаться в системе незамеченным.

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

Методы тестирования на проникновение

Внешнее тестирование

Внешние тесты на проникновение нацелены на активы компании, доступные в Интернете, например, само веб-приложение, сайт компании, а также почтовые серверы и DNS-серверы. Цель состоит в том, чтобы получить доступ и извлечь ценные данные.

Внутреннее тестирование

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

Слепое тестирование

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

Двойное слепое тестирование

В двойном слепом тесте ИБ-специалисты не имеют предварительных сведений о смоделированной атаке. Как и в реальном мире, у них не будет времени укрепить свою защиту перед попыткой взлома.

Целевое тестирование

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

Тестирование на проникновение и брандмауэры веб-приложений

Тестирование на проникновение и WAF являются эксклюзивными, но взаимовыгодными мерами безопасности.

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

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

Кроме того, ручное тестирование удовлетворяет некоторым требованиям соответствия процедурам аудита безопасности – PCI DSS и SOC 2. А требования стандарта PCI-DSS 6.6 могут быть удовлетворены только при использовании сертифицированного WAF. Но это не делает тестирование менее полезным из-за его преимуществ и способности улучшать конфигурации WAF.


Мир сходит с ума, но еще не поздно все исправить. Подпишись на канал SecLabnews и внеси свой вклад в предотвращение киберапокалипсиса!