1С-Битрикс

Уязвимость модуля vote в старых версиях 1С-Битрикс: что нужно знать и как защитить сайт

Уязвимость модуля vote в 1С-Битрикс: риски, последствия взлома и методы защиты. Как проверить сайт на наличие уязвимости и обнаружить следы атаки

sqlka.ruОпубликовано: Чтение: 6 мин.
Уязвимость модуля vote в старых версиях 1С-Битрикс: что нужно знать и как защитить сайт

Весной 2022 года в популярной CMS 1С-Битрикс была обнаружена критическая уязвимость, затрагивающая модуль опросов и голосований «vote». Эта проблема затронула тысячи сайтов и до сих пор остаётся актуальной для тех, кто не обновил систему. В статье разберём, чем опасна эта уязвимость, как злоумышленники её эксплуатируют и какие шаги помогут обезопасить ваш проект.

Хронология событий

В начале марта 2022 года НКЦКИ предупредил о 0-day уязвимости в модуле «vote» CMS 1С-Битрикс. Проблема присутствовала во всех редакциях, кроме «Старт», вплоть до версии 22.0.400

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

Чем грозит взлом сайта

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

Однако дефейс (подмена содержимого) — лишь вершина айсберга. Получив контроль над сайтом, хакеры могут:

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

Как происходит атака

Злоумышленники отправляют специально сформированный POST-запрос к уязвимому скрипту /bitrix/tools/vote/uf.php. Этот запрос позволяет выполнить произвольный PHP-код на сервере. Далее происходит цепочка действий:

  1. Модификация агента. В системе создаётся или изменяется первый агент (ID=1) — в него добавляется функция eval(), которая исполняет переданный код. Агенты в Битрикс обычно выполняют фоновые задачи, и такая модификация не вызывает подозрений.
  2. Создание вредоносного файла. Через модифицированного агента на сервер загружается дополнительный скрипт. Его имя может быть произвольным, но чаще всего он маскируется под системный файл или содержит случайный набор символов.
  3. Запуск деструктивного кода. Вредоносный файл активируется и выполняет заданные действия: удаляет таблицы базы данных, уничтожает инфоблоки, заменяет главную страницу или внедряет iframe с мошенническим контентом.

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

Как проверить, уязвим ли ваш сайт

Существует простой способ проверить, установлена ли на сайте версия модуля «vote», содержащая уязвимость. Однако помните, что отсутствие этой конкретной проблемы не гарантирует полной защищённости.

Для проверки выполните следующие действия:

  1. Зайдите в административную панель сайта.
  2. Перейдите в «Marketplace» → «Установленные решения» и найдите модуль «vote» (или «Опросы»).
  3. Сравните версию модуля с актуальной. Если модуль не обновлялся после апреля 2022 года, он, скорее всего, уязвим.

Также можно воспользоваться встроенным сканером безопасности: «Настройки» → «Проактивная защита» → «Сканер безопасности». Он укажет на потенциально опасные изменения в файлах ядра.

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

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

1. Анализ логов веб-сервера

Просмотрите логи обращений к файлу /bitrix/tools/vote/uf.php. Подозрительные POST-запросы к этому скрипту (особенно с нестандартными параметрами) свидетельствуют о попытке эксплуатации уязвимости. Пример строки в логах:

185.220.*.* - - [14/Sep/2022:11:28:59 +0300] "POST /bitrix/tools/vote/uf.php?attachId[ENTITY_TYPE]=CFileUploader&attachId[ENTITY_ID][events][onFileIsStarted][]=CAllAgent&attachId[ENTITY_ID][events][onFileIsStarted][]=Update&attachId[MODULE_ID]=vote&action=vote HTTP/1.0" 200 59 "-" "Mozilla/5.0 ..."

Если вы обнаружили такие записи, проверьте все обращения с этих IP-адресов и действия, выполненные после них.

2. Поиск изменённых файлов

