Acunetix WVS
Ищем уязвимости в веб-приложениях на автомате
Первое, что я хочу сказать, — не стоит излишне полагаться на автоматический сканер уязвимостей как на универсальный инструмент. Когда я вел уроки или консультировал команды как независимый специалист, я обычно говорил, что сканеры — это оружие отчаяния для ред‑тимеров и необходимый инструмент для DevSecOps.
Однако с тех пор я несколько пересмотрел свою точку зрения. Теперь я считаю, что сканеры уязвимостей — это необходимый минимум и для red team, который полезно использовать во время или сразу после разведки либо, если угодно, для расширения поверхности атаки. Ведь руками до всего дотянуться довольно‑таки сложно, если вообще возможно. Так вот, Acunetix — мой фаворит в этих вопросах. Он довольно быстрый, достаточно умный и гибкий для того, чтобы закрыть эту потребность.
info
Acunetix WVS (Web Vulnerability Scanner) — это коммерческий инструмент от компании Invicti для автоматического сканирования веб‑приложений на уязвимости. Он проверяет веб‑сайты на наличие различных типов уязвимостей, таких как SQL-инъекции, XSS (межсайтовый скриптинг) и другие угрозы, которые могут быть использованы злоумышленниками. WVS предоставляет отчеты о найденных уязвимостях и рекомендации по их устранению, что помогает организациям защитить свои веб‑приложения и данные от атак.
Инструмент этот довольно сложный, поэтому мы рассмотрим только основные его функции, чтобы оценить возможности программы.
Установка
Инструмент этот коммерческий и, разумеется, платный, но я уверен, что читатели «Хакера» знают, что с этим делать. Что касается процесса установки, то он мало отличается от инсталляции других программ. Установили, запустили, активировали. Есть версии Acunetix WVS как под Windows, так и под Linux, так что протестировать этот сканер смогут пользователи обеих этих операционных систем.
Вход в сканер и разделы
После установки Acunetix откроем браузер и перейдем по адресу http://
— интерфейс сканера реализован в виде веб‑приложения. Программа предложит тебе войти в систему с использованием учетной записи. На главной странице Acunetix показаны общие данные, вроде числа выполненных сканирований, количества найденных уязвимостей и их типов.

В главном окне несколько ключевых разделов:
- Overview (панель управления): здесь отображается общая информация о текущем состоянии системы, включая результаты последних сканирований и список ключевых уязвимостей.
- Targets (цели): раздел для добавления целей, которые ты планируешь сканировать, и управления ими.
- Scans (сканирования): здесь ты можешь запускать новые сканирования и отслеживать статус текущих задач.
- Reports (отчеты): раздел для просмотра отчетов о проведенных сканированиях. Этот раздел содержит информацию, которую можно предоставить в качестве результатов клиенту или руководству.
- Settings (настройки): конфигурация параметров системы, включая настройку интеграций с другими инструментами, такими как CI/CD, и управление пользователями.
- Users (пользователи): управление учетными записями и правами доступа. Можно создать нескольких пользователей с разными уровнями доступа.
- WAFs (Web Application Firewalls): настройки интеграции с различными веб‑файрволами для автоматической защиты от найденных уязвимостей. То есть Acunetix может автоматически исправлять правила у WAF.
- Proxy Settings (настройки прокси): настройка прокси‑сервера, который будет использоваться для сканирования. Эта функция полезна, если ты работаешь в закрытой сети, или, например, для анонимизации трафика. Также можно использовать прокси, если тебе необходимо выбрать определенную геолокацию или подсеть.
Настройка сканирования
Настройка параметров сканирования в Acunetix весьма мудреная. Однако для ред‑тимера или пентестера важны только разделы Targets и Scans, так как они отвечают за процесс поиска уязвимостей, позволяют добавлять новые цели и быстро запускать сканирование с учетом специфики тестируемых приложений.
В разделе Targets задается список целей, в Scans — список сканирования. Обычный алгоритм использования Acunetix довольно прост: создать цель, запустить сканирование, посмотреть результат. Всё.
Единственное, что путает, — так это кнопка New Scan, при нажатии на которую нас перекидывает в раздел Scans, где вообще нет никаких привычных конфигураций. А дело тут в том, что сначала нужно добавить цель, а уже затем запускать сканирование.
Добавление цели (Target)
Переходим в раздел Targets и нажимаем Add Targets.
Вводим URL домена или IP-адрес веб‑приложения, которое ты хочешь просканировать. Если нужно ввести сразу несколько целей, нажимаем Add another Target столько раз, сколько целей мы хотим добавить.
Опционально: настроим параметры цели, такие как путь к конкретным ресурсам или ограничение сканирования по поддоменам. Можно задать полный URL для определенной директории, где лежит веб‑приложение, а не сканировать весь домен целиком.
Нажимаем на фиолетовую кнопку Save в правом верхнем углу.


