Evolução das Ferramentas UAC-0226 de WinRAR ADS para Carregamento Reflexivo de GIFTEDCROOK
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O ator de ameaça UAC-0226 aprimorou sua cadeia de entrega abusando de uma falha de travessia de caminho no WinRAR junto com NTFS Alternate Data Streams para estabelecer persistência silenciosa. A campanha depende de um carregador PowerShell multiestágio para implantar uma carga útil PE reflexiva sem cabeçalho conhecida como GIFTEDCROOK. O malware é projetado para coletar credenciais de navegador, dados de configuração de VPN e documentos sensíveis de sistemas comprometidos.
Investigação
A análise desconstrói um fluxo de execução complexo construído em torno de um arquivo WinRAR armado, um PDF de isca e um arquivo LNK oculto colocado na pasta de Inicialização do Windows. Pesquisadores identificaram uma rotina de decodificação aditiva personalizada e um carregador reflexivo avançado que mapeia uma DLL diretamente na memória. A telemetria também mostrou o carregador relatando o status de execução para seu servidor de comando e controle através de uma estrutura personalizada de 16 bytes.
Mitigação
As organizações devem priorizar a atualização do WinRAR para resolver fraquezas de travessia de caminho. A implementação de políticas de execução estritas do PowerShell e o monitoramento de atividades incomuns de NTFS Alternate Data Stream podem ajudar a interromper as fases iniciais de comprometimento. As equipes de segurança também devem observar arquivos não autorizados deixados em pastas de Inicialização e comportamento suspeito de alocação de memória como NtAllocateVirtualMemory.
Resposta
Se essa atividade for detectada, isole os hosts afetados imediatamente para evitar mais exfiltração de dados. Inspecione o C:ProgramData diretório em busca de arquivos suspeitos sem extensão e revise a pasta de Inicialização do usuário em busca de atalhos LNK não autorizados. Uma análise forense de memória deve ser realizada para identificar DLLs reflexivas e os logs da rede devem ser verificados para comunicação com a infraestrutura de comando e controle identificada.
Fluxo de Ataque
Detecções
Possível Comportamento de Execução Atrasada (via linha de comando)
Possível Autoremoção de Malware ou Operação de Ocultação de Stderr (via linha de comando)
A Possibilidade de Execução Através de Linhas de Comando PowerShell Ocultas (via linha de comando)
Lançamento de Prompt de Comando Minimizado Iniciando Processo PowerShell Oculto [Criação de Processo do Windows]
Detectar Execução de PowerShell para Campanha UAC-0226 [Windows PowerShell]
Execução de Simulação
Pré-requisito: A Verificação de Pré-voo de Telemetria & Básica deve ter sido aprovada.
Justificativa: 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 podem levar a diagnósticos incorretos.
-
Narrativa & Comandos de Ataque: O adversário visa implantar uma carga útil de ladrão. Para minimizar a pegada e evitar a interação com o usuário, eles estagiam uma carga útil em
C:ProgramDataWC3. Em seguida, invocam o PowerShell com um conjunto de flags “living-off-the-land” projetadas para contornar políticas de execução e esconder a janela do usuário. O comando usaráiex(Invoke-Expression) para executar um comando que referencia o arquivo estagiado, simulando o comportamento de carregamento reflexivo da campanha UAC-0226. -
Script de Teste de Regressão:
# 1. Configuração: Crie o diretório específico usado na regra de detecção $targetDir = "C:ProgramDataWC3" if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force } # 2. Crie um arquivo de carga útil fictícia para satisfazer o requisito de caminho $dummyFile = "$targetDirpayload.ps1" "Write-Output 'Simulated Malicious Payload'" | Out-File -FilePath $dummyFile -Encoding ascii # 3. Execute a cadeia de comandos maliciosos (Isso deve acionar a regra) # Usamos Start-Process para garantir que a linha de comando seja capturada como um novo processo Start-Process powershell.exe -ArgumentList "-NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command ""iex (Get-Content $dummyFile)""" -WindowStyle Hidden Write-Host "[+] Comando de simulação executado. Verifique seu SIEM para o alerta." -
Comandos de Limpeza:
# Remova o diretório e arquivos fictícios criados durante a simulação Remove-Item -Path "C:ProgramDataWC3" -Recurse -Force -ErrorAction SilentlyContinue Write-Host "[+] Limpeza concluída."