Борьба с троянами типа JS.Inject
Rus
Eng
Борьба с троянами типа JS.Inject

Код и описание борьбы с троянами предоставляются как есть. Вы используете их на свой страх и риск

Перед поиском вирусов нужно:

1. Сменить доступы в админку, ftp\ssh, хостинг

2. Убедиться, что компьютер на котором производится лечение не заражен, для чего следует произвести проверку компьютера на вирусы

3. Сделать полный бэкп сайта как через админку, так и через панель управления хостингом

4. Воспользоваться решением от 1С-Битрикс для поиска троянов

5. Обратиться в тех. поддержку хостинга с просьбой проверить сайт антивирусом. Иногда данные услуги бесплатны, иногда стоят символических денег. Не пренебрегайте данной возможностью

Если же вы решили найти вирус самостоятельно, то в большинстве случаев вам нужно:

Пролистать файл bitrix\js\main\core\core.js в самый низ и убедиться, что до или после строчки //# sourceMappingURL=core.js.map (~18459) нет никакого странного или непонятного кода. Вы можете увидеть нечто вроде:

\bs=document.createElement(`script`);s.src=atob(`ЗАКОДИРОВАННАЯ_СТРОКА`);document.head.appendChild(s);

Просмотреть файл bitrix\modules\main\include\prolog.php на нежелательные вставки кода или просто заменить файл свежим. Актуальный на момент выхода материала файл имеет следующий вид:

<?
require_once(dirname(__FILE__)."/../bx_root.php");

if (file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/html_pages/.enabled"))
{
	require_once(dirname(__FILE__)."/../lib/composite/responder.php");
	Bitrix\Main\Composite\Responder::respond();
}

require_once(dirname(__FILE__)."/prolog_before.php");
require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_after.php");

Проверка папок и файлов по дате последнего изменения

Это наиболее действенный метод, если вы хорошо знаете файловую структуру и дату заражения. Вводить команду нужно в консоли SSHили хостинга (если таковой позволяет это). В данном случае команда ищет все измененные файлы за последние 3 дня

find . –name '*.ph*' -mtime -3

Поиск вредоносного кода по содержимому

find ./ -type f -name "*.php" -exec grep -i -H "wso shell\|Backdoor\|Shell\|base64_decode\|str_rot13\|gzuncompress\|gzinflate\|strrev\|killall\|navigator.userAgent.match\|mysql_safe\|UdpFlood\|40,101,115,110,98,114,105,110\|msg=@gzinflate\|sql2_safe\|NlOThmMjgyODM0NjkyODdiYT\|6POkiojiO7iY3ns1rn8\|var vst = String.fromCharCode\|c999sh\|request12.php\|auth_pass\|shell_exec\|FilesMan\|passthru\|system\|passwd\|mkdir\|chmod\|mkdir\|md5=\|e2aa4e\|file_get_contents\|eval\|stripslashes\|fsockopen\|pfsockopen\|base64_files" {} \;

или без find

grep -R -i -H -E "wso shell|Backdoor|Shell|base64_decode|str_rot13|gzuncompress|gzinflate|strrev|killall|navigator.userAgent.match|mysql_safe|UdpFlood|40,101,115,110,98,114,105,110|msg=@gzinflate|sql2_safe|NlOThmMjgyODM0NjkyODdiYT|6POkiojiO7iY3ns1rn8|var vst = String.fromCharCode|c999sh|request12.php|auth_pass|shell_exec|FilesMan|passthru|system|passwd|mkdir|chmod|md5=|e2aa4e|file_get_contents|eval|stripslashes|fsockopen|pfsockopen|base64_files" ./

Проверка базы данных на наличие вставок

В панели управления базой данных phpmyadmin поочередно ищем следующие вхождения:

<script , <? , <?php , <iframe

В случае заражения через модуль Битрикс vote

Требуется запретить POST запросы к следующим системным файлам Битрикс

/bitrix/tools/upload.php
/bitrix/tools/mail_entry.php
/bitrix/modules/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

1. Ручное редактирование файлов. Добавляем перед required

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
	header("Status: 404 Not Found");
	die();
}

2. Запрет через nginx

# ломает загрузку файлов в ИБ
location /bitrix/tools/upload.php {
	if ($request_method = POST ) {
	    deny all;
	}
}

location /bitrix/tools/mail_entry.php {
	if ($request_method = POST ) {
	    deny all;
	}
}

location /bitrix/tools/vote/uf.php {
	if ($request_method = POST ) {
	    deny all;
	}
}

location /bitrix/tools/html_editor_action.php {
	if ($request_method = POST ) {
	    deny all;
	}
}

location /bitrix/admin/site_checker.php {
	if ($request_method = POST ) {
	    deny all;
	}
}

3. Через htaccess. Нужна конструкция вида:

<Files ~ "^(имя файлов)\.php$>
    deny from all
</Files>

Для /bitrix/tools/:

<Files ~ "^(html_editor_action|mail_entry|upload)\.php$>
    deny from all
</Files>

Для /bitrix/tools/vote/:

<Files ~ "^(uf)\.php$>
    deny from all
</Files>

Для /bitrix/modules/main/include/:

<Files ~ "^(virtual_file_system)\.php$>
    deny from all
</Files>

Для /bitrix/components/bitrix/sender.mail.editor/:

<Files ~ "^(ajax)\.php$>
    deny from all
</Files>

Для /bitrix/admin/:

<Files ~ "^(site_checker)\.php$>
    deny from all
</Files>

Рекомендуется использовать решение только на время атак поскольку часть функционала админки будет недоступна. Более предпочтительное решение - обновление Битрикс до актуальной версии или избавление от модуля vote

Данное решение описано здесь: Массовый взлом сайтов на 1С-Битрикс. Как защититься?

В случае выявления вирусов я настоятельно рекомендую обращаться к специалистам по кибербезопасности (не ко мне)

Комментарии

Комментариев еще нет, Вы можете стать первым кто его оставит

Оставьте комментарий

На сайте используется система премодерирования комментариев, поэтому ваше сообщение будет опубликовано лишь после одобрения модератором

Вы отвечаете на комментарий пользователя

Отправить

ОБРАТНАЯ СВЯЗЬ

Напишите мне

Вы разрабатываете новый сервис, вносите доработки в существующий и хотите лучше чем у конкурентов? Вы обратились по адресу. Предлагаю вам комплексную разработку сайтов студийного уровня. У меня вы можете заказать дизайн, верстку, програмированние, разработку нетрадиционного функционала, реализацию связи между CMS, CRM и Data Analitics, а так же все остальное касаемое сайтов, кроме продвижения.

Обращайтесь, я всегда проконсультирую по всем вопросам и помогу подобрать наиболее эффективное решение для Вашего бизнеса. Я занимаюсь созданием сайтов в Новосибирске и в других регионах России, также работаю со странами СНГ. Вы останетесь довольны нашим сотрудничеством

Во время отправки произошла ошибка, пожалуйста попробуйте еще раз через некоторое время
Сообщение отправлено успешно

Телефоны

+7(993) 007-18-96

Email

info@tichiy.ru

Адрес

Россия, г. Москва

Отправляя форму Вы автоматически подтверждаете, что ознакомились и принимаете Политику конфиденциальности сайта

Написать мне
Отправить
Отправляя форму Вы автоматически подтверждаете, что ознакомились и принимаете Политику конфиденциальности сайта
Отправка успешна!
Thank you for your feedback. I will answer you within the next working hours
Отправка не удалась
Во время отправки запроса произошла ошибка. Пожалуйста, подождите и попробуйте снова через некоторое время или свяжитесь со мной