В мае 2025 года мы обнаружили интересную целевую фишинговую рассылку, в которой применялся не самый распространенный метод доставки вредоносных файлов — сервис одноразовых ссылок, принадлежащий организации-жертве. В ходе более детального исследования удалось обнаружить несколько аналогичных рассылок, которые проводились во второй половине 2024 года. Эти фишинговые рассылки мы отнесли к деятельности группировки Erudite Mogwai (Space Pirates). В этом материале мы рассмотрим цепочки атак 2024 и 2025 гг., используемые инструменты и техники злоумышленников:
Как минимум с августа 2024 года Erudite Mogwai ведут фишинговую кампанию, направленную преимущественно на организации госсектора РФ.
Для обхода защитных решений злоумышленники разместили вредоносный архив на сервисе одноразовых ссылок в инфраструктуре жертвы.
Цепочка атаки всегда начинается с lnk-файла, который загружает документ-приманку и следующий компонент атаки.
Чтобы не привлекать внимания, загрузка документов-приманок, промежуточных загрузчиков и финальных нагрузок выполняется с одного скомпрометированного легитимного ресурса негосударственной образовательной организации.
Злоумышленники действуют очень осторожно: загрузчик перед запуском выполняет многоступенчатую проверку на запуск в песочнице, финальная нагрузка в целевом фишинге 2025 года запускалась не сразу, а спустя несколько часов задачей планировщика.
Фишинговое письмо 2025 года отправлено с почты подрядчика. Мы предполагаем, что он был скомпрометирован группировкой ранее.
Загрузчик 2025 года для закрепления финальной нагрузки использует отдельный плагин Scythe, который располагается только в памяти и запускается скрытным образом, используя переопределение методов.
В одном из кейсов 2024 года злоумышленники применили имплант, который они называют Pinocchio. Это доработанный Puppet-модуль С2-фреймворка с открытым исходным кодом OrcaC2, который известен с конца 2022 года. Это первый известный нам случай применения данного фреймворка в реальных атаках. Злоумышленники также изменили название C2-фреймворка с OrcaC2 на Hermes.
Техническое описание
Целевая рассылка 23.05.2025
Общая цепочка атаки в мае 2025 года:
Цепочка атаки Erudite Mogwai, май 2025
В мае одному из наших заказчиков пришло фишинговое письмо:
Ссылка в письме вела на сервис одноразовых ссылок заказчика, в котором архив «Приложение.7z» можно было загрузить только один раз. Это является, по нашим наблюдениям, довольно необычным и редко используемым методом распространения, поэтому мы отнесли такой фишинг к целевому. При таком способе большинство почтовых средств защиты, вероятно, не смогут проверить вложение, так как после перехода по ссылке необходимы дополнительные действия для загрузки вредоносного архива.
Письмо было отправлено с почтового аккаунта @ через почтовый сервер одного из регистраторов доменных имен, который предоставляет почтовые услуги для владельцев домена. Владельцем домена оказался подрядчик жертвы, который, скорее всего, был также скомпрометирован (подробнее об этом в разделе «Атрибуция»), поэтому злоумышленники получили доступ к почтовому доменному аккаунту и направили целевое фишинговое письмо:
Содержимое архива «Приложение.7z»
В архиве присутствовали 3 файла:
Легитимный doc-файл «Форма_регистрационная карточка сотрудника, имеющего доступ к конфиденциальной информации.doc», с логотипом заказчика (не показан на картинке ниже из соображений сохранения конфиденциальности):
Легитимный файл-вложение из архива «Приложение.7z»
Легитимный PDF-файл с планом по информационной безопасности на 2025 год, загруженный с официального сайта заказчика, — снова наблюдается целевая направленность.
Вредоносный lnk-файл «УВЕДОМЛЕНИЕ_о_необходимости_внутренней_проверки_на_предмет_угроз_информационной_безопасности.pdf.lnk» с двойным расширением, замаскированный под PDF и имеющий дополнительную информацию в комментариях.
Вредоносный lnk-файл из архива
Злоумышленники для обхода детекта использовали технику Indirect Command Execution (T1202) в виде особенности легитимного процесса conhost.exe, который запускает аргумент командной строки как дочерний процесс. Причем применяли этот трюк несколько раз, что приводило к многоуровневому дереву процессов:
Часть дерева процессов после запуска lnk-файла из вложения
Далее использовалась особенность expand.exe, которая позволяет скопировать файл curl.exe (имя файла задано неявно через C:\Windows\system32\cur*.exe) в заданное расположение (вместо его распаковки) — C:\Users\public\Documents\lcx.exe. После этого список процессов, полученный командой tasklist, отправляется в POST-запросе на вредоносный скрипт, расположенный на скомпрометированном легитимном отечественном ресурсе негосударственной образовательной организации. Причем используется оригинальный curl, а не скопированный lcx.exe, что, скорее всего, является ошибкой. При отправке используется User-Agent: «QAZW ~%date% ~%time%», где вместо «%date%и %time%» подставляются текущие значения даты и времени соответственно. Мы предполагаем, что это делается по двум причинам:
Получение времени запуска вредоносной нагрузки — может быть полезно для злоумышленников.
Эти данные могут использоваться при формировании VBS-скрипта, который отправляет в ответе (подробнее далее).
Помимо списка запущенных процессов в параметре cd передается текущий каталог, откуда был запущен lnk-файл. В ответ присылается вредоносный скрипт YuLng.vbs, который сохраняется в каталог C:\Users\public\Documents и запускается с помощью wscript:
<redated> — это скомпрометированный легитимный ресурс отечественной негосударственной образовательной организации,
<now_unix_timestamp> — текущая дата отправки POST-запроса на ресурс для отправки данных и получения загрузчика (например, 1748008368).
Мы предполагаем, что VBScript-загрузчика всегда имеет уникальный хеш, так как генерируется php-скриптом downloadfiles.php, который вставляет в скрипт текущее значение времени в формате unix timestamp.
Скрипт загружает и отображает поддельный документ-приманку с вышеупомянутого ресурса образовательной организации:
Поддельный документ-приманка, загруженный со скомпрометированного ресурса
После открытия документа загружается вредоносный PE-файл с расширением log. Расширение меняется на exe и запускается (например, 1748008368.exe).
PE32 executable for MS Windows 6.00 (DLL), Intel i386 Mono/.Net assembly, 3 sections
File size
18944 bytes (18.5 KiB)
Compile timestamp
2051-03-12 01:26:43 UTC
Module name
TADS.exe
PE-файл представляет собой x86 exe-файл, написанный на .NET.
Является загрузчиком следующих этапов полезной нагрузки, в качестве аргумента принимает С2, в нашем случае — hxxps://<redacted>/tmp/downloadfiles.php?get2=test. Без аргументов сразу завершает работу. Описание основных методов представлено на рисунке.
Основные методы загрузчика TADS
Перед запуском проводится проверка, не является ли атакуемая система песочницей. На картинке ниже показаны вспомогательные методы загрузчика TADS.
Вспомогательные методы загрузчика TADS
Чем больше баллов набирает система, тем больше она похожа на песочницу. Для этого выполняется три проверки, за каждую из которых выставляется «оценка».
Среди списка запущенных на системе процессов проверяется наличие процессов с именами:
brave;
browser;
chrome;
firefox;
iexplore;
msedge;
opera;
steam;
vivaldi.
Если более двух процессов из списка запущено на хосте, то оценка — 2, и это означает, что система сильно похожа на песочницу, так как содержит большое количество браузеров. В понимании злоумышленников на реальных системах обычно один-два браузера или браузер + steam.
Проверяется наличие логических дисков A, C, E и их параметров.
Для диска C объем занятого пространства не должен превышать ~21.5ГБ. Диск E должен называться TRANSCEND. Каждый найденный логический диск, удовлетворяющий условиям, добавляет к общей оценке 2 балла и означает, что вредонос, вероятно, работает в песочнице.
Определяется, похоже ли имя пользователя на какое-либо известное слово.
Для этого используется набор биграмм:
"ov", "va", "an", "in", "ko", "na", "ev", "ar", "en", "ma", "al", "er", "sh", "ro", "ch", "ri", "no", "li", "le", "el", "ya", "ka", "ni", "he", "or", "ra", "as", "ha", "la", "ne", "on", "ki", "aa", "ae", "is", "il", "se", "at", "ta", "ol", "sa", "st", "ie", "ik", "mi", "hi", "sk", "vi", "nk", "ay", "da", "et", "de", "ai", "nn", "ia", "to", "os", "te", "es", "so", "me", "si", "ts", "be", "ti", "ea", "nd", "ee", "ll", "us", "rm", "it", "do", "ve", "di", "ly", "vs", "po", "ga", "vv", "ir", "ku", "ab", "ic", "pa", "bo", "im", "go", "ry", "ed", "iv", "em", "om", "za", "ns", "nt", "tr", "yu", "ul", "zh", "ru", "lg", "od", "pe", "th", "co", "uk", "ng", "ss", "bi", "ca", "gi", "rt", "nv", "ac", "hu", "br", "ge", "rn", "yn", "ok", "ah", "hk", "tt", "ap", "ke", "ja", "ek", "ud", "oa", "az", "id", "ig", "gu", "ot", "rl", "su", "ny", "ey", "ce", "bu", "kr", "rg", "rs", "ep", "tu", "ty", "sm", "vl", "vm", "oz", "og", "lv", "lu", "oo", "pi", "kh", "uz", "io", "ib", "rk", "vk", "vn", "fi", "eb", "nc", "ip".
Если количество совпадений по биграммам меньше половины длины имени пользователя, то считается, что имя пользователя является случайно сгенерировано и вредонос работает в песочнице, поэтому выставляется оценка 1.
Если результирующая оценка не меньше 5, считается, что загрузчик работает в песочнице и процесс завершается — выкидывается исключение с текстом «the system does not meet the minimum requirement», а кастомный обработчик исключения завершает процесс.
Если система прошла проверку и, по мнению вредоноса, не является песочницей, то в отдельном потоке запускается основной код загрузчика, декомпилированный код которого представлен ниже:
Код основного метода загрузчика TADS
Далее на адрес hxxps://<redacted>/tmp/requirement.tmp отправляется GET-запрос, в результате возвращающий зашифрованный плагин Scythe (по названию пространства имен класса Scythe.Plugin). Он отвечает за закрепление финальной нагрузки через планировщик задач. Плагин загружается в бесфайловом режиме и существует только в памяти.
Выполняется расшифровка модуля и его загрузка в память. На картинке ниже представлены методы загрузчика TADS, отвечающие за это:
Методы шифрования и загрузки в память загрузчика TADS
Дешифровка происходит по потоковому xor-шифру с обратной связью по шифротексту. Приводим пример метода Melt (расшифрование) на Python:
P1 = 31
P2 = 17
P3 = 13
P4 = 19
def melt(data: bytearray, initial_key: int = 9787) -> None:
num = initial_key
for i in range(len(data)):
num2 = num * P1 + P2 - P3
num2 &= 0xFF
num = num2 * P3 + data[i] - P4
num &= 0xFF
b = data[i] ^ num2
data[i] = b
После того как задача установлена, выполнение переходит к загрузке основной полезной нагрузки с адреса hxxps://<redacted>/tmp/downloadfiles.php?get2=test.
Полученный модуль сохраняется в файловой системе по временному пути, который получается функцией Path.GetTempFileName (пример, %temp%/tmpB2A8.tmp или C:\Users\user\AppData\Local\Temp\tmpB2A8.tmp). Далее перемещается самоудаляющимся bat-скриптом. Он очень похож на тот, который используется в Quasar RAT:
@echo off
chcp 65001
echo DONT CLOSE THIS WINDOW!
ping -n 4 localhost > nul
move /y "%temp%/.tmp" "C:\Users\Public\Videos\.exe"
del /a /q /f "%temp%/.bat"
Данный bat-скрипт создается во временном файле и отличается от Quasar RAT отсутствием команд для запуска финальной нагрузки и количеством ping-пакетов (в Quasar — 10, а не 4). Случайные пути получаются, как и выше, через Path.GetTempFileName.
Загрузить с сервера управления данный модуль не удалось.
Примечательно, что в результате запуска исходного вредоносного файла из вложения в файловую систему попадет финальная нагрузка, которая закрепляется задачей планировщика. Сам запуск этой нагрузки произойдет сильно позже времени ее появления в файловой системе (в 00:00). Это еще один способ обхода песочниц, которые не будут ждать, пока запустится финальная нагрузка.
PE32 executable for MS Windows 6.00 (GUI), Intel i386 Mono/.Net assembly, 3 sections
File size
12288 bytes (12.0 KiB)
Compile timestamp
2065-09-21 20:24:22 UTC
Module name
Scythe.dll
Имплант загружается в память в качестве .NET модуля.
Интересным является способ, с помощью которого в коде загрузчика TADS в методе Lego.Load происходит вызов основного метода плагина Scythe:
Пояснения к вызову основного метода плагина Scythe
В методе Lego.Load загрузчика TADS вызываются только функции Equals и ToString плагина Scythe. Однако в самом плагине эти методы перегружены и имеют свою реализацию, причем код перегруженных методов выполняет несвойственные названиям методов функции. Например, Equals инициализирует поля объекта Scythe.Plugin, а ToString запускает основной метод, который создает задачу планировщика, используя COM-интерфейс. Таким образом, злоумышленники предпринимают попытки визуально запутать исследователей и, возможно, средства защиты информации, которые будут видеть вызовы стандартных методов Equals и ToString.
Интересный факт: подобный способ запуска плагина (через вызов Equals, Equals, ToString) применяется и для запуска полезной нагрузки восточноазиатского вебшелла GodZilla (пример на github).
В качестве аргументов основной метод получает три параметра:
assembly_data — .NET-сборка в виде массива байтов;
methodname — имя объекта, экземпляр которого будет создаваться.
Передается строка "Scythe.Plugin".
data — массив строк-аргументов для создания задачи планировщика.
Передается массив из четырех строк:
@"C:\Users\Public\Videos\tmpB2A8.exe" (путь до финальной нагрузки)
"" (аргументы для запуска финальной нагрузки)
"GatherNetFrameworkInfo" (имя задачи планировщика)
@"\" (каталог задачи планировщика)
Имя задачи: "GatherNetFrameworkInfo".
Описание: "This created by .NET Framework."
Триггер: C:\Users\public\Videos\.exe (например, C:\Users\Public\Videos\tmpB2A8.exe).
Уcловия запуска:
Ежедневно в 00:00.
При каждом входе в систему текущего пользователя.
Рассылки 2024
Мы провели более глубокое исследование и обнаружили, что подобные lnk-файлы рассылались и в 2024 году. На публичных сервисах мультисканера располагались следующие lnk-файлы:
2024_Стоимость строительства города-спутника Владивостока.pdf.lnk.
Даты загрузки файлов на сервисы мультисканеров отличались от дат в метаданных в самих файлах. Нам хотелось хотя бы примерно оценить, когда эти lnk-файлы могли использоваться в атаках (фишинговых рассылках). Вложений и фишинговых писем за 2024 год на руках у нас не было, поэтому мы решили прибегнуть к некоторой эвристике. Мы выяснили, что дата доступа к цели lnk-файла (Target Accessed) 2025 года, взятая из заголовка, очень близка к дате помещения в архив и дате получения фишингового письма:
LNK Target Accessed: 2025-05-23 06:13:11 UTC
Дата изменения lnk-файла в архиве: 2025-05-23 06:13 UTC
Дата получения письма жертвой: 2025-05-23 08:37 UTC
Чтобы выстроить корректный таймлайн появления и, скорее всего, использования lnk-файлов, мы использовали атрибут Target Accessed из заголовка lnk-файлов. Этот атрибут у файлов (в том числе у файла 2025 года) указывал на дату доступа к файлу conhost.exe и чаще всего имел самую позднюю дату из всех. Мы приняли такую дату за примерное время атаки / использования lnk-файла и получили следующий таймлайн:
Исходя из таймлайна, предполагаем, что, скорее всего, первая атака проводилась в августе 2024, причем даже тогда все еще использовался тот же самый -ресурс, который был использован в атаке 2025 года.
Параметры ярлыков собрали в таблице.
Август 2024
cd814716997ce40d83f3fda225829b98ed9f0c4e2093e859c7dcdeb513e925d8
В самом начале (cd814716997ce40d83f3fda225829b98ed9f0c4e2093e859c7dcdeb513e925d8) злоумышленники использовали curl.exe только для загрузки и исполнения нагрузки. Позже (2024_Стоимость строительства города-спутника Владивостока.pdf.lnk) они стали:
собирать дополнительную информацию о жертве (список запущенных процессов, текущие дата и время запуска lnk-файла);
использовать больше пробелов в аргументах запуска ярлыка, и это стало приводить к тому, что в свойствах ярлыка команда перестала отображаться полностью — дополнительная скрытность;
сменили путь отправки POST-запроса;
перешли на использование wscript.
Для ярлыка «2024_Стоимость строительства города-спутника Владивостока.pdf.lnk» из логов запуска в публичной песочнице удалось достать скрипт C:\Users\public\Downloads\Yulang.vbs или его часть (так как не видно команды для загрузки и запуска финальной нагрузки):
Здесь наблюдается схожесть в расположении и именовании файла-приманки с атакой в мае 2025 года: использование temp-каталога, английского языка и нижних подчеркиваний в имени.
Для файла «2024_Определение о возбуждении дела.docx.lnk» удалось обнаружить и скрипт загрузчика, и финальную нагрузку.
<redated> — это скомпрометированный ресурс (один и тот же в 2024 и 2025 гг.),
<now_unix_timestamp> — текущая дата отправки POST-запроса на <redated>-ресурс (например, 1731912032).
К сожалению, на момент написания статьи уже не удавалось загрузить загрузчик по ссылкам из скрипта.
Загрузчик загружал golang-бэкдор, который злоумышленники назвали Pinocchio, в формате PE-файла в каталог C:\Users\public\Downloads\, и запускал его (описание в следующем разделе). В рассылке 2025 года злоумышленники загружали финальную нагрузку более скрытно: сначала в виде log-файла, потом меняли расширение на exe и запускали.
PE32+ executable for MS Windows 6.01 (GUI), x86-64 (stripped to external PDB), 6 sections
File size
5224448 bytes (4.98 MB)
Compile timestamp
1970-01-01 00:00:00 UTC
C2
ftp.media-storage.myftp[.]info:443
Имплант Pinocchio написан на Golang и является кастомной версией модуля Orca Puppet (имплант, который работает на жертве) в С2-фреймворке с открытым исходным кодом OrcaC2. В этом фреймворке имеется три модуля:
Orca_Server — устанавливается на C2 и представляет собой серверную часть C2 с многопользовательским режимом.
Orca_Puppet — устанавливается на хост жертвы. Связывается с C2 и выполняет различные команды от операторов.
Orca_Master — утилита для операторов. Она подключается к C2 под указанным пользователем и позволяет взаимодействовать с сервером и управлять имплантами на жертвах.
Сетевое взаимодействие выполняется через WebSocket с дополнительным шифрованием. Бэкдор поддерживает связь с C2 и выполняет ограниченный набор команд. Подробно описывать этот фреймфорк мы в нашем материале не будем, так как исходный код доступен на GitHub. Остановимся на изменениях, внесенных злоумышленниками в исходный код модуля Orca Puppet
Изменена base64-строка, содержащая версию C2-фреймворка. Слева — кастомная версия, справа — версия с GitHub
Мы предполагаем, что злоумышленники вместе с названием импланта изменили и название фреймворка. Таким образом, у них получился имплант Pinocchio C2-фреймворка Hermes, который основан на коде C2-фреймворка с открытым исходным кодом OrcaC2.
Добавлено шифрование строк.
В кастомной версии для шифрования немногочисленных строк используется побитовый XOR:
int xor_key = 0xF9; // инициализация стартового значения
for (size_t i = 0; i < len; i++) {
decrypted[i] = encrypted[i] ^ xor_key; // расшифровка байта
xor_key = encrypted[i]; // обновление xor_key
}
Сильно урезано количество команд в сравнении с версией из GitHub.
Команды импланта Pinocchio:
Command ID
Command Name
Description
0x7470 ('tp')
persistTaskschAdd
Создать в планировщике задач задачу с заданными параметрами
0x6363 ('cc')
closeClient
Завершить работу бэкдора
0x7365 ('se')
execShell
Запустить интерактивный шелл (cmd.exe)
0x6466 ('dw')
fileDownload
Загрузить файл с сервера управления и сохранить в указанной директории
0x7566 ('uf')
fileUpload
Выгрузить файл на сервер управления из указанной директории
Для закрепления имплант в начале своей работы создает в планировщике задач Windows задачу с именем PostponeDeviceToast.
Задача ежедневно с момента создания или при входе пользователя в систему (после задержки 5 минут 9 секунд) будет запускать бэкдор Pinocchio.
Конфигурация импланта Pinocchio совпадает с конфигурацией оригинального Orca Puppet по количеству и предназначению параметров, а именно:
AesKey — AES-ключ, которым шифруется и дешифруется трафик;
Несмотря на то, что, по нашему мнению, данных для атрибуции к конкретной группировке недостаточно, в данном разделе мы хотим поделиться нашими предположениями.
Метаданные документов-приманок.
Документы-приманки, созданные злоумышленниками вручную, в большинстве содержали локаль 2052 (zh-cn — Китай) и сделаны в WPS Office.
PDF документ
«NOTICE_of_the_need_for_an_internal_review_of_information_security_threats.pdf», скорее всего, был создан с помощью пакета python-docx, а потом трансформирован в PDF с помощью WPS Office, судя по Creator. Он также имеет дату создания со смещением часового пояса +06:50.
Использование модуля Puppet C2-фреймворка OrcaC2.
Мы впервые увидели использование C2-фреймворка OrcaC2 в атаке! Нам не удалось найти публичных отчетов, в которых бы этот фреймворк применяли злоумышленники в реальных кейсах. Это также усложняет атрибуцию. Но, с другой стороны, описание OrcaC2 в GitHub сделано на китайском языке.
Использование lcx.exe.
В фишинге 2025 года злоумышленники копировали curl.exe в C:\Users\public\Documents\lcx.exe. lcx.exe — это название результирующего файла, в который компилируется старая утилита HTran, причем имеются публичные отчеты, где lcx.exe использовался в реальных атаках восточноазиатскими группировками. HTran — это утилита, предназначенная для перенаправления TCP-трафика, направленного на один хост, к другому хосту. В коде HUC приведено описание утилиты — HUC Packet Transmit Tool, то есть утилита для передачи HUC-пакетов. В одном старом отчете говорилось, что утилита разработана «lion» — известным китайским хакером и участником «HUC» (Honker Union of China). Описания утилит HTran и lcx сделаны на китайском языке и в основном применяются восточноазиатскими APT-группировками.
Своеобразный способ запуска плагина Scythe.
Выше мы описывали, что плагин Scythe запускался через цепочку переопределенных вызовов: Equals, Equals, toString. Аналогичным образом запускается нагрузка в восточноазиатском вебшелле GodZilla (пример на github).
Использование литературных названий.
В модифицированной версии Puppet-импланта C2-фреймворка OrcaC2 злоумышленники поменяли его название с Orca_Puppet на Pinocchio, а название фреймворка Orca поменяли на Hermes. Здесь видим упоминание персонажа сказки Пиноккио и древнегреческого бога Гермеса. Это может напомнить нам о любви Erudite Mogwai к литературе (ранее они использовали фразы из произведений Гарри Поттера и Лавкрафта).
Интересный С2.
В процессе мониторинга киберугроз в феврале 2025 г. мы обнаружили соединения с C2 46.29.161[.]210:80, который мы относим к Erudite Mogwai, из инфраструктуры подрядчика.
Далее в мае 2025 г. с домена подрядчика направляется целевое фишинговое письмо заказчику (жертве), о котором мы писали в начале этой статьи.
Позже в августе 2025 г. мы обнаружили подозрительный GET-запрос из инфраструктуры жертвы:
Именно такой запрос отправляет Puppet-имплант OrcaC2 при соединении со своим сервером управления.
Позже выяснилось, что соединение к этому C2 было выполнено с хоста подрядчика (с его домена отправлялось целевое фишинговое письмо в мае 2025 г.), который подключился к инфраструктуре жертвы по беспроводной сети. В июле 2025-го этот IP (192.124.176[.]43) резолвился в:
help.trueconf[.]space,
org.notaped[.]site.
Эти DNS-записи мы со средней степенью уверенности относим к группировке Erudite Mogwai. Также на данном IP-адресе обнаруживалась активность ShadowPad в августе 2025 года (один из часто используемых инструментов Erudite Mogwai).
Из-за применения редкого Puppet-импланта C2-фреймворка OrcaC2 в ноябре 2024 г. и в августе 2025 г. на сервере управления Erudite Mogwai эти две активности, по нашему мнению, с определенной долей вероятности могут быть связаны с восточноазиатской группировкой Erudite Mogwai.
Подытожим вышесказанное.
Локаль, использование китайской версии WPS Office, смещение часового пояса и использование имени lcx.exe для curl, своеобразный способ запуска плагина Scythe позволяют сделать возможное предположение, что за атакой могут стоять восточноазиатские злоумышленники. В эту гипотезу также укладывается использование редко применяемого в реальных атаках кастомизированного импланта Pinocchio C2-фреймворка Hermes (модификация OrcaC2). Также мы наблюдали случаи применения Puppet-импланта Orca на сервере управления, который когда-то резолвился в адреса, связанные с восточноазиатской группировкой Erudite Mogwai, и использования литературных названий для импланта и фреймворка. Так что считаем, что за рассылки 2024 и 2025 гг., скорее всего, ответственна группировка Erudite Mogwai.
Выводы
Мы обнаружили, что группировка Erudite Mogwai ведет фишинговые рассылки как минимум год: с лета 2024-го по настоящее время. Сами рассылки больше похожи на целевые. Так, например, в мае 2025 года для загрузки архива с вредоносным lnk-файлом использовался легитимный ресурс одноразовых ссылок жертвы. Помимо этого, в этой кампании использовалось несколько документов-приманок с символикой жертвы. Все это сделано, чтобы максимально усыпить бдительность пользователей и получить первоначальный доступ. Erudite Mogwai очень осторожны. По хронологии фишинговых lnk-файлов видно, как с каждым разом они усложняют исходную команду, пытаясь уйти от обнаружения. Меняют параметры, отправляют больше данных о зараженной системе, используют легитимный скомпрометированный ресурс для загрузки как данных жертвы и документов-приманок, так и вредоносных модулей следующего этапа вплоть до финальных нагрузок. Перед запуском промежуточных этапов выполняют многоступенчатую проверку на запуск в песочнице. Финальная нагрузка в рассылке 2025 года запускалась не сразу после открытия вредоносного lnk-файла (как это чаще всего бывает), а только через несколько часов, через задачу планировщика. В 2024 году Erudite Mogwai в качестве финальной нагрузки применяли модифицированный имплант Pinocchio C2-фреймворка Hermes, который основан на C2-фреймворке с открытым исходным кодом OrcaC2. Фреймворк известен с конца 2022 года, но до этого момента мы не обнаружили публичных отчетов, где бы он упоминался. Поэтому можно сказать, что это первый случай применения импланта данного фреймворка в реальных атаках.