Как сканер помогает при ручных пентестах

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

Дата выхода: Время прочтения статьи:
Как сканер помогает при ручных пентестах

Введение

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

Начало атаки: проблема в основе CMS

В октябре 2025 года наш сканер обнаружил сработку, которая послужила отправной точкой для полноценной компрометации. На периметре одного из клиентов была найдена установка October CMS (система, построенная на PHP-фреймворке Laravel), уязвимая к CVE-2021-32648 — неаутентифицированной смене пароля.

4ba03348-263d-4f4d-b340-651640fbdb4f.jpeg

Эта уязвимость коренилась в глубокой особенности PHP, известной как Type Juggling (небезопасная обработка типов данных). Благодаря этому дефекту, можно было обойти логику проверки ключа сброса пароля. Используя эту находку сканера, мы смогли провести атаку, которая привела к несанкционированной смене пароля пользователя admin и полному доступу к административной панели системы.

Таким образом, рутинная сработка сканера превратилась в ключ к админке CMS.

Safe Mode

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

Приложение работало с включенным параметром cms.safe_mode = True. Этот режим создает дополнительный барьер: он блокирует окно редактирования для чистого PHP кода и ограничивает возможности шаблонизатора Twig, не давая использовать небезопасные методы – погружает в так называемый twig sandbox.

a80b77d5-f210-4eb6-8912-25172c9ee93b.jpeg

Сервер, по сути, говорил нам: «Вы можете писать HTML, вы можете использовать Twig, но вы не можете выполнять произвольный PHP-код». Классические векторы обхода Safe Mode, которые веб-пентестеры используют для SSTI (Server-Side Template Injection), оказались бессильны. Нужно было копать глубже.

Превращаем калькулятор в компьютер

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

После тщательного анализа и изучения особенностей обхода safe-mode настроек был спроектирован и реализован эксплойт, который позволил нам обойти все ограничения:

  1. Мы получили доступ к объекту Twig через контроллер (this.controller.getTwig()).
  2. Мы использовали метод registerUndefinedFilterCallback(), чтобы зарегистрировать системную PHP-функцию passthru (команда для выполнения команд ОС) в качестве обработчика для любых несуществующих фильтров.
  3. Финальный аккорд: мы просто вызывали несуществующий фильтр, имя которого совпадало с нужной нам командой, например, getFilter("pwd").

Эксплойт:

b7a1ee2a-15d7-4d56-9eed-ca84caf1197f.jpeg

Сохранение и вызов этой страницы на целевом ресурсе привели к заветному результату:

18869fd9-e9d8-4692-b407-3f795e798bed.jpeg

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

Заключение

Этот кейс – яркий пример того, как начинается и заканчивается работа с критическими уязвимостями.

Metascan выполнил свою ключевую задачу, обнаружив и подсветив CVE-2021-32648, а специалисты – довели ее до наивысшего импакта, продемонстрировав уровень угрозы заказчику.

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

 
Как сканер помогает при ручных пентестах | METASCAN