SOC Prime Bias: Критичний

02 Jun 2026 19:44 UTC

Операція Dragon Weave використовує Azure Cloud C2 для націлювання на Чеську Республіку та Тайвань

Author Photo
SOC Prime Team linkedin icon Стежити
Операція Dragon Weave використовує Azure Cloud C2 для націлювання на Чеську Республіку та Тайвань
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Зміст

Цілеспрямована операція зі шпигунства, відома як Operation Dragon Weave, використовує шкідливі LNK файли ярликів разом із виконуваним файлом на базі Rust для запуску завантажувача з декількома стадіями, який в кінцевому підсумку розгортає керуючий агент Adaptix AZUREVEIL. Оператори використовують як механізм „мертвої точки” для зв’язку з командним і контрольним центром зберігання в Microsoft Azure Blob. Кампанія орієнтована на державних службовців та дослідників у Чехії та Тайвані.

Дослідження

Дослідження простежило повний ланцюжок зараження від початкового ZIP архіву через виконання VBScript, розшифрування на основі PowerShell, бічне завантаження DLL і спеціального завантажувача на базі Rust, який використовував RC4, Base64 і SM4 для розшифровки кінцевого завантажувача. Останнє стадійне зловмисне програмне забезпечення AZUREVEIL було ідентифіковано як 64-розрядний Adaptix DLL, який спілкувався лише через Azure Blob Storage і підтримував виконання завантажених файлів в оперативній пам’яті.

Пом’якшення ризиків

Захисники повинні блокувати виконання неочікуваних LNK файлів і підписаних виконуваних файлів, забезпечувати суворий контроль над виконанням скриптів і макросів та контролювати незвичний трафік Azure Blob Storage. Використання PowerShell із обходом політики виконання повинно бути обмежене або ретельно наглядатися, а команди безпеки повинні виявляти підозріле створення файлів у %LOCALAPPDATA% and %TEMP%. Також рекомендується сильна гігієна облікових даних для облікових записів Azure і регулярна ротація токенів SAS.

Відповідь

Команди безпеки повинні виявляти та ізолювати уражені хости, збирати змінну пам’ять для відновлення будь-яких завантажених у пам’ять даних, блокувати визначений домен зберігання Azure та шукати вказані артефакти файлів та шаблони процесів. Також має бути проведено повне судове дослідження для виявлення будь-яких додатково завантажених компонентів та видалення механізмів стійкості.

graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#ddffdd classDef process fill:#ffeb99 classDef operator fill:#ff9900 %% Nodes attack_phishing[“<b>Дія</b> – <b>T1566.001 Цільове фішингове вкладення</b><br/>Зловмисник надсилає жертвам електронною поштою шкідливий ZIP-архів.”] class attack_phishing action file_zip[“<b>Файл</b> – malicious.zip<br/>Містить ярлик .lnk та дропер .exe, скомпільований мовою Rust.”] class file_zip file action_user_exec[“<b>Дія</b> – <b>T1204.001 Виконання користувачем</b><br/>Жертва відкриває файл .lnk або запускає .exe, що запускає ланцюг виконання дропера.”] class action_user_exec action file_lnk[“<b>Файл</b> – payload.pdf.lnk<br/>Ярлик використовує подвійне розширення та іконку Edge, щоб виглядати безпечним.”] class file_lnk file tool_wscript[“<b>Інструмент</b> – wscript.exe<br/>Виконує VBScript-пейлоад.”] class tool_wscript tool file_vbs[“<b>Файл</b> – empty.vbs<br/>Мінімалістичний VBScript, який запускає PowerShell.”] class file_vbs file action_vbscript[“<b>Дія</b> – <b>T1059.005 Visual Basic</b><br/>VBScript запускається через wscript для запуску PowerShell.”] class action_vbscript action action_powershell[“<b>Дія</b> – <b>T1059.001 PowerShell</b><br/>Profile.ps1 виконується з обходом політики виконання та розшифровує наступний етап атаки.”] class action_powershell action file_dat[“<b>Файл</b> – 1.dat<br/>Контейнер, зашифрований XOR, який містить RuntimeBroker_update.exe.”] class file_dat file process_runtime[“<b>Процес</b> – RuntimeBroker_update.exe<br/>Розшифровується з 1.dat; завантажує шкідливу UnityPlayer.dll через DLL side-loading.”] class process_runtime process file_dll[“<b>Файл</b> – UnityPlayer.dll<br/>Шкідлива DLL, розміщена поруч із RuntimeBroker_update.exe.”] class file_dll file action_dll_sideload[“<b>Дія</b> – <b>T1546.009 DLL AppCert</b><br/>DLL side-loading забезпечує виконання коду.”] class action_dll_sideload action tool_rustloader[“<b>Інструмент</b> – Завантажувач Rust (RUSTCLOAK)<br/>Виділяє пам’ять, записує розшифрований PE-файл AZUREVEIL та виконує його через Windows Fibers.”] class tool_rustloader tool action_process_injection[“<b>Дія</b> – <b>T1055.002 Впровадження в процес</b><br/>PE-ін’єкція з використанням Windows Fibers.”] class action_process_injection action file_azureveil[“<b>Файл</b> – AZUREVEIL.exe<br/>Розшифрований пейлоад, який виконується після ін’єкції.”] class file_azureveil file action_discovery[“<b>Дія</b> – <b>T1083 Виявлення файлів і каталогів</b><br/>Завантажувач перелічує файли та переміщує їх до %TEMP%.”] class action_discovery action action_network_discovery[“<b>Дія</b> – <b>T1016 Виявлення конфігурації мережі системи</b><br/>Збирає MAC- та IP-адреси для використання проксі та латерального переміщення.”] class action_network_discovery action action_c2[“<b>Дія</b> – <b>T1102 Вебсервіс</b><br/>Встановлює зв’язок з Azure Blob Storage через HTTPS.”] class action_c2 action action_dead_drop[“<b>Дія</b> – <b>T1102.003 Односторонній зв’язок</b><br/>Завантажує beacon-blob та отримує команди з того самого контейнера.”] class action_dead_drop action action_encrypted_channel[“<b>Дія</b> – <b>T1573.001 Зашифрований канал</b><br/>Дані beacon та команд шифруються за допомогою власної реалізації RC4 і SM4-CBC.”] class action_encrypted_channel action action_exfil[“<b>Дія</b> – <b>T1567.002 Ексфільтрація через вебсервіс</b><br/>Завантажує зашифровані дані до кінцевої точки Azure Blob.”] class action_exfil action action_persistence[“<b>Дія</b> – <b>T1547.009 Модифікація ярликів</b><br/>Розміщує шкідливий файл .lnk у папках автозапуску для забезпечення персистентності.”] class action_persistence action %% Edges attack_phishing –>|доставляє| file_zip file_zip –>|запускає| action_user_exec action_user_exec –>|відкриває| file_lnk file_lnk –>|виконує| tool_wscript tool_wscript –>|запускає| file_vbs file_vbs –>|ініціює| action_vbscript action_vbscript –>|запускає| action_powershell action_powershell –>|розшифровує| file_dat file_dat –>|створює| process_runtime process_runtime –>|завантажує| file_dll file_dll –>|використовується для| action_dll_sideload process_runtime –>|виконує| action_process_injection action_process_injection –>|використовує| tool_rustloader tool_rustloader –>|завантажує| file_azureveil file_azureveil –>|виконує| action_discovery action_discovery –>|також виконує| action_network_discovery action_network_discovery –>|надсилає дані до| action_c2 action_c2 –>|використовує| action_dead_drop action_dead_drop –>|покладається на| action_encrypted_channel action_encrypted_channel –>|забезпечує| action_exfil action_exfil –>|може спричинити| action_persistence file_lnk –>|створює| action_persistence %% Class Assignments class attack_phishing action class file_zip file class action_user_exec action class file_lnk file class tool_wscript tool class file_vbs file class action_vbscript action class action_powershell action class file_dat file class process_runtime process class file_dll file class action_dll_sideload action class tool_rustloader tool class action_process_injection action class file_azureveil file class action_discovery action class action_network_discovery action class action_c2 action class action_dead_drop action class action_encrypted_channel action class action_exfil action class action_persistence action

Потік атаки

Виявлення

LOLBAS WScript / CScript (через process_creation)

Команда SOC Prime
02 червня 2026

Можливість виконання через приховані командні лінії PowerShell (через cmdline)

Команда SOC Prime
02 червня 2026

Виклик підозрілих методів .NET з PowerShell (через powershell)

