Обзор бесплатных инструментов для поиска веб-уязвимостей для 1С-Битрикс и Bitrix24

от автора

Существует немало бесплатных инструментов, способных выявлять веб-уязвимости, обнаруживать ошибки конфигурации и автоматизировать проверки безопасности. Если посмотреть на мировую IT-индустрию, огромный вклад в ее развитие вносит именно Open Source.

В этой статье рассмотрим ряд бесплатных инструментов, которые можно применять для анализа безопасности сайтов на «1С-Битрикс» и Bitrix24 и других веб-приложений. В конце немного расскажу про BitrixProbe, который начал создавать и пользоваться недавно для себя как дополнение к сканированию с MaxpatrolVM.

Nikto

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

Nikto умеет:

  • работать по HTTP и HTTPS;

  • проверять нестандартные порты;

  • определять используемое серверное ПО;

  • искать опасные и служебные файлы;

  • выявлять небезопасные HTTP-заголовки;

  • работать через прокси;

  • использовать плагины и различные режимы проверок.

Сканер можно применять на начальном этапе обследования сайта. Например, он может обратить внимание на доступные служебные страницы, резервные копии, тестовые файлы или проблемы конфигурации веб-сервера.

Официальный репозиторий:
github.com/sullo/nikto

Nuclei

Nuclei это быстрый и расширяемый сканер уязвимостей от ProjectDiscovery.

Главная особенность Nuclei — использование YAML-шаблонов. Каждый шаблон описывает отдельную проверку: последовательность запросов, условия совпадения, уровень опасности и дополнительные метаданные.

С помощью Nuclei можно искать:

  • известные уязвимости;

  • ошибки конфигурации;

  • открытые административные панели;

  • чувствительные файлы;

  • стандартные учетные данные;

  • информационные утечки;

  • проблемы сетевых сервисов.

Для «1С-Битрикс» и Bitrix24 можно разрабатывать отдельные шаблоны, которые проверяют наличие служебных скриптов, публичных файлов, уязвимых компонентов и признаков конкретных уязвимостей. Перед запуском незнакомого шаблона желательно изучить его содержимое.

Пентестеры не редко используют данный сканер при внешнем сканировании. На github можно поискать готовые шаблоны под Bitrix, некоторые пентестеры их там выкладывают.

Официальный репозиторий:
github.com/projectdiscovery/nuclei

Документация:
docs.projectdiscovery.io/opensource/nuclei/overview

Burp Suite CE

Burp Suite один из наиболее известных наборов инструментов для анализа безопасности веб-приложений.

Бесплатная Community Edition не является Open Source, но предоставляет основные возможности для ручной работы с HTTP- и HTTPS-трафиком.

Burp Suite позволяет:

  • перехватывать запросы браузера;

  • изменять параметры, заголовки и cookies;

  • повторно отправлять запросы через Repeater;

  • анализировать авторизацию и управление сессиями;

  • проверять загрузку файлов;

  • исследовать API;

  • тестировать бизнес-логику приложения.

Burp Suite особенно полезен при ручной проверке компонентов, AJAX-обработчиков, REST API, административных интерфейсов и механизмов разграничения доступа.

Через Burp можно увидеть, какие запросы приложение отправляет на сервер, изменить идентификаторы объектов, параметры действий или значения cookies, а затем проверить реакцию приложения.

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

Официальный ресурс:
portswigger.net/burp/communitydownload

OWASP ZAP

ZAP, ранее широко известный как OWASP ZAP, — бесплатный инструмент для динамического анализа безопасности веб-приложений.

Он может работать как перехватывающий прокси, пассивно анализировать трафик и выполнять автоматизированное сканирование.

Основные возможности ZAP:

  • перехват HTTP- и HTTPS-трафика;

  • пассивный анализ запросов и ответов;

  • автоматический поиск уязвимостей;

  • классический и AJAX Spider;

  • фаззинг параметров;

  • проверка WebSocket;

  • API для автоматизации;

  • поддержка дополнительных модулей.

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

