Удаление вредоносного кода с сайта 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Удаление вредоносного кода с сайта 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Удаление вредоносного кода с сайта 1С-Битрикс

На сайте появились редиректы на чужие домены, антивирус хостинга заблокировал аккаунт, или Google Search Console прислал уведомление «Обнаружено вредоносное ПО». Удаление вредоносного кода — это не поиск и удаление одного файла. Современные атаки на Битрикс-сайты многослойные: основной бэкдор, несколько резервных точек входа, задания в cron и модифицированные записи в БД. Пропустите одно звено — через сутки всё вернётся.

Типы вредоносного кода в Битрикс

1. PHP-бэкдоры (web shell). Полноценный файловый менеджер и командная строка, доступные через HTTP. Обычно замаскированы под системные файлы: settings.php, cache.php, session_handler.php. Располагаются в директориях, куда администраторы редко заглядывают: /bitrix/tmp/, /upload/resize_cache/, /bitrix/backup/.

2. Инъекции в существующие файлы. Вредоносный код внедряется в начало или конец легитимных PHP-файлов. Излюбленные цели:

  • /bitrix/php_interface/init.php — выполняется при каждом хите
  • /bitrix/templates/.default/header.php и footer.php
  • .htaccess — добавление auto_prepend_file или php_value
  • index.php в корне и в разделах

3. Вредоносный код в БД. JavaScript-инъекции в HTML-контенте инфоблоков, в свойствах типа «HTML/текст», в шаблонах рассылок (b_sender_mailing), в пользовательских полях. Такой код не обнаруживается сканированием файловой системы.

4. Обфусцированный код. Многослойное кодирование: eval(gzinflate(base64_decode(str_rot13(...)))). Цель — обойти антивирусы и grep-поиск. Могут использоваться неочевидные конструкции: переменные переменных ($$var), call_user_func(), динамические имена функций.

Методика полного сканирования

Этап 1. Автоматическое сканирование.

Начните со штатного сканера Битрикс: Настройки → Проактивная защита → Сканер безопасности. Он обнаруживает базовые паттерны и проверяет целостность ядра. Его недостаточно для полной очистки, но он даёт отправную точку.

Дополнительные инструменты:

  • AI-Bolit (revisium.com) — специализированный сканер для CMS, знает паттерны, характерные для Битрикс
  • ClamAV — общий антивирус, обнаруживает известные web shell
  • YARA-правила — для продвинутого сканирования с кастомными сигнатурами

Этап 2. Ручной поиск по паттернам.

Автоматические сканеры пропускают хорошо обфусцированный код. Ищите вручную:

grep -rn "eval(" --include="*.php" /path/to/site/
grep -rn "base64_decode" --include="*.php" /path/to/site/
grep -rn "assert(" --include="*.php" /path/to/site/
grep -rn "system(" --include="*.php" /path/to/site/
grep -rn "passthru(" --include="*.php" /path/to/site/
grep -rn "shell_exec(" --include="*.php" /path/to/site/
grep -rn "preg_replace.*\/e" --include="*.php" /path/to/site/

Каждое совпадение проверяйте вручную — многие из этих функций используются легитимно в ядре Битрикс. Отличие вредоносного кода: он работает с данными из $_REQUEST, $_POST, $_GET, $_COOKIE, $_SERVER['HTTP_*'] напрямую, без санитизации.

Этап 3. Поиск аномалий по времени модификации.

find /path/to/site/bitrix/modules/ -name "*.php" -newer /path/to/site/bitrix/modules/main/classes/general/version.php

Файлы ядра, изменённые после последнего обновления — подозрительны. Сравнивайте их с чистым дистрибутивом через diff.

Этап 4. Проверка .htaccess.

Ищите все .htaccess рекурсивно. Битрикс создаёт их в определённых директориях — каждый файл в нестандартном месте подозрителен. Типичные вредоносные директивы:

  • RewriteRule с редиректом на внешний домен по условию User-Agent (Googlebot перенаправляется, обычный пользователь — нет)
  • auto_prepend_file / auto_append_file — подключение вредоносного скрипта ко всем PHP-файлам
  • php_value error_log /dev/null — скрытие логирования

Этап 5. Проверка БД.

Ищите JavaScript-инъекции в контенте:

SELECT ID, NAME FROM b_iblock_element WHERE DETAIL_TEXT LIKE '%<script%' AND DETAIL_TEXT LIKE '%eval%';
SELECT ID, NAME FROM b_iblock_element WHERE PREVIEW_TEXT LIKE '%<iframe%src=%';

Проверяйте также: b_option (изменённые настройки модулей), b_agent (подозрительные агенты), b_event_handler (новые обработчики событий, подключающие внешний код).

Удаление и верификация

После составления полного списка заражённых объектов:

  1. Файлы-бэкдоры — удаляйте полностью.
  2. Инъекции в легитимные файлы — восстанавливайте из чистого бэкапа или дистрибутива. Не вырезайте вручную — легко оставить хвост.
  3. Заражённые записи в БД — очищайте через SQL, предварительно сделав дамп.
  4. Модифицированные .htaccess — заменяйте стандартными из дистрибутива Битрикс.

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

Предотвращение повторного заражения

  • Обновите ядро до последней версии — большинство массовых взломов эксплуатируют известные CVE, закрытые в обновлениях
  • Закройте исполнение PHP в /upload/ на уровне веб-сервера
  • Настройте open_basedir для ограничения области видимости PHP-процесса
  • Запретите функции exec, system, passthru, shell_exec, proc_open в php.ini через disable_functions
  • Включите WAF модуля bitrix.security — он блокирует типичные паттерны атак на уровне HTTP-запроса

Полный цикл очистки среднего сайта занимает 3-5 рабочих дней. Крупные проекты с десятками модулей и гигабайтами контента — до двух недель.