SOC Prime Bias: Kritisch

02 Jun 2026 19:44 UTC

Operation Dragon Weave nutzt Azure Cloud C2, um die Tschechische Republik und Taiwan ins Visier zu nehmen

Author Photo
SOC Prime Team linkedin icon Folgen
Operation Dragon Weave nutzt Azure Cloud C2, um die Tschechische Republik und Taiwan ins Visier zu nehmen
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Eine zielgerichtete Spionageoperation, die als Operation Dragon Weave verfolgt wird, nutzt bösartige LNK-Verknüpfungsdateien zusammen mit einer auf Rust basierenden ausführbaren Datei, um einen mehrstufigen Loader zu starten, der schließlich den Adaptix AZUREVEIL Command-and-Control-Agent bereitstellt. Die Betreiber missbrauchen Microsoft Azure Blob Storage als Dead-Drop-Mechanismus für die C2-Kommunikation. Die Kampagne konzentriert sich auf Regierungsmitarbeiter und Forscher in der Tschechischen Republik und in Taiwan.

Untersuchung

Die Untersuchung folgte der gesamten Infektionskette von der initialen ZIP-Archivdatei über die VBScript-Ausführung, PowerShell-basierte Entschlüsselung, DLL-Sideloading bis hin zu einem benutzerdefinierten Rust-Loader, der RC4, Base64 und SM4 verwendet, um die endgültige Nutzlast zu entschlüsseln. Die letzte Stufe der Schadsoftware, AZUREVEIL, wurde als 64-Bit-Adaptix-DLL identifiziert, die ausschließlich über Azure Blob Storage kommuniziert und die Ausführung von in-memory Beacon-Objekt-Dateien unterstützt.

Minderung

Verteidiger sollten die Ausführung unerwarteter LNK-Dateien und nicht signierter Binärdateien blockieren, strenge Kontrollen über die Skript- und Makroausführung erzwingen und ungewöhnlichen Azure Blob Storage-Verkehr überwachen. Die Verwendung von PowerShell mit Umgehung der Ausführungsrichtlinien sollte eingeschränkt oder genau beobachtet werden, und Sicherheitsteams sollten verdächtige Dateierstellungen in %LOCALAPPDATA% and %TEMP%. Starke Anmeldeinformationen für Azure-Konten und regelmäßige Rotation von SAS-Tokens sind ebenfalls ratsam.

Reaktion

Sicherheitsteams sollten betroffene Hosts erkennen und isolieren, flüchtigen Speicher sammeln, um alle im Speicher befindlichen Nutzlasten wiederherzustellen, die identifizierte Azure-Speicherdomäne blockieren und nach den gemeldeten Dateiartefakten und Prozessmustern suchen. Außerdem sollte eine vollständige forensische Untersuchung durchgeführt werden, um zusätzliche abgelegte Komponenten zu identifizieren und Persistenzmechanismen zu entfernen.

Angriffsfluss

Simulationsausführung

Voraussetzung: Der Telemetrie- & Basislinien Vorflug-Check muss bestanden haben.

Angriffserzählung & Befehle

  1. Lieferung: Der Angreifer sendet eine Phishing-E-Mail mit einem Anhang namens 計畫申請審查結果通知單.pdf.lnk. Die doppelte Erweiterung verbirgt die Verknüpfungsnatur. Die LNK verweist auf C:Tempevil.vbs.
  2. Ausführung (VBScript): Wenn das Opfer auf die LNK doppelklickt, wscript.exe startet evil.vbs. Das Skript legt RuntimeBroker_update.exe to %APPDATA%MicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe ab und kopiert eine bösartige UnityPlayer.dll (die den auf Rust basierenden Loader enthält) in das gleiche Verzeichnis.
  3. DLL-Sideloading: Der Angreifer startet RuntimeBroker_update.exe. Da die ausführbare Datei signiert ist (oder ein legitimes Binary imitiert), lädt Windows die benachbarte UnityPlayer.dll, die die eingebettete Rust-Nutzlast (RUSTCLOAK) ausführt und einen C2-Kanal zu Azure aufbaut.
  4. Nach der Ausführung: Die Nutzlast führt Systemerkennung (T1016, T1082) durch und beginnt mit der Exfiltration (T1041) über einen verschlüsselten Kanal (T1573).

Regressionstestskript

<# 
  Simulationsskript zur Erkennung von bösartigem LNK + DLL-Sideloading.
  Voraussetzungen:
  - Sysmon mit ProcessCreate (ID 1) und ImageLoad (ID 7) aktiviert.
  - Schreibberechtigung für $env:APPDATAMicrosoftWindowsStart MenuPrograms
#>

# 1. Bösartiges VBScript vorbereiten
$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. Eine gefälschte UnityPlayer.dll bereitstellen (binärer Platzhalter)
$dllPath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsUnityPlayer.dll"
# Für die Demo, einfach eine vorhandene DLL (z.B. version.dll) kopieren und umbenennen
Copy-Item "$env:SystemRootSystem32version.dll" $dllPath -Force

# 3. Die Hilfsprogrammbinärdatei bereitstellen (Kopie einer legitimen Binärdatei für Realismus)
$exePath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe"
Copy-Item "$env:SystemRootSystem32RuntimeBroker.exe" $exePath -Force

# 4. Die bösartige LNK mit doppelter Erweiterung erstellen
$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 "Bösartige LNK erstellt bei $lnkPath"
Write-Host "Ausführen der LNK, um die Kette auszulösen..."
Start-Process -FilePath $lnkPath -Wait

Befehle zur Bereinigung

# Artefakte entfernen
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 "Bereinigung abgeschlossen."