Operação Dragon Weave Usa Azure Cloud C2 para Alvejar República Tcheca e Taiwan
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Uma operação de espionagem direcionada rastreada como Operation Dragon Weave utiliza arquivos de atalho LNK maliciosos junto com um executável baseado em Rust para lançar um carregador em múltiplos estágios que eventualmente implanta o agente de comando e controle Adaptix AZUREVEIL. Os operadores abusam do Microsoft Azure Blob Storage como um mecanismo de entrega sem resposta para comunicações de C2. A campanha é focada em funcionários do governo e pesquisadores na República Tcheca e Taiwan.
Investigação
A investigação acompanhou toda a cadeia de infecção desde o arquivo ZIP inicial através da execução do VBScript, descriptografia baseada em PowerShell, carregamento de DLL e um carregador personalizado em Rust que utilizou RC4, Base64 e SM4 para descriptografar a carga final. O malware de última fase, AZUREVEIL, foi identificado como uma DLL Adaptix de 64 bits que se comunica apenas através do Azure Blob Storage e suporta a execução de Beacon Object File na memória.
Mitigação
Os defensores devem bloquear a execução de arquivos LNK inesperados e binários não assinados, impor controles estritos sobre a execução de scripts e macros, e monitorar tráfego incomum de Azure Blob Storage. O uso de PowerShell com bypass de política de execução deve ser restrito ou cuidadosamente observado, e as equipes de segurança devem detectar a criação de arquivos suspeitos em %LOCALAPPDATA% and %TEMP%. Também é recomendável uma higiene forte de credenciais para contas Azure e rotação regular de tokens SAS.
Resposta
As equipes de segurança devem detectar e isolar hosts afetados, coletar memória volátil para recuperar quaisquer cargas na memória, bloquear o domínio de armazenamento Azure identificado e buscar pelos artefatos de arquivo relatados e padrões de processo. Uma investigação forense completa também deve ser realizada para identificar quaisquer componentes adicionais derrubados e remover mecanismos de persistência.
Fluxo de Ataque
Detecções
LOLBAS WScript / CScript (via criação de processo)
Ver
A Possibilidade de Execução Através de Linhas de Comando PowerShell Ocultas (via linha de comando)
Ver
Chamar Métodos .NET Suspeitos a Partir do PowerShell (via powershell)
Ver
Possíveis Indicadores de Ofuscação do PowerShell (via powershell)
Ver
IOCs (HashSha256) para detectar: Operation Dragon Weave : Descobrindo uma Campanha Ligada à China Alvejando República Tcheca e Taiwan Usando Azure Cloud C2
Ver
Detecção de Execução Maliciosa do wscript.exe e Uso de CreateFiberEx [Criação de Processo do Windows]
Ver
Execução do Profile.ps1 com Bypass do PowerShell [Windows PowerShell]
Ver
Arquivo LNK Malicioso e Carregamento Lateral de DLL para Execução RUSTCLOAK [Evento de Arquivo do Windows]
Ver
Execução de Simulação
Pré-requisito: O Pré-teste de Telemetria e Linha de Base deve ter passado.
Narrativa de Ataque e Comandos
- Entrega: O atacante envia um e-mail de phishing com um anexo nomeado
計畫申請審查結果通知單.pdf.lnk. A dupla extensão esconde a natureza do atalho. O LNK aponta paraC:Tempevil.vbs. - Execução (VBScript): Quando a vítima clica duas vezes no LNK,
wscript.exelançaevil.vbs. O script derrubaRuntimeBroker_update.exeto%APPDATA%MicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exee copia umUnityPlayer.dllmalicioso (contendo o carregador baseado em Rust) no mesmo diretório. - Carregamento Lateral de DLL: O atacante executa
RuntimeBroker_update.exe. Como o executável é assinado (ou imita um binário legítimo), o Windows carrega oUnityPlayer.dll, que executa a carga incorporada em Rust (RUSTCLOAK) e estabelece um canal de C2 para o Azure. - Pós-execução: A carga realiza a descoberta do sistema (T1016, T1082) e inicia a exfiltração (T1041) sobre um canal criptografado (T1573).
Script de Teste de Regressão
<#
Script de simulação para a detecção de LNK malicioso + carregamento lateral de DLL.
Pré-requisitos:
- Sysmon com ProcessCreate (ID 1) e ImageLoad (ID 7) habilitados.
- Permissão de gravação para $env:APPDATAMicrosoftWindowsStart MenuPrograms
#>
# 1. Preparar o 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. Implantar uma UnityPlayer.dll falsa (marcador binário)
$dllPath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsUnityPlayer.dll"
# Para demo, basta copiar qualquer DLL existente (por exemplo, version.dll) e renomeá-la
Copy-Item "$env:SystemRootSystem32version.dll" $dllPath -Force
# 3. Implantar o executável auxiliar (uma cópia de um binário legítimo para realismo)
$exePath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe"
Copy-Item "$env:SystemRootSystem32RuntimeBroker.exe" $exePath -Force
# 4. Criar o LNK malicioso com dupla extensão
$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 criado em $lnkPath"
Write-Host "Executando o LNK para acionar a cadeia..."
Start-Process -FilePath $lnkPath -Wait
Comandos de Limpeza
# Remover artefatos
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 "Limpeza concluída."