SOC Prime Bias: Crítico

30 Dez 2025 16:52

Raposa Prateada Mira Índia com Iscas de Phishing Temáticas de Impostos

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Raposa Prateada Mira Índia com Iscas de Phishing Temáticas de Impostos
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Um grupo APT chinês chamado Silver Fox conduz uma campanha de phishing com tema fiscal contra entidades indianas. O e-mail inicial contém um PDF que direciona as vítimas para um domínio malicioso e aciona o download de um arquivo ZIP. O ZIP contém um instalador NSIS que solta Thunder.exe e um libexpat.dll malicioso que executa sequestro de DLL, verifica anti-análise e carrega shellcode criptografado. A carga final é um Valley RAT que recebe configuração de uma infraestrutura multi-nível de C2.

Investigação

O relatório detalha quatro estágios: (1) entrega de um ZIP via um PDF atrativo, (2) execução de um instalador NSIS que solta Thunder.exe e libexpat.dll, (3) um carregador de shellcode gerado por Donut que injeta em explorer.exe, e (4) implantação de Valley RAT com persistência baseada em registro e plugins modulares. A análise inclui exame estático e dinâmico dos binários, enumeração de domínios C2, e mapeamento para técnicas ATT&CK.

Mitigação

Os defensores devem monitorar binários assinados carregando DLLs não assinadas de locais temporários, gravações de registro sob HKCUConsole e a criação anormal de memória PAGE_EXECUTE_READWRITE em explorer.exe. Bloquear domínios e IPs C2 conhecidos e detectar comportamento de fallback multi-nível reduzirá a exposição. Implementar controle de aplicação rigoroso e detecção de evasão de sandbox para impedir o instalador NSIS inicial.

Resposta

Quando um indicador é observado, isolar o host afetado, coletar memória volátil para análise de injeção de processo e buscar chaves de registro e plugins do Valley RAT. Bloquear toda a infraestrutura C2 identificada e redefinir credenciais comprometidas. Conduzir uma revisão forense completa para identificar quaisquer plugins adicionais ou ferramentas de movimento lateral.

