В мае 2025 года несколько сайтов наших клиентов, использующих CMS «1С-Битрикс», были взломаны и заражены вредоносным кодом.
Взлом произошел из-за уязвимостей в устаревших версиях модулей Битрикс:
Если вы используете какие-то из этих модулей, рекомендуем как можно скорее обновить саму CMS и модули до последних стабильных версий. В новых версиях уязвимости уже закрыты, и злоумышленники не смогут ими воспользоваться.
Если у вас нет возможности установить обновления, закройте уязвимости при помощи патча. Для автоматического исправления перейдите в «Настройки» → «Инструменты» → «Командная PHP-строка» и вставьте следующий код:
$arFiles = array(
'/bitrix/modules/esol.allimportexport/admin/cron_settings.php',
'/bitrix/modules/esol.importexportexcel/admin/iblock_export_excel_cron_settings.php',
'/bitrix/modules/esol.importexportexcel/admin/iblock_import_excel_cron_settings.php',
'/bitrix/modules/esol.importxml/admin/import_xml_cron_settings.php',
'/bitrix/modules/esol.massedit/admin/profile.php',
'/bitrix/modules/kda.exportexcel/admin/iblock_export_excel_cron_settings.php',
'/bitrix/modules/kda.importexcel/admin/iblock_import_excel_cron_settings.php',
);
$cnt = 0;
foreach($arFiles as $fn)
{
$fn = $_SERVER['DOCUMENT_ROOT'].$fn;
if(file_exists($fn))
{
chmod($fn, 0775);
$c = file_get_contents($fn);
while(preg_match('#<\?.*//.*403 Forbidden.*\?>\s*<\?#Uis', $c, $m))
{
$c = str_replace($m[0], '<?', $c);
}
$c = preg_replace('/^.*<\?/Us', '<?', $c);
if(stripos($c, '403 Forbidden')===false || preg_match('/[^\/@]@?exec\(\$phpPath.\' \-v\'.*prolog_admin_before\.php/is', $c))
{
file_put_contents($fn, "<?if(isset(\$_REQUEST['path']) && strlen(\$_REQUEST['path']) > 0)
{
header((stristr(php_sapi_name(), 'cgi') !== false ? 'Status: ' : \$_SERVER['SERVER_PROTOCOL'].' ').'403 Forbidden');
die();
}
?>".preg_replace('/@exec\(\$phpPath.\' \-v\'/', '//$0', $c));
$cnt++;
}
}
}
unlink(__FILE__);
echo 'patched:'.$cnt.'.';
Нажмите «Выполнить».
Факт заражения может проявляться по-разному:
Если ваш сайт уже взломан, самый надежный способ устранить проблему — восстановить сайт из резервной копии на момент, когда заражения еще не было.
После восстановления обязательно обновите CMS и все модули до последних версий.
Если у вас нет необходимых резервных копий и восстановление невозможно, для устранения последствий взлома выполните следующее:
Просканируйте сайт на наличие вредоносных файлов и удалите их
Для этого можно воспользоваться внутренними инструментами Битрикса: «Рабочий стол» → «Настройки» → «Проактивная защита» → «Поиск троянов» → «Сканирование файлов».
Если сканер обнаружит зараженные файлы, удалите их.
Проверьте файлы .htaccess
Здесь тоже помогут инструменты Битрикса: «Рабочий стол» → «Настройки» → «Проактивная защита» → «Поиск троянов» → «Проверка .htaccess».
Кликните на «Удалить всё и установить минимальный набор», чтобы удалить зараженные файлы и вернуть всё к стандартным настройкам.
Проверьте задачи Crontab
Подключитесь к серверу по SSH и выполните команду:
crontab -l
Она выведет список всех задач Cron. Если обнаружены подозрительные задачи — удалите их.
Проверьте процессы на сервере
В первую очередь перезагрузите сервер. Обычно вредоносные процессы не запускаются заново после перезагрузки.
После подключитесь к серверу по SSH и проверьте список процессов командой htop
, top
или ps aux
.
Если есть подозрительные процессы — завершите их с помощью:
kill [PID]
PID каждого процесса будет указан в выводе команд htop
, top
или ps aux
.
Проверьте учетные данные администратора
В админке Битрикса перейдите в «Настройки» → «Пользователи» → «Список пользователей» и убедитесь, что все данные, включая email, корректные.