Команда SOC Prime
02 червня 2026

Можливі індикатори обфускації PowerShell (через powershell)

Команда SOC Prime
02 червня 2026

IOCs (HashSha256) для виявлення: Operation Dragon Weave: розкриття пов’язаної з Китаєм кампанії, яка націлена на Чеську Республіку та Тайвань з використанням Azure Cloud C2

Правила AI SOC Prime
02 червня 2026

Виявлення шкідливого виконання wscript.exe та використання CreateFiberEx [Створення процесу Windows]

Правила AI SOC Prime
02 червня 2026

Виконання Profile.ps1 з обходом PowerShell [PowerShell Windows]

Правила AI SOC Prime
02 червня 2026

Шкідливий LNK файл та бічне завантаження DLL для виконання RUSTCLOAK [Подія файлу Windows]

Правила AI SOC Prime
02 червня 2026

Виконання симуляції

Попередня умова: Попередньо перевірка телеметрії та базової лінії повинна бути пройдена.

Наратив атаки та команди

  1. Доставка: Аттакер надсилає фішингове електронне повідомлення з вкладенням під назвою 計畫申請審查結果通知單.pdf.lnk. Подвійне розширення приховує натуру ярлика. LNK вказує на C:Tempevil.vbs.
  2. Виконання (VBScript): Коли жертва двічі клацає LNK, wscript.exe запускає evil.vbs. Скрипт скидає RuntimeBroker_update.exe to %APPDATA%MicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe і копіює шкідливий UnityPlayer.dll (що містить завантажувач на базі Rust) у ту саму директорію.
  3. Бічне завантаження DLL: Аттакер виконує RuntimeBroker_update.exe. Оскільки виконуваний файл підписано (або імітує легітимний бінарник), Windows завантажує сусідній UnityPlayer.dll, який виконує вбудоване завантаження на базі Rust (RUSTCLOAK) та встановлює канал керування і контролю до Azure.
  4. Після виконання: Вантаж виконує виявлення системи (T1016, T1082) та починає ексфільтрацію (T1041) через зашифрований канал (T1573).

Скрипт регресійного тестування

<# 
  Скрипт симуляції для виявлення шкідливого LNK та бічного завантаження DLL.
  Попередні умови:
  - Sysmon з увімкненими ProcessCreate (ID 1) та ImageLoad (ID 7).
  - Дозвіл на запис до $env:APPDATAMicrosoftWindowsStart MenuPrograms
#>

# 1. Підготовка шкідливого VBScript
$vbPath = "$env:TEMPevil.vbs"
@'
Set objShell = CreateObject("WScript.Shell")
'objShell.Run """$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe""", 0, False
'@ | Set-Content -Path $vbPath -Encoding Unicode

# 2. Розгортання фальшивого UnityPlayer.dll (місце утримання бінарника)
$dllPath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsUnityPlayer.dll"
# Для демонстрації просто скопіюйте будь-який існуючий DLL (наприклад, version.dll) і перейменуйте його
Copy-Item "$env:SystemRootSystem32version.dll" $dllPath -Force

# 3. Розгортання допоміжного виконуваного файлу (копія легітимного бінарника для реалістичності)
$exePath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe"
Copy-Item "$env:SystemRootSystem32RuntimeBroker.exe" $exePath -Force

# 4. Створення шкідливого LNK з подвійним розширенням
$lnkPath = "$env:USERPROFILEDesktop計畫申請審查結果通知單.pdf.lnk"
$ws = New-Object -ComObject WScript.Shell
$shortcut = $ws.CreateShortcut($lnkPath)
$shortcut.TargetPath = "$env:SystemRootSystem32wscript.exe"
$shortcut.Arguments = "`"$vbPath`""
$shortcut.Save()

Write-Host "Шкідливий LNK створено у $lnkPath"
Write-Host "Виконання LNK для запуску ланцюгу..."
Start-Process -FilePath $lnkPath -Wait

Команди очищення

# Видалити артефакти
Remove-Item "$env:TEMPevil.vbs" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:APPDATAMicrosoftWindowsStart MenuProgramsUnityPlayer.dll" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:USERPROFILEDesktop計畫申請審查結果通知單.pdf.lnk" -Force -ErrorAction SilentlyContinue
Write-Host "Очищення завершено."