Silver Fox Envolve ValleyRAT em ZPAQ e um Binário ByteDance: Um Isco de Pacote de Idioma Chinês do Telegram MSI
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Um instalador MSI malicioso disfarçado como um pacote de idioma chinês do Telegram entrega uma cadeia de infecção em camadas envolvendo ValleyRAT, um rootkit de kernel baseado em BYOVD, e um executável ByteDance assinado abusado para carregamento lateral de DLL. O instalador também faz mau uso do utilitário de arquivamento legítimo zpaqfranz como um binário de sobrevivência e implanta o driver vulnerável wnBios para acessar a memória física. Pesquisadores ligaram a infraestrutura por trás da operação à CTG Server Ltd em Hong Kong e atribuíram a atividade ao grupo APT Silver Fox. A campanha parece visar usuários que falam chinês em vários países da região Ásia-Pacífico.
Investigação
Pesquisadores reconstruíram todo o fluxo de ataque, começando com a ação personalizada do MSI e continuando pela extração de arquivos ZPAQ, o uso seletivo do binário ByteDance SodaMusicLauncher para carregamento lateral de DLL e a implantação do driver de kernel wnBios. A análise dos dados de configuração embutidos expôs identificadores de operadores e detalhes de comando e controle. A infraestrutura de suporte foi ligada a uma hospedagem à prova de balas anteriormente associada ao Silver Fox. Investigadores também descobriram técnicas de persistência e lógica de evasão consciente de antivírus usadas ao longo da cadeia de intrusão.
Mitigação
Impedir a execução do binário zpaqfranz fora de ambientes aprovados de backup ou desenvolvimento e monitorar de perto as instalações de MSI que dependem de ações personalizadas em VBScript. Limitar a criação do AppShellElevationService e detectar DLLs não assinadas colocadas ao lado de binários assinados confiáveis. Bloquear a comunicação de saída para a faixa de rede /21 identificada operada pela CTG Server Ltd e negar tráfego sobre a porta C2 personalizada 5040. Reforçar as proteções baseadas em host contra os nomes de arquivos e nomes de processos maliciosos observados nesta campanha.
Resposta
Implantar detecções para os arquivos identificados, processos gerados e eventos suspeitos de criação de serviço. Conduzir buscas pelo driver de kernel vulnerável e pela lógica de descriptografia baseada em XOR distintiva do malware. Isolar sistemas potencialmente afetados, coletar imagens de memória para uma investigação mais profunda do rootkit e redefinir quaisquer credenciais expostas durante a violação. As equipes de inteligência de ameaças devem continuar rastreando a infraestrutura da CTG Server para atividades subsequentes relacionadas.
graph TB classDef technique fill:#ffcc99 classDef tool fill:#c2e0ff classDef malware fill:#ffd9b3 classDef process fill:#d9ffcc initial_access[“<b>Técnica</b> – <b>T1204.004 Execução pelo utilizador: Copiar e colar malicioso</b><br/>A vítima executa um MSI disfarçado de pacote de idioma chinês do Telegram.”] class initial_access technique system_binary_proxy[“<b>Técnica</b> – <b>T1218.007 Execução proxy de binários do sistema: Msiexec</b><br/>MSI invoca ação personalizada via msiexec.”] class system_binary_proxy technique vbscript_interpreter[“<b>Técnica</b> – <b>T1059.005 Interpretador de scripts: Visual Basic</b><br/>VBScript executa ação maliciosa.”] class vbscript_interpreter technique obfuscation[“<b>Técnica</b> – <b>T1027 Ficheiros ou informação ofuscada</b><br/>Payloads comprimidos e cifrados com XOR.”] class obfuscation technique lolbin_zpaqfranz[“<b>Ferramenta</b> – <b>Nome</b>: zpaqfranz.exe (LOLBin)<br/>Utilitário legítimo usado para descompressão de arquivos ZPAQ.”] class lolbin_zpaqfranz tool powershell_xor[“<b>Técnica</b> – <b>T1059.001 PowerShell</b><br/>Descodificação XOR de payloads.”] class powershell_xor technique dll_sideloading[“<b>Técnica</b> – DLL sideloading<br/>DLL maliciosa colocada junto ao executável assinado SodaMusicLauncher.exe.”] class dll_sideloading technique signed_launcher[“<b>Processo</b> – SodaMusicLauncher.exe<br/><b>Editor</b>: ByteDance”] class signed_launcher process windows_service[“<b>Técnica</b> – Serviço Windows para persistência”] class windows_service technique priv_esc_driver[“<b>Técnica</b> – Exploração para escalada de privilégios (BYOVD)”] class priv_esc_driver technique rootkit_bootkit[“<b>Técnica</b> – Rootkit e Bootkit”] class rootkit_bootkit technique scheduled_task[“<b>Técnica</b> – Tarefa agendada para persistência”] class scheduled_task technique c2_valleyrat[“<b>Malware</b> – ValleyRAT”] class c2_valleyrat malware c2_nonstandard_port[“<b>Técnica</b> – Porta não padrão 5040”] class c2_nonstandard_port technique c2_nonapp_protocol[“<b>Técnica</b> – Protocolo NetBIOS 139”] class c2_nonapp_protocol technique c2_dynamic_resolution[“<b>Técnica</b> – Resolução dinâmica C2”] class c2_dynamic_resolution technique initial_access –> system_binary_proxy system_binary_proxy –> vbscript_interpreter vbscript_interpreter –> obfuscation obfuscation –> lolbin_zpaqfranz obfuscation –> powershell_xor powershell_xor –> dll_sideloading dll_sideloading –> signed_launcher signed_launcher –> windows_service windows_service –> priv_esc_driver priv_esc_driver –> rootkit_bootkit rootkit_bootkit –> scheduled_task scheduled_task –> c2_valleyrat c2_valleyrat –> c2_nonstandard_port c2_valleyrat –> c2_nonapp_protocol c2_valleyrat –> c2_dynamic_resolution
Attack Flow
Detections
Possible Powershell Obfuscation Indicators (via powershell)
View
Call Suspicious .NET Classes/Methods from Powershell CommandLine (via process_creation)
View
Suspicious Command and Control by Unusual Top Level Domain (TLD) DNS Request (via dns)
View
Possible IP Lookup Domain Communications Attempted (via dns)
View
Call Suspicious .NET Methods from Powershell (via powershell)
View
IOCs (HashSha256) to detect: Silver Fox Wraps ValleyRAT in ZPAQ and a ByteDance Binary: A Telegram Chinese Language Pack MSI Lure
View
IOCs (HashMd5) to detect: Silver Fox Wraps ValleyRAT in ZPAQ and a ByteDance Binary: A Telegram Chinese Language Pack MSI Lure
View
IOCs (DestinationIP) to detect: Silver Fox Wraps ValleyRAT in ZPAQ and a ByteDance Binary: A Telegram Chinese Language Pack MSI Lure
View
IOCs (SourceIP) to detect: Silver Fox Wraps ValleyRAT in ZPAQ and a ByteDance Binary: A Telegram Chinese Language Pack MSI Lure
View
Detect Kernel Driver Load Events with wnBios for Physical Memory Access [Windows Image Load]
View
Detect Execution of Malicious Binaries Used by Silver Fox APT [Windows Process Creation]
View
ValleyRAT C2 Communication on Port 5040 [Windows Network Connection]
View
Simulation Execution
Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.
Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic.
-
Attack Narrative & Commands:
The threat actor receives a spear‑phishing link (T1566.002) that drops
zpaqfranz.exeonto the victim workstation. The binary is a legitimate‑looking compression tool repurposed as a LOLBin (T1036). The attacker then launches it via PowerShell (T1059.001) with a hidden command line that instructs the tool to decompress a packed ValleyRAT payload (T1027) and execute it. The process runs under the current user context, generating a Windows process‑creation event that matches the rule’sImage|endswith 'zpaqfranz.exe'condition.Step‑by‑step:
- Stage the malicious binary in
%TEMP%. - Execute the binary with PowerShell, passing a dummy argument (
-extract) to mimic the real payload. - Maintain the process for a short period, then exit.
- Stage the malicious binary in
-
Regression Test Script:
# Silver Fox LOLBin Execution Simulation $tempPath = "$env:TEMPzpaqfranz.exe" # 1. Copy a benign executable to masquerade as the malicious LOLBin # (In a real test you would drop the actual malicious binary.) Copy-Item -Path "$env:SystemRootSystem32calc.exe" -Destination $tempPath -Force # 2. Execute the LOLBin via PowerShell (simulating T1059.001) $args = "-extract C:Temppayload.bin" Write-Host "Launching $tempPath $args" Start-Process -FilePath $tempPath -ArgumentList $args -NoNewWindow # 3. Wait a few seconds to ensure the event is logged Start-Sleep -Seconds 5 # 4. Optional: simulate cleanup (delete the dropped binary) Remove-Item -Path $tempPath -Force -
Cleanup Commands:
# Remove any residual artefacts from the simulation $tempPath = "$env:TEMPzpaqfranz.exe" if (Test-Path $tempPath) { Remove-Item $tempPath -Force } # Terminate stray calc.exe processes that may have been launched inadvertently Get-Process -Name "calc" -ErrorAction SilentlyContinue | Stop-Process -Force