Официальный ресурс:
zaproxy.org

SQLmap

Sqlmap — специализированный инструмент для обнаружения и исследования SQL-инъекций.

Он поддерживает множество СУБД и способен автоматизировать проверку различных техник SQL injection.

Sqlmap может работать с:

  • GET- и POST-параметрами;

  • cookies;

  • HTTP-заголовками;

  • JSON-запросами;

  • запросами, сохраненными из Burp Suite;

  • формами авторизации и пользовательскими сессиями.

Sqlmap полезен, когда предварительный анализ уже указывает на возможную SQL-инъекцию. Например, если параметр страницы или API-метода влияет на формирование запроса к базе данных, инструмент поможет подтвердить или опровергнуть наличие уязвимости.

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

Начинать следует с минимально агрессивных настроек и только в рамках согласованного тестирования.

Официальный сайт:
sqlmap.org

Репозиторий:
github.com/sqlmapproject/sqlmap

BitrixProbe

Здесь я воспользуюсь возможностью и расскажу о своем недавнем инструменте. BitrixProbe я начал создавать в связи с трудностями, с которыми столкнулся при сканировании на уязвимости в системах под управлением CMS «1С-Битрикс» и Bitrix24.

Bitrix-проекты нередко значительно дорабатываются разработчиками и интеграторами. Некоторые коммерческие решения VM на сегодня не поддерживают сканирование Bitrix, c Nginx. Для меня это стало дополнительным аргументом в пользу создания отдельного инструмента, способного работать с разными вариантами Bitrix, включая Nginx и связку Nginx с Apache.

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

  • pentest — внешнее сканирование по HTTP и HTTPS;

  • audit — локальный аудит сервера через SSH.

BitrixProbe в режиме pentest

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

Хочу тут заметить, что даже MaxPatrol VM методом пентест определяет не все уязвимости в Битрикс, например критическая уязвимость BDU:2023-05857 и высокая BDU:2026-05965 неприменимы для пентест-проверок видимо в связи с определенными ограничениями. Много уязвимостей, требуют по умолчанию доступ и авторизованную сессию пользователя, например недавняя BDU:2026-04276 и она тоже не применима. Таким образом точное определение многих уязвимостей, без аутентификации невозможно, а по второстепенным признакам не является точным. Определить точно версии модулей Битрикс внешним сканированием тоже невозможно.

Пример запуска:

python -m bitrixprobe pentest --url https://example.com
Попытка распознать установленные модули

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

BitrixProbe в режиме audit

Режим audit выполняет проверки непосредственно на сервере. Он позволяет анализировать локальную конфигурацию веб сервера, установленные модули Битрикс, версии компонентов, содержимое webroot и настройки Apache или Nginx. Потребуется учетная запись с доступом на чтение к веб каталогу.

Пример запуска:

python -m bitrixprobe audit \  --host 192.168.1.10 \  --port 22 \  --user auditor \  --webroot /var/www/bitrix
Тут PT-TRENDING чисто для демонстрации - сейчас уязвимость не трендовая

Тут PT-TRENDING чисто для демонстрации — сейчас уязвимость не трендовая

Для audit BitrixProbe использует локальную базу версий с данными CVE, BDU, CVSS и EPSS. Также учитывается признак PT Trending от PT Security, указывающий на трендовые для региона уязвимости. К сожалению на сайте вендора Битрикс я пока не нашел полную информацию по всем актуальным версиям всех модулей, поэтому база не содержит всё на 100%, но данные по версиям основных модулей имеются.

Репозиторий BitrixProbe:
github.com/ErSilh0x/bitrixprobe

В заключение

Nikto подойдет для первичного обследования веб-сервера, Nuclei для массовых и шаблонных проверок, Burp Suite и ZAP для ручного анализа веб-приложений, sqlmap для поиска SQL-инъекций, а BitrixProbe я использую для аудита «1С-Битрикс» и Bitrix24 и проверки версий модулей, сейчас больше в режиме аудита.

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

ссылка на оригинал статьи https://habr.com/ru/articles/1050132/