Campanha SmartApeSG promove Remcos RAT, NetSupport RAT, StealC e Sectop RAT (ArechClient2)
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
A campanha SmartApeSG depende de uma página CAPTCHA falsa combinada com um script ClickFix para distribuir várias ameaças de acesso remoto, incluindo Remcos RAT, NetSupport RAT, StealC e Sectop RAT. O comprometimento inicial desencadeia uma cadeia de infecção em estágios, na qual cada payload se conecta ao seu próprio servidor de comando e controle. A entrega ocorre por meio de arquivos em formato de arquivamento que abusam do carregamento lateral de DLL para lançar o malware. O relatório também inclui indicadores de apoio, como domínios, endereços IP, caminhos de arquivos e hashes de arquivos.
Investigação
O analista registrou o tráfego do script ClickFix pela primeira vez às 17h11 UTC, com as comunicações do Remcos RAT iniciando um minuto depois, às 17h12 UTC. O tráfego do NetSupport RAT apareceu quatro minutos depois, o StealC foi observado aproximadamente uma hora depois, e o Sectop RAT surgiu cerca de uma hora e dezoito minutos após o StealC. Os investigadores recuperaram artefatos de arquivos de diretórios de usuários e do sistema e os mapearam de volta aos arquivos maliciosos específicos usados na cadeia.
Mitigação
Os defensores devem bloquear os domínios e endereços IP maliciosos conhecidos, enquanto observam a execução de arquivos HTA e extração suspeita de arquivos em caminhos de perfil de usuário. Proteções de navegador e e-mail devem ser fortalecidas para reduzir a exposição a click-jacking e entrega de CAPTCHA falso. As regras de detecção de endpoint também devem ser ajustadas para identificar comportamentos de carregamento lateral de DLL e processos RAT inesperados.
Resposta
Se algum dos indicadores listados for encontrado, isole o host impactado, interrompa os processos maliciosos e colete imagens de memória e disco para análise forense. Conduza uma varredura ampla de IOCs em todo o ambiente, atualize os controles de firewall para bloquear os endpoints C2 identificados e redefina qualquer credencial potencialmente comprometida.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc %% Nodes victim_visits["<b>Ação</b> – A vítima visita um site comprometido onde um CAPTCHA falso injeta script malicioso"] class victim_visits action tech_user_exec_link["<b>Técnica</b> – T1204.001 Execução de Usuário: Link Malicioso<br/><b>Descrição</b>: A vítima interage com um link malicioso que leva à execução de código"] class tech_user_exec_link technique tech_user_exec_copy["<b>Técnica</b> – T1204.004 Execução de Usuário: Cópia e Colagem Maliciosa<br/><b>Descrição</b>: Código malicioso é copiado para a área de transferência e colado para execução"] class tech_user_exec_copy technique clickfix_script["<b>Ferramenta</b> – Nome: Script ClickFix (malicioso)"] class clickfix_script malware hta_creation["<b>Ação</b> – Arquivo HTA malicioso escrito em %AppData%post.hta"] class hta_creation action tech_mshta["<b>Técnica</b> – T1218.005 Execução de Proxy de Binário de Sistema: Mshta<br/><b>Descrição</b>: Mshta é usado para executar arquivos HTA"] class tech_mshta technique tech_user_exec_file["<b>Técnica</b> – T1204.002 Execução de Usuário: Arquivo Malicioso<br/><b>Descrição</b>: A vítima executa um arquivo malicioso"] class tech_user_exec_file technique hta_execution["<b>Processo</b> – mshta.exe executa post.hta"] class hta_execution process download_payload["<b>Ação</b> – HTA baixa cargas compactadas (ZIP ou RAR) de servidor remoto"] class download_payload action tech_web_protocol["<b>Técnica</b> – T1071.001 Protocolo de Camada de Aplicação: Protocolos Web<br/><b>Descrição</b>: Uso de HTTP/HTTPS para transferência de dados"] class tech_web_protocol technique malware_remcos["<b>Malware</b> – Remcos RAT"] class malware_remcos malware malware_netsupport["<b>Malware</b> – NetSupport RAT"] class malware_netsupport malware malware_stealc["<b>Malware</b> – StealC"] class malware_stealc malware malware_sectop["<b>Malware</b> – Sectop RAT"] class malware_sectop malware tech_dll_sideloading["<b>Técnica</b> – T1574.001 Seqüestro de Fluxo de Execução: Carregamento Lateral de DLL<br/><b>Descrição</b>: DLLs maliciosas são carregadas em executáveis legítimos"] class tech_dll_sideloading technique c2_bidirectional["<b>Técnica</b> – T1102.002 Serviço Web: Comunicação Bidirecional<br/><b>Descrição</b>: RAT comunica-se com C2 usando serviços web bidirecionais"] class c2_bidirectional technique c2_oneway["<b>Técnica</b> – T1102.003 Serviço Web: Comunicação Unidirecional<br/><b>Descrição</b>: RAT envia dados para C2 via serviços web unidirecionais"] class c2_oneway technique cleanup_files["<b>Ação</b> – Excluir arquivos HTA e temporários após execução"] class cleanup_files action tech_file_deletion["<b>Técnica</b> – T1070.004 Remoção de Indicadores: Exclusão de Arquivos<br/><b>Descrição</b>: Arquivos são removidos para eliminar evidências"] class tech_file_deletion technique cleanup_persistence["<b>Ação</b> – Limpar artefatos de persistência como registro ou tarefas agendadas"] class cleanup_persistence action tech_clear_persistence["<b>Técnica</b> – T1070.009 Remoção de Indicadores: Limpar Persistência<br/><b>Descrição</b>: Mecanismos de persistência são removidos"] class tech_clear_persistence technique %% Connections victim_visits –>|desencadeia| tech_user_exec_link victim_visits –>|desencadeia| tech_user_exec_copy tech_user_exec_link –>|entrega| clickfix_script tech_user_exec_copy –>|entrega| clickfix_script clickfix_script –>|escreve| hta_creation hta_creation –>|usa| tech_mshta hta_creation –>|usa| tech_user_exec_file tech_mshta –>|executa| hta_execution tech_user_exec_file –>|executa| hta_execution hta_execution –>|baixa| download_payload download_payload –>|usa| tech_web_protocol download_payload –>|entrega| malware_remcos download_payload –>|entrega| malware_netsupport download_payload –>|entrega| malware_stealc download_payload –>|entrega| malware_sectop malware_remcos –>|emprega| tech_dll_sideloading malware_netsupport –>|emprega| tech_dll_sideloading malware_stealc –>|emprega| tech_dll_sideloading malware_sectop –>|emprega| tech_dll_sideloading malware_remcos –>|comunica-se via| c2_bidirectional malware_netsupport –>|comunica-se via| c2_oneway malware_stealc –>|comunica-se via| c2_oneway malware_sectop –>|comunica-se via| c2_bidirectional hta_execution –>|desencadeia| cleanup_files cleanup_files –>|usa| tech_file_deletion cleanup_files –>|também desencadeia| cleanup_persistence cleanup_persistence –>|usa| tech_clear_persistence "
Fluxo de Ataque
Detecções
Arquivos Suspeitos no Perfil Público do Usuário (via file_event)
Visualizar
Uso Explícito de COMSPEC no Caminho de Imagem (via sistema)
Visualizar
Uso Explícito de COMSPEC no Caminho do Arquivo de Serviço (via auditoria)
Visualizar
Uso Explícito de COMSPEC Suspeito (via process_creation)
Visualizar
Comando e Controle Suspeito por Solicitação de DNS de Domínio de Nível Superior (TLD) Incomum (via dns)
Visualizar
Variáveis de Ambiente em Argumentos de Linha de Comando (via cmdline)
Visualizar
IOCs (DestinationIP) para detectar: Campanha SmartApeSG distribui Remcos RAT, NetSupport RAT, StealC, e Sectop RAT (ArechClient2)
Visualizar
IOCs (HashSha256) para detectar: Campanha SmartApeSG distribui Remcos RAT, NetSupport RAT, StealC, e Sectop RAT (ArechClient2)
Visualizar
IOCs (SourceIP) para detectar: Campanha SmartApeSG distribui Remcos RAT, NetSupport RAT, StealC, e Sectop RAT (ArechClient2)
Visualizar
Detecção de Tráfego do Servidor C2 da Campanha SmartApeSG [Conexão de Rede do Windows]
Visualizar
Execução de Simulação
Pré-requisito: Verificação Preliminar de Telemetria e Base deve ter sido aprovada.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para ativar 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 & Comandos de Ataque
O adversário, tendo ganho acesso à estação de trabalho da vítima, lança o componente Remcos RAT da campanha SmartApeSG. O RAT é configurado para usar 95.142.45.231:443 como seu endpoint C2 primário. Ele primeiro resolve o domínio embutido fresicrto.top (reserva) e então abre um túnel HTTPS persistente para o endereço IP. O tráfego é gerado por remcos.exe via API WinHTTP do Windows, que gera um evento Sysmon NetworkConnect e uma entrada de log do Firewall do Windows.
Passos:
- Solte o binário RAT (
remcos.exe) em%TEMP%. - Execute o binário com o argumento C2
-c 95.142.45.231:443. - Verifique a conexão de saída (via
netstat).
Estas ações mapeiam para T1102 (Serviço Web) para comunicação C2 e T1584.001 (Aquisição de domínio) como o domínio faz parte do payload.
Script de Teste de Regressão
# --------------------------------------------------------------
# Simulação de C2 do SmartApeSG – aciona regra de detecção
# --------------------------------------------------------------
# 1. Escreva um stub minimalista semelhante ao Remcos (para demonstração, use PowerShell para abrir TCP)
$c2Ip = "95.142.45.231"
$c2Port = 443
$payloadFile = "$env:TEMPremcos_stub.exe"
# Crie um executável .NET simples que abre uma conexão TCP (simula RAT)
Add-Type -TypeDefinition @"
using System;
using System.Net.Sockets;
public class Stub {
public static void Main(string[] args) {
try {
var client = new TcpClient();
client.Connect("$c2Ip", $c2Port);
System.Threading.Thread.Sleep(5000); // mantém a conexão
client.Close();
} catch (Exception ex) {
Console.Error.WriteLine(ex.Message);
}
}
}
"@ -OutputAssembly $payloadFile -CompilerOptions "/target:exe"
# 2. Execute o stub (isso gera a conexão de rede)
Start-Process -FilePath $payloadFile -WindowStyle Hidden
# 3. Opcional: Resolva o domínio reserva para comprovar atividade de DNS
Resolve-DnsName -Name "fresicrto.top" -Type A | Out-Null
# 4. Pause para observação
Start-Sleep -Seconds 10
# 5. Limpeza – mate o stub se ainda estiver em execução
Get-Process -Name "remcos_stub" -ErrorAction SilentlyContinue | Stop-Process -Force
Remove-Item -Path $payloadFile -Force
Comandos de Limpeza
# Termine quaisquer conexões restantes do stub
Get-NetTCPConnection -RemotePort 443 -RemoteAddress 95.142.45.231 -State Established |
ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
# Remova arquivos temporários (já feito no script, mas garanta estado limpo)
Remove-Item -Path "$env:TEMPremcos_stub.exe" -ErrorAction SilentlyContinue