Пентест сайта: что это, этапы, цена и как заказать
Белый изометрический ящик с перекошенной приподнятой крышкой, в щели виден зелёный торец

Пентест сайта: что это, этапы, цена и как заказать

Пентест сайта — санкционированная имитация хакерской атаки для поиска уязвимостей. Разбираем виды, этапы, инструменты, сроки и типичные ошибки.

Пентест сайта: как проверить защиту до того, как её проверит злоумышленник

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

Главное отличие от обычной проверки: пентест отвечает не на вопрос «есть ли в коде ошибки», а на вопрос «что сможет сделать атакующий».

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

Что такое пентест и чем он отличается от сканирования

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

Часто пентест путают с автоматическим сканированием уязвимостей. Сканер — это программа, которая по готовым шаблонам проверяет сайт на известные проблемы: устаревшие версии библиотек, отсутствие защитных заголовков, типовые ошибки конфигурации. Он быстро работает и недорого стоит, но выдаёт заметную долю ложных срабатываний и не понимает, как устроена логика вашего бизнеса.

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

Зачем владельцу сайта проводить пентест

  1. 01

    Находит реальные уязвимости, а не теоретические риски: каждая проблема подтверждается практическим сценарием атаки

  2. 02

    Защищает персональные данные клиентов, учётные записи и платёжную информацию от утечек

  3. 03

    Помогает выполнять требования 152-ФЗ, PCI DSS и условия партнёров и банков, где нужны подтверждения безопасности

  4. 04

    Снижает репутационные и финансовые потери: взлом нередко приводит к блокировке сайта, падению трафика и штрафам

  5. 05

    Даёт приоритизированный план исправлений, чтобы разработчики сначала закрывали самые опасные дыры

  6. 06

    Позволяет сохранить позиции в поиске: заражённый сайт получает предупреждения в Яндекс Вебмастере и Google Search Console и теряет посетителей

Три подхода к тестированию: black, gray и white box

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

Black box («чёрный ящик») — тестировщик знает только адрес сайта и действует как внешний злоумышленник. Этот подход показывает, что видно и доступно снаружи, но из-за ограниченного знания системы часть проблем может остаться незамеченной.

Gray box («серый ящик») — исполнитель получает ограниченные сведения: учётные записи обычного пользователя и администратора, описание ролей, иногда схему API. Это самый востребованный формат, потому что имитирует атаку со стороны зарегистрированного клиента или сотрудника.

White box («белый ящик») — команда получает полный доступ к исходному коду, архитектуре и конфигурации. Такая проверка самая глубокая и позволяет найти скрытые ошибки, но требует больше времени и ресурсов.

01 / black box

Чёрный ящик

Исполнитель знает только адрес сайта. Имитация атаки внешнего злоумышленника.

входные данныедомен
глубинабазовая
подходит дляпервичной оценки
02 / gray box

Серый ящик

Есть учётные записи пользователя и администратора. Имитация атаки клиента или сотрудника.

входные данныеаккаунты, роли
глубинасредняя
подходит длямагазинов, кабинетов
03 / white box

Белый ящик

Открыт исходный код и архитектура. Максимально полная проверка всех слоёв.

входные данныекод, конфигурация
глубинамаксимальная
подходит длякритичных систем

Как проходит пентест сайта: этапы работ

  1. 01

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

  2. 02

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

  3. 03

    Анализ и поиск уязвимостей. Запускают автоматические сканеры и параллельно вручную проверяют формы, авторизацию, разграничение прав, загрузку файлов, API и бизнес-логику.

  4. 04

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

  5. 05

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

  6. 06

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

  7. 07

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

Инструменты и стандарты, на которые опираются специалисты

Методику большинства веб-пентестов строят на открытых стандартах. Главный из них — OWASP Top 10, регулярно обновляемый перечень самых распространённых и опасных рисков для веб-приложений. К нему добавляют руководство OWASP Web Security Testing Guide и классификацию уязвимостей CWE.

Из инструментов чаще всего используют Burp Suite для перехвата и изменения запросов, OWASP ZAP как бесплатную альтернативу, Nmap для обнаружения открытых портов и сервисов, sqlmap для проверки SQL-инъекций, а также ffuf и dirsearch для поиска скрытых каталогов и файлов. Для CMS применяют специализированные сканеры, например WPScan для WordPress.

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

УязвимостьЧто может сделать атакующийКак защищаться
SQL-инъекцияПрочитать или изменить базу данных, выгрузить клиентовПараметризованные запросы, проверка входных данных
XSS (межсайтовый скриптинг)Украсть сессии пользователей, внедрить вредоносный код на страницыЭкранирование вывода, политика CSP
Нарушение контроля доступаПросматривать чужие заказы, менять данные, получать права администратораПроверка прав на сервере при каждом запросе
Слабая аутентификацияПодобрать пароль, обойти вход, захватить аккаунтДвухфакторная аутентификация, лимит попыток входа
Небезопасная загрузка файловЗагрузить веб-шелл и получить управление серверомПроверка типа и содержимого файлов, хранение вне корня сайта
Ошибки конфигурацииПолучить доступ к служебным файлам, логам и панелям управленияОтключение отладки, закрытие лишних портов, регулярные обновления

Правовые аспекты и безопасность самого тестирования

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

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

Чтобы риски были минимальными, тестирование нередко проводят на копии сайта (стенде), а на боевой версии выполняют только безопасные проверки. Резервная копия перед началом работ обязательна: некоторые виды тестов, например проверка форм, могут создавать тестовые записи или нагружать сервер.

