Начало 2026 года ознаменовалось обнаружением сложной шпионской кампании, нацеленной на государственные учреждения и исследовательские организации сразу в двух странах. Аналитики компании Seqrite выявили атаку, которая использует фишинговые письма с вложенными ZIP-архивами, маскирующимися под официальные уведомления. Особенность операции заключается в том, что злоумышленники полностью отказались от традиционных серверов управления и вместо этого применяют легитимные облачные сервисы Microsoft Azure для скрытой передачи данных и команд.
Описание
Жертвами кампании, получившей название Operation Dragon Weave, стали чиновники, научные сотрудники и представители технологического сектора в Чехии и на Тайване. Приманка внутри архива - это файлы, которые выглядят как официальные документы. Например, один из них носит название "Уведомление о результате рассмотрения заявки на проект" на традиционном китайском языке, а другой имитирует запись на приём в Чешское управление социального обеспечения. Такая двойная мишень указывает на целенаправленный, а не случайный характер атаки.
Два пути заражения
Исследователи выяснили, что атакующий предусмотрел два разных сценария проникновения в систему. В первом случае жертву провоцируют открыть ярлык с расширением PDF.lnk, который на самом деле запускает вредоносный VBScript. Этот скрипт, в свою очередь, вызывает PowerShell-сценарий, расшифровывающий скрытый контейнер и запускающий исполняемый файл. Второй вариант проще: пользователь напрямую запускает исполняемый файл, написанный на Rust. Он уже содержит внутри себя все необходимые компоненты и сразу выгружает их в систему.
Независимо от начального этапа, обе цепочки сходятся в одной точке: на диск попадает исполняемый файл RuntimeBroker_update.exe, который служит триггером для подмены легитимной библиотеки UnityPlayer.dll. Этот метод, известный как DLL-сайдлоудинг, позволяет злоумышленнику обойти защиту Windows и запустить свой код под видом безобидного процесса. Вредоносная библиотека, названная экспертами RUSTCLOAK, представляет собой загрузчик, написанный на Rust.
Уход от анализа и тройное шифрование
RUSTCLOAK демонстрирует высокий уровень паранойи разработчика. Перед выполнением основной нагрузки он проверяет имя компьютера по списку из более чем ста известных виртуальных машин и песочниц. Если система совпадает с одной из них, загрузчик немедленно завершает работу, оставляя аналитиков ни с чем. Кроме того, исследователи обнаружили операционную ошибку злоумышленника: в коде остался путь к каталогу разработчика с именем пользователя dell2, что позволило установить среду сборки.
Сам процесс расшифровки полезной нагрузки состоит из трёх этапов. Сначала применяется модифицированный алгоритм RC4, затем данные декодируются из Base64, и на финальном шаге используется блочный шифр SM4 в режиме CBC. Только после этого в память загружается полноценная 64-разрядная DLL - финальный агент, получивший название AZUREVEIL. Его размер составляет около 103 килобайт, и он спроектирован как агент известной платформы управления Adaptix.
Облачное управление без сервера
Самая технически интересная особенность кампании - способ связи с командирами. Вместо привычных IP-адресов и доменов AZUREVEIL использует хранилище Microsoft Azure Blob Storage. Агент периодически загружает в облачный контейнер маленький зашифрованный маяк размером около 124 байт. Злоумышленник, в свою очередь, помещает в тот же контейнер команды, которые агент забирает и выполняет. Такой асинхронный обмен, называемый dead-drop, не оставляет следов в журналах сетевого трафика, ведь blob.core.windows.net - совершенно обыденный адрес для тысяч легальных приложений.
Исследователи из Seqrite в своём отчёте особо отметили, что атакующий заранее получил токен подписанного доступа (SAS) сроком действия до марта 2027 года. Этот токен даёт полные права на чтение, запись и удаление файлов в контейнере. Таким образом, злоумышленник заложил себе возможность работать в системе в течение как минимум года без необходимости менять инфраструктуру.
Возможности постэксплуатации
AZUREVEIL поддерживает 36 различных команд, охватывающих все типичные задачи удалённого управления. Агент умеет просматривать файловую систему, выполнять команды оболочки, пересылать файлы через облачное хранилище, создавать прокси-соединения и управлять процессами. Но наиболее мощной функцией оказалась возможность загружать и выполнять в памяти так называемые BOF-файлы (Beacon Object Files) - небольшие скомпилированные объектные модули, которые работают без записи на диск. Применяя эту технику, атакующий может запускать произвольный код, оставаясь полностью незамеченным для файловых антивирусов.
Эксперты с умеренной уверенностью связывают кампанию с китайской кибергруппировкой. На это указывает характер целевых объектов, использование традиционного китайского языка в фишинговых документах, а также выбор шифрования, характерного для китайских стандартов. Вместе с тем, часть применённых приёмов, такие как обёртка на Rust и облачный dead-drop, раньше не встречались в открытых отчётах по известным китайским группам, что свидетельствует либо о появлении нового игрока, либо о глубокой модернизации тактик старых противников.
Для специалистов по информационной безопасности эта атака служит ещё одним напоминанием о том, что угроза может прийти не с подозрительного IP, а из доверенного облачного сервиса. Мониторинг аномалий в трафике к Azure Blob Storage, контроль несанкционированных запросов SAS и проверка процессов, имитирующих легитимные имена системных утилит, помогут выявить подобные атаки на ранней стадии. Но в условиях, когда злоумышленники копируют поведение легальных приложений, противодействие требует не только сигнатур, но и поведенческого анализа.
Индикаторы компрометации
SHA256
- 02542a49b3bd6bd2795afb67840acb4557b17e017f7503dd03ebe3aeeb28720e
- 047687548605734348792e2a9d771b6cba42facd0d0d7d44d778290a25848574
- 080ab9bc2893ba7bad354551604a667af40ed2ae2d042d2323c2bd9ad3122192
- 096372d19b4787e989f44e04c5ecc29885aa927c34ae8666628d6c0eb20bb447
- 1c56228cbd1bdebb9e5ea55c2749150fee06c865ede4a3754e8bd6843e51d2d4
- 24aa4e780ccd66cef13da9ef98c32954105cf2a32ec643efab0ba1aa2d6352f4
- 5ed14c2b7f7433a1a72dd6b668413f935a217ba10b69d89b774a82990fa12fe1
- 61f7d9cd2d8ce7df950639b23ce90085b300b0c6dd0d8d934bba8fdecb670f15
- 783661d0f7edb338d2d50be087764d82dbbc9ee7989ddc57db1801e4ec9045b0
- 823d5969db3f3b72ebbdce1b78752717ea849884a0fb40d86146416c38e128de
- 8ae7c82a3e4f742777e590b25a1c563d19bd9bcba2a387d004aae72c4b2828f9
- a4e9f9919d62589b57cfa08c9ccb89e386b09f683271373413cd8e8c8c7d1c5a