Настройка цели (Target Settings)
После добавления цели можно настроить дополнительные параметры доступа к ней, включая аутентификацию, если она требуется для доступа к защищенным страницам. Можно также настроить повторение какой‑то последовательности действий на странице (щелчки мышью, ввод в поля форм, нажатие кнопок). Чтобы подсунуть программе свои куки, используй раздел Advanced — Custom Cookies. В Advanced можно также задать и кастомные заголовки.
Раздел Scan Speed дает возможность указать скорость и количество потоков сканирования. Функция Import files → API definitions позволяет подключить API-библиотеку, и тогда сканер заодно выполнит и проверку API.
В этом разделе очень много настроек, но я описываю лишь те, которые необходимы для сканирования или полезны с точки зрения пентеста. Большинство представленных тут функций предназначены для корпоративного сегмента и DevSecOps. Например, функция Scan Engine в контексте Acunetix относится к выбору определенного сервера сканирования, на котором выполняются задачи поиска уязвимостей. В корпоративной версии Acunetix может использовать несколько серверов для сканирования, и Scan Engine позволяет выбрать, какой из этих серверов будет задействован для конкретной цели. Это полезно для распределения нагрузки и управления сканированием в средах с высокой плотностью веб‑приложений или в сетях с несколькими региональными серверами сканирования.

