HEUR-Trojan.Script.Iframe-virus-5 На прошлой неделе Chrome и Kaspersky начали блокировать мой блог на WordPress из-за вируса HEUR:Trojan.Script.Iframe, мобильных редиректов и прочего. Как они проникли на блог я не знаю, возможно через какой-то плагин или еще каким-то способом. Мною было принято решение самостоятельно избавиться от вируса, однако по пути решения этой задачи возникло не мало проблем.

Блог был проверен сканером AI-Bolit, который обнаружил вредоносный код в более чем 300 js-файлах (во всех что были на сайте), в некоторых php-файлах и других. Вирус дописал во все js-файлы вот такой код:

HEUR-Trojan.Script.Iframe-virus-1

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

HEUR-Trojan.Script.Iframe-virus-2

Было в корне и не мало другого странного мусора:

HEUR-Trojan.Script.Iframe-virus-3

В общем перечислять все не вижу смысла, поскольку я так и не нашел все зараженные файлы. Были и в некоторых php-файлах куски похожие на те, что в js. Удалял все вручную, но все чего удалось добиться — сломать WordPress. 🙂

Потом попробовал выкачать бекап на компьютер и проверить касперским. Странно, но на сайт касперский не пускает, однако в скачанном бекапе вирусов не видит. Решил найти у себя старый бекап и восстановить блог, однако и тут была проблемка — каким-то образом у меня имелся бекап только 2-годичной давности (январь 2014 года), поэтому пропали бы посты за 2 года, изображения, комментарии и т.д.

Тем не менее, постов было немного за 2 года и их можно было восстановить вручную. Однако ваши комментарии были бы безвозвратно утеряны, либо пришлось бы копаться в таблицах баз данных и каким-то образом это все восстанавливать, что заняло бы неизвестно сколько времени. Однако, старый бекап все-таки пригодился.

Как быстро удалить вирус HEUR:Trojan.Script.Iframe при наличии бекапа

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

И так, что у нас есть:

  • Старая база данных (без вирусов)
  • Старая база файлов (без вирусов)
  • Новая база данных (без вирусов)
  • Новая база файлов (с вирусами)

Вирусы повредили только файловую систему (по моему личному понимаю — о программировании и работе баз данных и CMS я имею минимальное представление). Поэтому надо было оставить текущую базу данных sql, а файловую систему заменить на старую из бекапа (которая без вирусов), восстановив при этом потярянную часть файлов.

Порядок действий:

  • Выкачать базу файлов с вирусами на компьютер (имею ввиду всю папку с wordpress, вашими темами, файлами, скриптами)
  • Оставить на сервере новую базу данных sql, которая вирусами не повреждена. Таким образом комментарии блога, посты, пользователи — все останется в том виде, в каком есть на текущий момент.
  • Удалить с сервера всю файловую систему блога (удаляем папку с wordpress под корень)
  • Залить вместо нее файловую систему из старого бекапа.

122508129

Что мы имеем после этого:

  • Посты, комменты все сохранилось
  • Блог работает, однако добавленных файлов за последние 2 года нет
  • Изменения в дизайне, верстке, плагинах, настройках также откатываются на 2 года назад

Мне повезло, что изменения в верстке, плагинах и т.д. даже за 2 года были минимальны. Все работает и все устраивает, поэтому незачем было менять. Но файлы (изображения в постах) за последние 2 года надо еще восстановить. Как известно, вирусы не заражают изображения и видео, поэтому можно смело восстановить папку wp-content\uploads, где хранятся все изображения WordPress и другие файлы (если вы их добавляете).

Для этого из новой базы данных (которая с вирусами), вырезаем папку wp-content\uploads и заново закачиваем ее на сервер со старой базой данных. После этого работа блога полностью восстановлена со всеми постами, комментариями и изображениями.

После этого нужно:

  • Зайти в админку WordPress и проверить пользователей. У меня появился второй администратор, которого я удалил.
  • Обновить wordpress и все плагины.
  • Отправить через панельку Google Webmaster (Search Console) запрос на пересмотр сайта — на вкладке проблемы безопасности будет соответствующая кнпока. Если сайта нет в Google Webmaster — добавить и отправить запрос на пересмотр.
  • После снятия пометки из выдачи о вредоносности сайта (мой запрос был рассмотрен менее чем за сутки), сделать новый бекап на всякий случай. И делать после этого бекапы постоянно.

HEUR-Trojan.Script.Iframe-virus-7

Как удалить вирус HEUR:Trojan.Script.Iframe если бекапа нет

Если нет вообще никакого бекапа, то тут есть 2 варианта:

  • Заказывать удаление вирусов у специалистов (ценник $50-$150)
  • Сносить всю файловую систему сайта и переустанавливать вордпрес (при этом базы sql оставить), после чего перезалить папку wp-content\uploads на сервер (предварительно на всякий случай проверив его на наличие подозрительных файлов, которые не являются медиафайлами вроде изображений, музыки, видео)

Минус в том, что самостоятельно восстановить дизайн и верстку (если вы сам не верстальщик), скорее всего, после этого не получится. Зато блог будет без вирусов. Надеюсь, что вы делаете хоть иногда бекапы, когда заказываете или делаете дизайн или вносите изменения в верстку.

Заключение

Этот пост не совсем формат моего блога, однако я в твиттере спрашивал, стоит ли об этом писать и многие откликнулись:

HEUR-Trojan.Script.Iframe-virus-4

Если вы знаете какие-либо способы или примеры избавления от любых вирусов из WordPress (вручную, полуавтономно или с помощью программ или сервисов) — делитесь в комментариях. Если было интересно или полезно читать пост или просто потому что вы можете — делайте репосты. Напомню, что в комментариях нет предварительной модерации.

Ваш Dorian.