Dentro da Evolução das Técnicas do TAG-150 com DinDoor, DenoRAT e NightshadeC2
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O TAG-150 está usando uma cadeia de intrusão sofisticada em várias etapas, construída em torno de malware baseado em Deno. A campanha baseia-se em engenharia social no estilo ClickFix para acionar a execução de um instalador MSI, que então implanta DinDoor, DenoRAT, e por fim NightshadeC2. Ao utilizar o runtime Deno, os atacantes ganham acesso remoto avançado e capacidades de roubo de informações.
Investigação
A Unidade de Resposta a Ameaças da eSentire interrompeu um comando no estilo ClickFix dentro do ambiente de um cliente do setor financeiro. A investigação revelou uma sequência de infecção que começou com um comando de prompt de execução do Windows, seguido por uma etapa de PowerShell gerada por IA, Griffin20.ps1, usado para instalar o runtime Deno. As etapas posteriores envolveram DinDoor, DenoRAT, e um carregador em memória baseado em Python que entregou o RAT NightshadeC2.
Mitigação
As organizações devem considerar desativar o prompt de execução do Windows através de Objetos de Política de Grupo onde operacionalmente viável. Implementar um programa forte de treinamento em conscientização sobre phishing e segurança também é recomendado para reduzir o sucesso de iscas no estilo ClickFix. É essencial implantar soluções de antivírus de próxima geração ou de detecção e resposta em endpoints para visibilidade, detecção e contenção.
Resposta
Se esta atividade for detectada, o host afetado deve ser isolado imediatamente para conter a cadeia de infecção. As organizações devem engajar um fornecedor de detecção e resposta gerenciada 24/7 ou uma equipe equivalente de resposta a incidentes para apoiar a contenção rápida e a remediação completa. Também é aconselhável monitorar continuamente os componentes de malware baseados em Deno identificados.
Fluxo de Ataque
Detecções
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via registry_event)
Proof of Value
Execução de Python a partir de Pastas Suspeitas (via cmdline)
Proof of Value
Download ou Upload via Powershell (via cmdline)
Proof of Value
Tentativa Possível de Abuso do Runtime Deno (via process_creation)
Proof of Value
LOLBAS Conhost (via cmdline)
Proof of Value
Chamar Métodos .NET Suspeitos do Powershell (via powershell)
Proof of Value
Download de Executável Suspeito (via proxy)
Proof of Value
IOCs (HashSha256) para detectar: DinDoor, DenoRAT, e NightshadeC2: Analisando a Evolução do Comércio de TAG-150
Proof of Value
Detectar Requisições GET para Endpoints de Usuário e Evento de Mensagem Associados ao DenoRAT [Conexão de Rede Windows]
Proof of Value
Execução de Simulação
Pré-requisito: O Check Básico de Pré-voo de Telemetria deve ter sido aprovado.
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 levarão a um diagnóstico incorreto.
-
Narrativa do Ataque & Comandos: O adversário estabeleceu com sucesso uma base em um host Windows e está tentando ativar seu beacon DenoRAT. Para evadir do EDR tradicional baseado em assinatura, o malware usa padrões de rede “Living-off-the-Land”, comunicando-se via HTTP/S padrão. O malware tentará fazer check-in com o servidor C2 enviando requisições GET para os endpoints específicos
/userand/message-event. Esta simulação imita o comportamento de beaconing para verificar se a lógica de detecção do SOC é acionada quando essas strings específicas aparecem nos logs de acesso web. -
Script de Teste de Regressão:
# Script de Simulação de Beacon C2 do DenoRAT # Este script simula as requisições GET HTTP específicas usadas pelo DenoRAT para acionar a regra de detecção. $C2_URL = "http://localhost" # Substitua pelo endereço do seu servidor web de testes local $Endpoints = @("/user", "/message-event") Write-Host "[+] Iniciando Simulação de C2 do DenoRAT..." -ForegroundColor Cyan foreach ($Endpoint in $Endpoints) { $Target = $C2_URL + $Endpoint Write-Host "[*] Simulando Check-in de C2 para: $Target" -ForegroundColor Yellow try { # Executando a requisição GET $Response = Invoke-WebRequest -Uri $Target -Method Get -ErrorAction SilentlyContinue Write-Host "[+] Request Enviada. Código de Status: $($Response.StatusCode)" -ForegroundColor Green } catch { # Esperamos um 404 se os endpoints não existirem de fato, o que é normal para testar telemetria Write-Host "[!] Request Enviada (Erro 404/Conexão Esperado): $_" -ForegroundColor Gray } Start-Sleep -Seconds 2 } Write-Host "[+] Simulação Completa." -ForegroundColor Cyan -
Comandos de Limpeza:
# Nenhuma alteração persistente é feita pelo script de simulação. # Para limpar os logs do servidor web, se necessário (Cuidado: Isso apaga os logs!): # Remove-Item -Path "C:inetpublogsLogFilesW3SVC1*.log" -Force Write-Host "[+] Limpeza: Nenhum artefato persistente foi criado." -ForegroundColor Green