Исследователи ESET проанализировали MQsTTang, новый пользовательский бэкдор, который мы приписываем APT-группе Mustang Panda. Этот бэкдор является частью продолжающейся кампании, которую мы можем отследить до начала января 2023 года. В отличие от большинства вредоносных программ этой группы, MQsTTang, похоже, не основан на существующих семействах или общедоступных проектах.
Mustang Panda известна своими адаптированными вариантами Korplug (также известными как PlugX) и сложными цепочками загрузки. В отличие от обычной тактики группы, MQsTTang имеет только одну стадию и не использует никаких методов обфускации.
MQsTTang
MQsTTang - это простой бэкдор, который позволяет злоумышленнику выполнять произвольные команды на машине жертвы и получать результаты. Несмотря на это, он обладает некоторыми интересными характеристиками. Главной из них является использование протокола MQTT для связи с C&C. MQTT обычно используется для связи между IoT-устройствами и контроллерами, и этот протокол не использовался во многих публично задокументированных семействах вредоносных программ. Одним из таких примеров является Chrysaor, также известный как Pegasus для Android. С точки зрения злоумышленников, одним из преимуществ MQTT является то, что он скрывает остальную инфраструктуру за брокером. Таким образом, взломанная машина никогда не общается напрямую с сервером C&C. Эта возможность достигается за счет использования библиотеки QMQTT с открытым исходным кодом. Эта библиотека зависит от фреймворка Qt, большая часть которого статически связана с вредоносным ПО. Использование фреймворка Qt для разработки вредоносного ПО также является довольно редким явлением. MagicRAT от Lazarus - один из редких недавно задокументированных примеров.
MQsTTang распространяется в архивах RAR, которые содержат только один исполняемый файл. Эти исполняемые файлы обычно имеют имена, связанные с дипломатией и паспортами, такие как:
- CVs Amb Officer PASSPORT Ministry Of Foreign Affairs.exe
- Documents members of delegation diplomatic from Germany.Exe
- PDF_Passport and CVs of diplomatic members from Tokyo of JAPAN.eXE
- Note No.18-NG-23 from Embassy of Japan.exe
Эти архивы размещены на веб-сервере без связанного с ним доменного имени. Этот факт, наряду с именами файлов, заставляет нас предположить, что вредоносная программа распространяется посредством spearphishing.
Пока мы наблюдали только несколько образцов. Кроме различий в некоторых константах и жестко закодированных строках, образцы удивительно похожи. Единственным заметным изменением является добавление некоторых методов антианализа в последних версиях. Первая из них заключается в использовании функции Windows API CreateToolhelp32Snapshot для перебора запущенных процессов и поиска следующих известных отладчиков и инструментов мониторинга.
- cheatengine-x86_64.exe
- ollydbg.exe
- ida.exe
- ida64.exe
- radare2.exe
- x64dbg.exe
- procmon.exe
- procmon64.exe
- procexp.exe
- processhacker.exe
- pestudio.exe
- systracerx32.exe
- fiddler.exe
- tcpview.exe
Обратите внимание, что, хотя вредоносная программа является 32-битным исполняемым файлом, она проверяет только наличие x64dbg, а не его 32-битного аналога, x32dbg.
Вторая техника использует Windows API FindWindowW для поиска следующих классов и названий окон, используемых известными инструментами анализа:
- PROCMON_WINDOW_CLASS
- OLLYDBG
- WinDbgFrameClass
- OllyDbg – [CPU]
- Immunity Debugger – [CPU]
При прямом выполнении вредоносная программа запускает копию самой себя с 1 в качестве аргумента командной строки. Это повторяется новым процессом, причем аргумент увеличивается на 1 при каждом запуске. Когда этот аргумент достигает определенных значений, выполняются определенные задачи. Обратите внимание, что точные значения варьируются между образцами; упомянутые ниже значения соответствуют образцу с SHA-1 02D95E0C369B08248BFFAAC8607BBA119D83B95B. Однако сами задания и порядок их выполнения неизменны.
Как было сказано ранее, MQsTTang общается со своим C&C-сервером по протоколу MQTT. Все наблюдаемые образцы используют 3.228.54.173 в качестве брокера. Этот сервер является публичным брокером, управляемым компанией EMQX, которая также является разработчиком библиотеки QMQTT. Это может быть способом заставить сетевой трафик казаться легитимным и скрыть собственную инфраструктуру Mustang Panda. Использование публичного брокера также обеспечивает устойчивость; сервис вряд ли будет отключен из-за большого количества легальных пользователей, и даже если текущие C&C-серверы будут запрещены или отключены, Mustang Panda сможет запустить новые и использовать те же темы MQTT, не нарушая работу MQsTTang.
Однако эта кампания также может быть тестовым примером Mustang Panda, прежде чем решить, стоит ли тратить время и ресурсы на создание собственного брокера. В пользу этого говорит малое количество наблюдаемых нами образцов и очень простая природа MQsTTang.
Вредоносная программа и C&C-сервер используют две темы MQTT для связи. Первая, iot/server2, используется для связи от клиента к серверу. Вторая используется для связи от сервера к клиенту. Она имеет формат iot/v2/<Unique ID>, где <Unique ID> генерируется путем взятия последних 8 байт UUID в шестнадцатеричном виде. Если обнаружен какой-либо инструмент анализа, server2 и v2 соответственно заменяются на server0 и v0. Вероятно, это делается для того, чтобы не насторожить защитников, полностью прервав выполнение вредоносной программы на ранней стадии.
Indicators of Compromise
IPv4
- 185.144.31.86
- 3.228.54.173
- 80.85.156.151
- 80.85.157.3
Domains
- broker.emqx.io
URls
- https://raw.githubusercontent.com/YanNaingOo0072022/14/main/Documents.rar
- https://raw.githubusercontent.com/YanNaingOo0072022/ee/main/CVs
SHA1
- 02d95e0c369b08248bffaac8607bba119d83b95b
- 0ea5d10399524c189a197a847b8108aa8070f1b1
- 30277f3284bceef0adc5e9d45b66897fa8828bfd
- 430c2ef474c7710345b410f49df853bdeafbdd78
- 61a2d34625706f17221c1110d36a435438bc0665
- 740c8492dda786e2231a46bfc422a2720db0279a
- 982ccaf1cb84f6e44e9296c7a1dde2ce6a09d7bb
- a1c660d31518c8afaa6973714de30f3d576b68fc
- ab01e099872a094dc779890171a11764de8b4360
- bee0b741142a9c392e05e0443aae1fa41ef512d6
- f1a8bf83a410b99ef0e7fdf7ba02b543b9f0e66c
- f6f3343f64536bf98de7e287a7419352bf94eb93
- f848c4f3b9d7f3fe1db3847370f8eefaa9bf60f1