Site Login
Раздел Site Login на вкладке Target Settings предназначен для настройки аутентификации на веб‑сайтах, которые требуют входа в систему для доступа к защищенным страницам. В этом разделе можно указать учетные данные (логин и пароль) для автоматического входа сканера на сайт. Также здесь настраивается тип аутентификации (простая форма, HTTP-аутентификация, сессии с cookies) или задается OAuth, то есть можно указать параметры для аутентификации через сторонние сервисы, такие как Google.
Есть классная функция Try to auto-login into the site, позволяющая ввести известные кредсы, но по какой‑то причине только одну пару, а не целый словарь. В процессе сканирования Acunetix будет пробовать вводить их в разные формы для авторизации.
Также можно использовать предзаписанные сценарии авторизации, pre-recorded login sequence. Это такой встроенный «Selenium» с поддержкой импорта его скриптов.
info
Selenium — это популярный инструмент для автоматизации взаимодействия с браузером. Он позволяет автоматизировать взаимодействие с веб‑приложениями, имитируя действия пользователя, такие как щелчки мышью, ввод данных в формы, навигация по страницам. Selenium часто используется для тестирования веб‑приложений, чтобы убедиться, что они работают правильно. Также он поддерживает написание тестов на различных языках программирования (например, Python, Java, C#) и может работать с разными браузерами — Chrome, Firefox и другими.
Технология, похожая на упрощенный Selenium, используется в Acunetix для записи сложных сценариев взаимодействия с веб‑приложениями и называется Acunetix Login Sequence Recorder. Этот инструмент позволяет записывать сценарии аутентификации или логических шагов, таких как заполнение форм, переходы по страницам и другие взаимодействия с приложением, которые можно затем воспроизвести в процессе сканирования. Как и Selenium, он автоматизирует действия пользователя в браузере, но ориентирован на имитацию действий в самом приложении.
Business Logic Recorder
Business Logic Recorder — это аналогичный инструмент автоматизации, который позволяет записывать сложные сценарии аутентификации и взаимодействия с веб‑приложениями. В Acunetix этот инструмент используется для создания пошаговых скриптов для работы с приложением, включая такие действия, как щелчки мышью в определенных местах, переходы по страницам, заполнение форм и другие действия, которые могут вызывать сложности своей «многоэтапностью».
Затем эти сценарии могут быть воспроизведены во время сканирования, что позволяет совершать какие‑то дополнительные действия. Например, эксплуатировать многоступенчатые уязвимости или тестировать динамические веб‑приложения, которые требуют более сложного взаимодействия, чем просто ввод логина и пароля.
Работает эта технология просто: открывается форма, в которой отображается подобие браузера. «Накликиваем» в ней все, что нам требуется, выставляем тайм‑ауты событий и нажимаем «Сохранить». Получается своеобразный макрос с записанными действиями, который будет задействован во время сканирования.

Advanced — HTTP
Раздел HTTP на вкладке Target Settings позволяет настроить параметры HTTP-запросов, которые используются при сканировании веб‑приложения. Здесь содержатся следующие настройки:
- HTTP Authentication: используется для настройки базовой или NTLM-аутентификации. Эта функция позволяет сканеру входить, например, на внутренние ресурсы, которые требуют аутентификации через HTTP-заголовки, предоставляя необходимые учетные данные (имя пользователя и пароль). Поддерживается NTLM и Kerberos.
- Подключить SSL-сертификат: тут можно подключить персональный SSL-сертификат, если в этом есть необходимость.
- Настроить прокси: если требуется использовать прокси‑сервер для сканирования, здесь можно задать соответствующие параметры.
Эти настройки помогают сконфигурировать сканер под те или иные специфические условия.
Настройки при старте
Все, что нужно, мы настроили, теперь приступим к самому сканированию. После добавления нескольких целей надо перейти в раздел Targets, выбрать нужные цели из списка (можно сразу несколько) и запустить сканирование нажатием на кнопку Scan в правом верхнем углу окна программы. Программа предложит указать интенсивность и профиль сканирования. Можно использовать настройки по умолчанию, не вникая. Из любопытного здесь только выбор профиля сканирования — так получится существенно сократить время работы сканера, сосредоточившись на чем‑то одном, например исключительно на SQLi.

- Перед запуском выбери профиль сканирования (например, Full Scan или Critical / High Risk), который определяет глубину и типы тестов.
- Можно также настроить Custom Scan, выбрав специфические проверки или исключив ненужные тесты.
Нажимаем кнопку Create Scans, чтобы запустить сканирование.

Экран сканирования

На этом экране собрана вся информация о том, что именно сканер обнаружил. Экран хода сканирования в Acunetix достаточно прост и понятен интуитивно. Здесь представлены следующие сведения:
- Прогресс сканирования: показывает ход текущего сканирования, включая этапы тестирования.
- Обнаруженные уязвимости: в реальном времени отображаются и обновляются найденные уязвимости, сгруппированные по классу и степени риска (низкий, средний, высокий).
- Структура сайта (вкладка Site Structure): позволяет просмотреть структуру сайта.
- Журнал событий: сокращенный лог действий сканера, где фиксируются все выполняемые шаги и тесты. Для просмотра полной версии журнала можно перейти на вкладку Events.
- Пауза и остановка: кнопки, расположенные сверху в правой части, дают возможность приостановить или остановить сканирование.
Эти функции позволяют управлять процессом сканирования в реальном времени, обеспечивая контроль над его ходом и результатами.
Вкладка Vulnerabilities
Вкладка Vulnerabilities на экране хода сканирования в Acunetix самая важная, поскольку отображает все обнаруженные уязвимости в реальном времени. Она содержит следующие данные:
- Список уязвимостей: все найденные уязвимости, сгруппированные по уровню риска (критический, высокий, средний, низкий).
- Детали уязвимостей: подробное описание каждой уязвимости, включающее потенциальные последствия и рекомендации по устранению.
Эта вкладка позволяет детально изучить найденные уязвимости, содержит детали вроде хедера, приведшего к уязвимости, и ответа сервера, подтверждающего уязвимость.

Попасть в этот раздел можно и со страницы сканирования определенной цели либо из общего раздела Scans: для этого нужно нажать на отображаемый показатель условного «уровня опасности», согласно которому выполняется сортировка по категориям в Acunetix, далее нажать на количество найденных уязвимостей определенного класса. Так, на скриншоте выше показаны только уязвимости класса Medium.

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

Раздел Discovered Hosts
Также на главной странице (вкладка Scan Information на странице сканирования хоста) располагается неприметный раздел Hosts. В нем отображается список всех хостов, которые были обнаружены при сканировании текущей цели. Эти хосты могут включать как основные домены, так и поддомены, а также IP-адреса, связанные с веб‑приложением. Этот раздел позволяет отслеживать все идентифицированные хосты и помогает оценить, какие части инфраструктуры могут быть уязвимыми или пригодны для дальнейшего анализа. Из них можно сразу выбрать и новые таргеты, просто нажав соответствующую кнопочку Create Target.

Вкладка Site Structure
Крайне полезную информацию можно почерпнуть из вкладки краулера Site Structure на странице сканирования цели. Тут также дублируется информация обо всех найденных уязвимостях. Здесь можно посмотреть интересующий нас скрипт и обнаруженные в нем уязвимости, то есть будут показаны только уязвимости, относящиеся к определенному URL нашей цели.
Что же полезного тут можно найти? Например, как видно на скриншоте, Acunetix по какой‑то причине решил, что .
совершенно не интересен, и добавил его в общий скоринг, как незначительный объект, а в текущем аудите этот файл сыграл ключевую роль. Поэтому не ленимся и заходим сюда посмотреть, как устроен исследуемый сайт изнутри.

Заключение
Мы разобрались, как использовать Acunetix для тестирования на проникновение. Этот инструмент на практике дает куда меньше ложных срабатываний, чем аналоги. Конечно, он не в состоянии найти IDOR или, скажем, какую‑то сложную многоступенчатую уязвимость в полностью автоматическом режиме и без преднастроек.
Но твоя наблюдательность — это единственный инструмент, который способен на подобное. Лично мне Acunetix приносил профиты в таких экзотических вещах, как переадресация без завершения работы скрипта. То есть сайт позволял заходить на страницу и пользоваться админкой, попросту отключив авторедиректы в браузере. Думаю, понятно, что при ручном исследовании на такое обратить внимание очень непросто.
Несмотря на сложность программы, запустить сканирование можно за пару минут, выбрав нужные настройки несколькими щелчками мыши. В этом и заключается основная ценность Acunetix для исследователя — он заметно экономит время и силы.