SOC Prime Bias: Crítico

02 Jun 2026 19:44 UTC

Operación Dragon Weave utiliza Azure Cloud C2 para atacar la República Checa y Taiwán

Author Photo
SOC Prime Team linkedin icon Seguir
Operación Dragon Weave utiliza Azure Cloud C2 para atacar la República Checa y Taiwán
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Una operación de espionaje dirigida rastreada como Operación Dragon Weave utiliza archivos de acceso directo LNK maliciosos junto con un ejecutable basado en Rust para lanzar un cargador de múltiples etapas que finalmente despliega el agente de comando y control Adaptix AZUREVEIL. Los operadores abusan de Azure Blob Storage de Microsoft como un mecanismo de buzón muerto para las comunicaciones C2. La campaña se centra en el personal del gobierno e investigadores en la República Checa y Taiwán.

Investigación

La investigación siguió toda la cadena de infección desde el archivo ZIP inicial a través de la ejecución de VBScript, el descifrado basado en PowerShell, la carga lateral de DLL y un cargador Rust personalizado que utilizó RC4, Base64 y SM4 para descifrar la carga final. El malware de la última etapa, AZUREVEIL, fue identificado como una DLL Adaptix de 64 bits que se comunica solo a través de Azure Blob Storage y admite la ejecución de archivos de objeto Beacon en memoria.

Mitigación

Los defensores deben bloquear la ejecución de archivos LNK inesperados y binarios sin firmar, aplicar controles estrictos sobre la ejecución de scripts y macros, y monitorear el tráfico inusual de Azure Blob Storage. El uso de PowerShell con omisión de la política de ejecución debe restringirse o vigilarse de cerca, y los equipos de seguridad deben detectar la creación de archivos sospechosos en %LOCALAPPDATA% and %TEMP%. También se recomienda una higiene estricta de credenciales para cuentas de Azure y la rotación regular de tokens SAS.

Respuesta

Los equipos de seguridad deben detectar y aislar los hosts afectados, recolectar memoria volátil para recuperar cualquier carga útil en memoria, bloquear el dominio de almacenamiento de Azure identificado, y buscar los artefactos de archivos reportados y patrones de procesos. También se debe realizar una investigación forense completa para identificar cualquier componente adicional descargado y eliminar mecanismos de persistencia.

Flujo de Ataque

Ejecución de Simulación

Pre-requisito: El chequeo de Telemetría y Línea Base debe haber pasado.

Narrativa del Ataque y Comandos

  1. Entrega: El atacante envía un correo electrónico de phishing con un archivo adjunto llamado 計畫申請審查結果通知單.pdf.lnk. La doble extensión oculta la naturaleza del acceso directo. El LNK apunta a C:Tempevil.vbs.
  2. Ejecución (VBScript): Cuando la víctima hace doble clic en el LNK, wscript.exe lanza evil.vbs. El script deja RuntimeBroker_update.exe to %APPDATA%MicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe y copia un UnityPlayer.dll (que contiene el cargador basado en Rust) malicioso en el mismo directorio.
  3. Carga Lateral de DLL: El atacante ejecuta RuntimeBroker_update.exe. Debido a que el ejecutable está firmado (o imita un binario legítimo), Windows carga el UnityPlayer.dllcercano, que ejecuta la carga de Rust incrustada (RUSTCLOAK) y establece un canal C2 a Azure.
  4. Postejecución: La carga útil realiza un descubrimiento de sistema (T1016, T1082) y comienza la exfiltración (T1041) a través de un canal encriptado (T1573).

Script de Prueba de Regresión

<# 
  Script de simulación para la detección de carga lateral maliciosa de LNK + DLL.
  Prerrequisitos:
  - Sysmon con ProcessCreate (ID 1) e ImageLoad (ID 7) habilitados.
  - Permiso de escritura en $env:APPDATAMicrosoftWindowsStart MenuPrograms
#>

# 1. Preparar VBScript malicioso
$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. Desplegar un DLL UnityPlayer.dll falso (marcador binario)
$dllPath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsUnityPlayer.dll"
# Para demo, simplemente copie cualquier DLL existente (por ejemplo, version.dll) y cámbiele el nombre
Copy-Item "$env:SystemRootSystem32version.dll" $dllPath -Force

# 3. Desplegar el ejecutable auxiliar (una copia de un binario legítimo para realismo)
$exePath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe"
Copy-Item "$env:SystemRootSystem32RuntimeBroker.exe" $exePath -Force

# 4. Crear el LNK malicioso con doble extensión
$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 malicioso creado en $lnkPath"
Write-Host "Ejecutando el LNK para desencadenar la cadena..."
Start-Process -FilePath $lnkPath -Wait

Comandos de Limpieza

# Eliminar artefactos
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 "Limpieza completa."