Используйте встроенные инструменты Битрикс: «Сканер безопасности» и «Мониторинг качества» (Настройки → Инструменты → Мониторинг качества). Обратите внимание на пункты:

  • «Безопасность → Проверена безопасность кода»;
  • «Сдача проекта → Ядро проекта не модифицировалось».

Если эти тесты не пройдены, отчёт укажет на конкретные файлы с изменениями. Типичные места для внедрения вредоносного кода:

  • /bitrix/modules/main/include/prolog.php — может содержать ссылку на внешний скрипт;
  • /bitrix/js/main/core/core.js — добавление подозрительных вызовов;
  • /bitrix/components/bitrix/main.file.input/main.php — возможное внедрение бэкдора.

Также проверьте папку /upload/tmp/ на наличие незнакомых файлов, например access.php.

3. Проверка агентов

Перейдите в раздел «Настройки» → «Настройки продукта» → «Агенты». Изучите список агентов. Любой агент, содержащий вызов eval() или явно закодированные строки, — признак компрометации. Название такого агента может быть изменено, но обычно оно выделяется странными символами или длинными закодированными строками.

4. Использование специализированных сканеров

Установите из Маркетплейса модуль «Поиск троянов» (например, bitrix.xscan) и запустите полное сканирование файловой системы. Это поможет выявить скрытые вредоносные скрипты.

Что делать, если взлом подтвердился

Если вы обнаружили признаки взлома, действуйте незамедлительно:

  1. Заблокируйте доступ к сайту — временно выключите его или поставьте заглушку.
  2. Создайте резервную копию текущего состояния для последующего анализа.
  3. Восстановите сайт из заведомо чистой резервной копии, сделанной до даты атаки.
  4. Обновите ядро Битрикс и все модули до последних версий.
  5. Смените все пароли (администраторов, базы данных, FTP/SSH).
  6. Проверьте настройки сервера и PHP на соответствие рекомендациям безопасности.

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

Профилактика: как защитить сайт заранее

Любая CMS имеет уязвимости, но большинство атак происходит по известным векторам, для которых уже выпущены исправления. Чтобы минимизировать риски, следуйте простым правилам:

  • Регулярно обновляйте ядро и модули. Разработчики выпускают патчи, закрывающие обнаруженные бреши.
  • Отключайте неиспользуемые модули. Чем меньше активных компонентов, тем меньше потенциальных точек входа.
  • Включите проактивную защиту Битрикс (WAF, контроль целостности, защита от XSS и SQL-инъекций).
  • Используйте сложные пароли и двухфакторную аутентификацию для администраторов.
  • Настройте автоматическое резервное копирование с хранением нескольких последних копий на внешнем ресурсе.
  • Мониторьте логи и проводите регулярные проверки безопасности с помощью встроенных инструментов.
  • Убедитесь, что на сервере используются актуальные версии PHP (7.4 или выше) и MySQL.

Итоги

Уязвимость модуля «vote» стала серьёзным испытанием для владельцев сайтов на 1С-Битрикс. Многие проекты пострадали из-за несвоевременного обновления или отсутствия резервных копий. Однако эта ситуация — хорошее напоминание о том, что безопасность не терпит пренебрежения. Регулярное обновление, резервирование и мониторинг способны предотвратить катастрофу или свести её последствия к минимуму. Не дожидайтесь взлома — проверьте свой сайт уже сегодня.

Хотите освоить SQL для работы с данными?

В SQLka можно изучать SQL последовательно или готовиться к собеседованиям. Запросы выполняются прямо в браузере — устанавливать базу данных не нужно.

sqlka.ru

support@sqlka.ru

Дальше по теме

1С-Битрикс

Логирование в 1С-Битрикс: полное руководство для разработчика

Полное руководство по логированию в 1С-Битрикс: какие логгеры есть, как их настроить, форматировать сообщения и подключать к своим классам. Примеры кода и советы по использованию PSR-3

sqlka.ruЧтение: 4 мин.
← Все статьи