шкала cvss v3 / уровни опасности

Как отчёт ранжирует найденные уязвимости

9.0–10.0
КритическийПолный захват системы, утечка базы данных. Исправлять немедленно, при необходимости временно закрыть функцию.
7.0–8.9
ВысокийДоступ к чужим данным или повышение прав. Исправлять в первую очередь, в течение нескольких дней.
4.0–6.9
СреднийУязвимость требует условий для эксплуатации. Включать в ближайший плановый релиз.
0.1–3.9
НизкийМалое влияние или сложная эксплуатация. Устранять в рамках планового обслуживания.

Сколько стоит пентест и как выбрать исполнителя

Цена пентеста зависит от нескольких факторов: количества страниц и функций, наличия личных кабинетов и API, выбранного вида (black, gray или white box), требуемой глубины и сроков. Проверка небольшого корпоративного сайта обходится существенно дешевле, чем тестирование крупной платформы с платежами и множеством ролей. Поэтому серьёзные компании не называют цену «с потолка», а сначала уточняют состав системы.

При выборе подрядчика обращайте внимание на следующее: есть ли у команды подтверждённый опыт и профильные сертификаты (например, OSCP или CEH), готовы ли показать обезличенный пример отчёта, описана ли методика, предусмотрена ли повторная проверка после исправлений и подписывается ли NDA. Настораживает, если вам обещают «стопроцентную защиту» или отдают только выгрузку автоматического сканера.

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

Типичные ошибки при заказе и проведении пентеста

Даже качественно проведённая проверка не принесёт пользы, если заказчик допускает эти промахи.

Как делают неправильно

  • Заказывают пентест «для галочки» и откладывают отчёт в стол
  • Принимают за пентест выгрузку автоматического сканера
  • Не делают резервную копию перед началом работ
  • Ограничивают область проверки только главной страницей
  • Исправляют уязвимости и не проверяют, что они закрыты
  • Проводят тест один раз и забывают о нём на несколько лет

Как правильно

  1. 01

    Назначить ответственных и сроки устранения по каждой находке

  2. 02

    Требовать ручную проверку и описание сценариев атак

  3. 03

    Сделать полный бэкап файлов и базы данных заранее

  4. 04

    Включить в область все домены, поддомены, API и админ-панели

  5. 05

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

  6. 06

    Повторять проверку минимум раз в год и после крупных изменений

Что делать после пентеста

Получение отчёта — только начало. Первым делом обсудите результаты с разработчиками и распределите задачи по уровню опасности: критические и высокие проблемы закрывают сразу, остальные включают в план релизов. Исправления нужно проверить: самый надёжный способ — ретест от той же команды.

Параллельно стоит выстроить постоянную защиту. Обновляйте CMS, плагины и библиотеки, подключите веб-аппаратный экран (WAF), включите двухфакторную авторизацию для администраторов, настройте резервное копирование и мониторинг логов. Следите за уведомлениями в Яндекс Вебмастере и Google Search Console: оба сервиса сообщают о заражении сайта и проблемах безопасности, а для анализа посещаемости и подозрительных всплесков трафика пригодятся Яндекс Метрика и Google Analytics.

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

чек-лист / подготовка к пентесту

Что сделать до начала работ

Составить список доменов, поддомена и API в области проверки
Сделать резервную копию файлов и базы данных
Подготовить тестовые учётные записи для каждой роли
Уведомить хостинг-провайдера и подписать договор с NDA
Назначить контактное лицо для связи при сбоях
Согласовать окно работ и допустимую нагрузку на сервер
Пентест не заменяет постоянную защиту. Он показывает состояние безопасности на момент проверки: после обновления кода или добавления новых функций могут появиться новые уязвимости, поэтому тестирование нужно повторять.

Итоги: пентест как инструмент управляемой безопасности

Пентест сайта — это самый наглядный способ узнать, как выглядит ваш ресурс глазами злоумышленника, и закрыть дыры до реального инцидента.
  1. 01

    Пентест имитирует атаку и подтверждает уязвимости практикой, в отличие от автоматического сканера

  2. 02

    Формат (black, gray или white box) выбирают по задачам, рискам и бюджету

  3. 03

    Работы идут по этапам: от согласования и разведки до отчёта и повторной проверки

  4. 04

    Результат — приоритизированный список уязвимостей с рекомендациями по устранению

  5. 05

    Проверку стоит повторять минимум раз в год и после значимых изменений сайта

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

Часто задаваемые вопросы

Узнайте, где ваш сайт уязвим, раньше, чем это найдут хакеры

Проведём пентест, покажем реальные дыры и дадим понятный план их закрытия по приоритетам

Бесплатная предоценкаДоговор и NDAПовторная проверка после исправлений

Отчёт с приоритетами и рекомендациями

Политика конфиденциальности

При оставлении заявки на ресурсе «https://gurucontext.ru» пользователи предоставляют следующие сведения:

  • Имя
  • Контактный телефон или Telegram
  • Адрес сайта пользователя (не обязательно)

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

Использование информации

Вся полученная информация используется администрацией «https://gurucontext.ru» исключительно в целях связи с клиентом.

Защита персональных данных

Компания «https://gurucontext.ru» обязуется не разглашать сведения, полученные от пользователей, и хранит их в защищённом виде.

Предоставление данных третьим лицам

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

Контакты

Телефон: +7 (499) 955-47-00.
E-mail: info@gurucontext.ru.