graph TB %% Definições de classes classDef technique fill:#ddeeff classDef file fill:#ffddaa classDef process fill:#ffccbb classDef action fill:#cce5ff %% Nós – Técnicas initial_phishing[“<b>Acesso Inicial – T1566.001</b><br/>Anexo de Spearphishing<br/>A vítima abre um PDF malicioso de imposto de renda que redireciona para ggwk.cc e aciona o download de um arquivo ZIP”] class initial_phishing technique user_execution[“<b>Execução do Usuário – T1204.002</b><br/>Arquivo Malicioso<br/>O usuário executa o ZIP baixado contendo um instalador NSIS”] class user_execution technique cmd_scripting[“<b>Execução – T1059</b><br/>Interpretador de Comandos e Scripts<br/>O script NSIS controla o fluxo de instalação”] class cmd_scripting technique native_api_1[“<b>Execução – T1106</b><br/>API Nativa<br/>O instalador chama GetTempPathA, cria um diretório temporário e grava arquivos”] class native_api_1 technique shared_modules[“<b>Execução – T1129</b><br/>Módulos Compartilhados<br/>O instalador deposita Thunder.exe (assinado) e a DLL maliciosa libexpat.dll”] class shared_modules technique dll_hijack[“<b>Evasão de Defesa – T1574.001</b><br/>Sequestro da Ordem de Busca de DLL<br/>libexpat.dll é colocada ao lado de Thunder.exe para ser carregada primeiro”] class dll_hijack technique proxy_execution[“<b>Evasão de Defesa – T1218</b><br/>Execução por Binário do Sistema<br/>Thunder.exe é usado como proxy para executar a DLL maliciosa”] class proxy_execution technique trusted_proxy[“<b>Evasão de Defesa – T1127</b><br/>Execução Proxy com Utilitários Confiáveis<br/>Thunder.exe assinado mascara a atividade maliciosa”] class trusted_proxy technique dll_injection[“<b>Execução – T1055.001</b><br/>Injeção de DLL<br/>libexpat.dll executa verificações anti‑análise e desativa o serviço Windows Update”] class dll_injection technique service_execution[“<b>Execução – T1569.002</b><br/>Execução de Serviço<br/>Interrompe o serviço wuauserv para reduzir a visibilidade”] class service_execution technique sandbox_evasion[“<b>Evasão de Defesa – T1497</b><br/>Evasão de Virtualização / Sandbox<br/>Lógica anti‑debug e anti‑sandbox encerra a execução em ambientes de análise”] class sandbox_evasion technique native_api_2[“<b>Execução – T1106</b><br/>API Nativa<br/>Usa VirtualAllocEx e WriteProcessMemory para injetar shellcode no explorer.exe”] class native_api_2 technique process_hollowing[“<b>Evasão de Defesa – T1055.012</b><br/>Process Hollowing<br/>Explorer.exe é iniciado em estado suspenso e o payload é injetado nele”] class process_hollowing technique reflective_loading[“<b>Execução – T1620</b><br/>Carregamento de Código Reflexivo<br/>O loader gerado pelo Donut executa o payload inteiramente na memória”] class reflective_loading technique registry_persistence[“<b>Persistência – T1547.001</b><br/>Chaves Run do Registro / Pasta de Inicialização<br/>Valley RAT armazena módulos em HKCU\\Console\\* como valores REG_BINARY”] class registry_persistence technique modify_registry[“<b>Persistência – T1112</b><br/>Modificar Registro<br/>Parâmetros de configuração (C2, flags de recursos) são gravados no registro”] class modify_registry technique c2_web[“<b>Comando e Controle – T1071.001</b><br/>Protocolos Web<br/>Comunicação C2 primária via HTTP/HTTPS”] class c2_web technique c2_raw_tcp[“<b>Comando e Controle – T1095</b><br/>Protocolo Fora da Camada de Aplicação<br/>Suporta TCP bruto como fallback quando HTTP falha”] class c2_raw_tcp technique encrypted_channel[“<b>Comando e Controle – T1573</b><br/>Canal Criptografado<br/>Todo o tráfego C2 e cargas de configuração são criptografados”] class encrypted_channel technique fallback_channels[“<b>Comando e Controle – T1008</b><br/>Canais de Fallback<br/>Hierarquia C2 em três níveis com failover automático”] class fallback_channels technique keylogging[“<b>Coleta – T1056.001</b><br/>Captura de Entrada: Keylogging<br/>Capacidade de keylogger habilitada por flag de configuração”] class keylogging technique obfuscation[“<b>Evasão de Defesa – T1027</b><br/>Arquivos ou Informações Ofuscadas<br/>Payload armazenado criptografado em box.ini e descriptografado em tempo de execução”] class obfuscation technique code_signing[“<b>Evasão de Defesa – T1553.002</b><br/>Subverter Controles de Confiança: Assinatura de Código<br/>Thunder.exe legitimamente assinado mascara a atividade maliciosa”] class code_signing technique appcert_dll[“<b>Evasão de Defesa – T1546.009</b><br/>Execução Acionada por Evento: DLL AppCert<br/>libexpat.dll maliciosa explora sequestro de DLL para execução”] class appcert_dll technique %% Nós – Arquivos / Processos file_zip[“<b>Arquivo</b><br/>ZIP malicioso contendo o instalador NSIS”] class file_zip file nsis_installer[“<b>Arquivo</b><br/>Instalador NSIS executado pelo usuário”] class nsis_installer file thunder_exe[“<b>Arquivo</b><br/>Thunder.exe assinado usado como proxy”] class thunder_exe file libexpat_dll[“<b>Arquivo</b><br/>libexpat.dll maliciosa”] class libexpat_dll file box_ini[“<b>Arquivo</b><br/>Payload de configuração criptografado (box.ini)”] class box_ini file explorer_exe[“<b>Processo</b><br/>explorer.exe (alvo da injeção)”] class explorer_exe process donut_loader[“<b>Arquivo</b><br/>Loader reflexivo gerado pelo Donut”] class donut_loader file %% Conexões – Fluxo do Ataque initial_phishing –>|faz download| file_zip file_zip –>|contém| nsis_installer nsis_installer –>|executa| user_execution user_execution –>|aciona| cmd_scripting cmd_scripting –>|usa| native_api_1 native_api_1 –>|grava| shared_modules shared_modules –>|solta| thunder_exe shared_modules –>|solta| libexpat_dll thunder_exe –>|habilita| dll_hijack dll_hijack –>|facilita| proxy_execution proxy_execution –>|explora| trusted_proxy trusted_proxy –>|carrega| dll_injection dll_injection –>|desativa| service_execution service_execution –>|reduz a visibilidade| sandbox_evasion sandbox_evasion –>|continua| native_api_2 native_api_2 –>|injeta em| explorer_exe explorer_exe –>|é esvaziado por| process_hollowing process_hollowing –>|executa| reflective_loading reflective_loading –>|usa| donut_loader donut_loader –>|estabelece| registry_persistence registry_persistence –>|armazena| modify_registry modify_registry –>|configura| c2_web c2_web –>|fallback para| c2_raw_tcp c2_raw_tcp –>|protegido por| encrypted_channel encrypted_channel –>|suporta| fallback_channels fallback_channels –>|entrega| keylogging keylogging –>|registra entradas| obfuscation obfuscation –>|protege| code_signing code_signing –>|mascara| appcert_dll appcert_dll –>|executa via| dll_hijack %% Estilos class initial_phishing,user_execution,cmd_scripting,native_api_1,shared_modules,dll_hijack,proxy_execution,trusted_proxy,dll_injection,service_execution,sandbox_evasion,native_api_2,process_hollowing,reflective_loading,registry_persistence,modify_registry,c2_web,c2_raw_tcp,encrypted_channel,fallback_channels,keylogging,obfuscation,code_signing,appcert_dll technique class file_zip,nsis_installer,thunder_exe,libexpat_dll,box_ini,donut_loader file class explorer_exe process

