Quantcast
Channel: php
Viewing all articles
Browse latest Browse all 36

Битрикс , вирус, редиректы и уязвимость в модуле vote

$
0
0

Примерно с 27 июня массово ломают сайты на Битриксе. Взломы пока по двум сценариям:
1. мягкий. Вставили редирект на левый сайт.
2. жесткий. У нескольких клиентов поудаляли часть данных, пострадали инфоблоки Битрикса и пароли юзеров и администраторов, вставили на сайт заглушку против войны с Украиной и поздравления в честь Дня Конституции Украины.

Те кто попали на жесткий сценарий, заметили взлом сразу, а вот те у кого «мягкий» обращаются до сих пор. Заметили только после того как Яндекс.Вебмастер и Яндекс.Директ начал сыпать предупреждениями:

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

О самой уязвимости Битрикса

Любопытно что сама уязвимость в модуле vote Битрикса обнаружена еще в марте . И вначале ее оценили на 7 баллов, а уже в июне подняли до 9.8. Vulnerability: CVE-2022-27228. Solution:
Update the «Polls, Votes» (vote) module to 21.0.100 version.

Судя по всему где то в середине июня как минимум у 2 хакерских команд появился рабочий эксплоит(пока в паблике его нет), которые его и эксплуатируют.

Подробного описания работы эксплоита тоже пока никто не выложил.

Что происходит на взломанном сайте

  1. Практически во всех случаях взлома появляется файл с характерным названием /bitrix/tools/putin_huilo.php
  2. Вставка «левого» джаваскрипта с редиректом. Тут по разному. но чаще всего в 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
  3. Удаление информации из инфоблоков и замена паролей и инфы в таблице юзеров

4. добавление или изменение двух агентов в таблице b_agent . Через них файл /bitrix/tools/putin_huilo.php повторно появляется и выполняются прочие вредоносные действия.

//код второго агента
$fName = str_replace('/modules/main/classes/mysql', '', dirname(__FILE__)).'/admin/sale_order_sunburns.php'; $files = scandir(dirname($fName)); file_put_contents($fName, ' '); touch($fName, filemtime(dirname($fName).'/'.$files[2]));

Как лечить Битрикс от вируса?

Если сайт ломанули по жесткому варианту, то вначале конечно восстановление из бекапа. Иначе никак не вернуть информацию.

Если по «мягкому» и информация в инфоблоках и пароли юзеров не пострадали, то в первую очередь проверяем таблицу b_agent на наличие левых «агентов» и удаляем если видим те 2 что на скрине выше.

Затем удаляем файл putin_huilo.php . Затем вставки джаваскрипта с редиректом на мошеннический сайт(на которые ругается Яндекс), примеры я приводил выше.

Далее конечно я бы проверил на наличие других вирусных файлов, но если вы вовремя спохватились то их «может» и не быть. Слово «может» очень плохое в отношении безопасности сайта, если умеете проверьте сами, не умеете доверьте специалисту за денежку, например поручите лечение сайта мне

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

И последнее действие это устранение самой уязвимости. Вариант 1 — обновить модуль vote Битрикса до версии 21.0.100 или выше. Вот тут Bitrix нередко подкладывает грабли. Те у кого не продлена лицензия не смогут обновится. А у тех у кого продлена иногда не обновляется модуль. В этом случае модуль vote можно просто выключить если он не нужен . И для чистоты совести папку bitrix/modules/vote переименовать после отключения. Или еще вариант пропатчить два файла

//В файл /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руб.

Контакты

fStrange

fstrange.ru

cure@fstrange.ru

The post Битрикс , вирус, редиректы и уязвимость в модуле vote first appeared on Записки веб разработчика fStrange.


Viewing all articles
Browse latest Browse all 36

Trending Articles