Fluxo de ataque

Execução de Simulação

Pré-requisito: O Cheque Pré-voo de Telemetria e Linha de Base deve ter passado.

Fundamento: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.

  • Narrativa e Comandos do Ataque:
    Um adversário entrega uma DLL maliciosa junto com um “Thunder.exe” solto para a %TEMP% diretório da vítima. Para evitar suspeitas do usuário, o payload é lançado através do já em execução explorer.exe processo usando o Windows ShellExecute API, o que resulta em um evento de criação de processo onde explorer.exe aparece como pai. O Thunder.exe malicioso subsequente carrega a DLL (sequestro de DLL) e injeta shellcode no explorer.exe processo (injeção de processo), alcançando execução de código com o token do usuário.

  • Script de Teste de Regressão:

    # -------------------------------------------------
    # Script de regressão para acionar a detecção Sigma
    # -------------------------------------------------
    # 1. Prepare um Thunder.exe falso (cópia do notepad.exe)
    $tempDir   = "$env:TEMP"
    $thunderPath = Join-Path -Path $tempDir -ChildPath "Thunder.exe"
    Copy-Item -Path "$env:SystemRootsystem32notepad.exe" -Destination $thunderPath -Force
    
    # 2. (Opcional) Solte uma DLL maliciosa ao lado para imitar sequestro
    $malDll = Join-Path -Path $tempDir -ChildPath "malicious.dll"
    # Para demonstração, apenas criamos um arquivo vazio; em um teste real, isso seria uma DLL criada.
    New-Item -Path $malDll -ItemType File -Force | Out-Null
    
    # 3. Inicie Thunder.exe via explorer.exe usando ShellExecute (simulado com Start-Process -Verb RunAs)
    $explorer = (Get-Process -Name explorer).Id
    # Use PowerShell para iniciar o processo com explorer como pai (requer API de baixo nível; aqui aproximamos)
    Start-Process -FilePath $thunderPath -ArgumentList "" -PassThru | Out-Null
    
    # 4. Aguarde um curto período para permitir que os logs sejam gerados
    Start-Sleep -Seconds 5
    
    # 5. Limpeza (gerenciada na próxima seção)
  • Comandos de Limpeza:

    # -------------------------------------------------
    # Limpeza após a simulação
    # -------------------------------------------------
    # Remova o fake Thunder.exe e DLL fictícia de %TEMP%
    Remove-Item -Path "$env:TEMPThunder.exe" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPmalicious.dll" -Force -ErrorAction SilentlyContinue
    
    # Opcionalmente, termine quaisquer processos Thunder.exe restantes
    Get-Process -Name "Thunder" -ErrorAction SilentlyContinue | Stop-Process -Force