SOC Prime Bias: Medio

27 Mar 2026 16:33

La campagna SmartApeSG distribuisce Remcos RAT, NetSupport RAT, StealC e Sectop RAT (ArechClient2)

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
La campagna SmartApeSG distribuisce Remcos RAT, NetSupport RAT, StealC e Sectop RAT (ArechClient2)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

La campagna SmartApeSG si basa su una pagina CAPTCHA falsa combinata con uno script ClickFix per distribuire diversi minacce di accesso remoto, tra cui Remcos RAT, NetSupport RAT, StealC e Sectop RAT. La compromissione iniziale dà il via a una catena di infezioni a stadi in cui ogni payload si connette al proprio server di comando e controllo. La consegna avviene tramite file di archivio che abusano del side-loading di DLL per lanciare il malware. Il rapporto include anche indicatori di supporto come domini, indirizzi IP, percorsi dei file e hash dei file.

Indagine

L’analista ha registrato per la prima volta il traffico dello script ClickFix alle 17:11 UTC, con le comunicazioni Remcos RAT che hanno avuto inizio un minuto dopo alle 17:12 UTC. Il traffico NetSupport RAT è comparso quattro minuti dopo, StealC è stato osservato circa un’ora dopo, e Sectop RAT è emerso circa un’ora e diciotto minuti dopo StealC. Gli investigatori hanno recuperato artefatti di file sia dalle directory utente che di sistema, ricollegandoli agli specifici archivi dannosi utilizzati nella catena.

Mitigazione

I difensori dovrebbero bloccare i domini e gli indirizzi IP malevoli noti, oltre a prestare attenzione all’esecuzione di file HTA e all’estrazione sospetta di archivi nei percorsi dei profili utente. Le protezioni del browser e della posta elettronica dovrebbero essere rafforzate per ridurre l’esposizione al click-jacking e alla consegna di CAPTCHA falsi. Le regole di rilevamento degli endpoint dovrebbero anche essere regolate per identificare comportamenti di side-loading di DLL e processi inattesi di RAT.

Risposta

Se si trovano alcuni degli indicatori elencati, isolare l’host colpito, fermare i processi malevoli e raccogliere immagini di memoria e disco per l’analisi forense. Eseguire una scansione larga di IOC nell’ambiente, aggiornare i controlli firewall per bloccare gli endpoint C2 identificati e reimpostare eventuali credenziali potenzialmente compromesse.

"graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc %% Nodes victim_visits["<b>Action</b> – La vittima visita un sito compromesso dove un CAPTCHA falso inietta uno script malevolo"] class victim_visits action tech_user_exec_link["<b>Technique</b> – T1204.001 Esecuzione Utente: Link Malevolo<br/><b>Descrizione</b>: La vittima interagisce con un link malevolo che conduce all’esecuzione di codice"] class tech_user_exec_link technique tech_user_exec_copy["<b>Technique</b> – T1204.004 Esecuzione Utente: Copia e Incolla Malevolo<br/><b>Descrizione</b>: Il codice malevolo viene copiato negli appunti e incollato per essere eseguito"] class tech_user_exec_copy technique clickfix_script["<b>Strumento</b> – Nome: ClickFix script (malevolo)"] class clickfix_script malware hta_creation["<b>Azione</b> – File HTA malevolo scritto in %AppData%post.hta"] class hta_creation action tech_mshta["<b>Technique</b> – T1218.005 Esecuzione Binaria di Sistema Proxy: Mshta<br/><b>Descrizione</b>: Mshta è usato per eseguire file HTA"] class tech_mshta technique tech_user_exec_file["<b>Technique</b> – T1204.002 Esecuzione Utente: File Malevolo<br/><b>Descrizione</b>: La vittima esegue un file malevolo"] class tech_user_exec_file technique hta_execution["<b>Processo</b> – mshta.exe esegue post.hta"] class hta_execution process download_payload["<b>Azione</b> – HTA scarica payload compressi (ZIP o RAR) da server remoto"] class download_payload action tech_web_protocol["<b>Technique</b> – T1071.001 Protocollo Layer Applicativo: Protocolli Web<br/><b>Descrizione</b>: Uso di HTTP/HTTPS per il trasferimento dati"] 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>Technique</b> – T1574.001 Dirottamento del Flusso di Esecuzione: DLL Side-Loading<br/><b>Descrizione</b>: DLL malevoli sono caricate in eseguibili legittimi"] class tech_dll_sideloading technique c2_bidirectional["<b>Technique</b> – T1102.002 Servizio Web: Comunicazione Bidirezionale<br/><b>Descrizione</b>: Il RAT comunica con il C2 usando servizi web bidirezionali"] class c2_bidirectional technique c2_oneway["<b>Technique</b> – T1102.003 Servizio Web: Comunicazione Unidirezionale<br/><b>Descrizione</b>: Il RAT invia dati al C2 via servizi web unidirezionali"] class c2_oneway technique cleanup_files["<b>Azione</b> – Elimina HTA e file temporanei dopo l’esecuzione"] class cleanup_files action tech_file_deletion["<b>Technique</b> – T1070.004 Rimozione Indicatori: Cancellazione File<br/><b>Descrizione</b>: I file vengono rimossi per cancellare le prove"] class tech_file_deletion technique cleanup_persistence["<b>Azione</b> – Cancella artefatti di persistenza come registro o attività pianificate"] class cleanup_persistence action tech_clear_persistence["<b>Technique</b> – T1070.009 Rimozione Indicatori: Cancella Persistenza<br/><b>Descrizione</b>: I meccanismi di persistenza vengono rimossi"] class tech_clear_persistence technique %% Connections victim_visits –>|triggers| tech_user_exec_link victim_visits –>|triggers| tech_user_exec_copy tech_user_exec_link –>|delivers| clickfix_script tech_user_exec_copy –>|delivers| clickfix_script clickfix_script –>|writes| hta_creation hta_creation –>|uses| tech_mshta hta_creation –>|uses| tech_user_exec_file tech_mshta –>|executes| hta_execution tech_user_exec_file –>|executes| hta_execution hta_execution –>|downloads| download_payload download_payload –>|uses| tech_web_protocol download_payload –>|delivers| malware_remcos download_payload –>|delivers| malware_netsupport download_payload –>|delivers| malware_stealc download_payload –>|delivers| malware_sectop malware_remcos –>|employs| tech_dll_sideloading malware_netsupport –>|employs| tech_dll_sideloading malware_stealc –>|employs| tech_dll_sideloading malware_sectop –>|employs| tech_dll_sideloading malware_remcos –>|communicates via| c2_bidirectional malware_netsupport –>|communicates via| c2_oneway malware_stealc –>|communicates via| c2_oneway malware_sectop –>|communicates via| c2_bidirectional hta_execution –>|triggers| cleanup_files cleanup_files –>|uses| tech_file_deletion cleanup_files –>|also triggers| cleanup_persistence cleanup_persistence –>|uses| tech_clear_persistence "

Flusso di Attacco

Esecuzione della Simulazione

Prerequisito: Il Controllo Pre-volo di Telemetria & Baseline deve essere superato.

Motivo: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per innescare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e puntare a generare la telemetria esatta attesa dalla logica di rilevamento.

Narrazione & Comandi dell’Attacco

L’avversario, avendo ottenuto un punto d’appoggio sulla workstation della vittima, lancia il componente Remcos RAT della campagna SmartApeSG. Il RAT è configurato per utilizzare 95.142.45.231:443 come suo endpoint C2 primario. Risolve prima il dominio incorporato fresicrto.top (fallback) e quindi apre un tunnel HTTPS persistente all’indirizzo IP. Il traffico è generato da remcos.exe via l’API Windows WinHTTP, che produce un evento Sysmon NetworkConnect e una voce di registro di Windows Firewall.

Passaggi:

  1. Rilasciare il binario RAT (remcos.exe) a %TEMP%.
  2. Eseguire il binario con l’argomento C2 -c 95.142.45.231:443.
  3. Verificare la connessione in uscita (via netstat).

Queste azioni mappano a T1102 (Servizio Web) per la comunicazione C2 e T1584.001 (Acquisizione Dominio) dato che il dominio fa parte del payload.

Script di Test di Regressione

# --------------------------------------------------------------
# Simulazione C2 SmartApeSG – innesca regola di rilevamento
# --------------------------------------------------------------

# 1. Scrivere un stub minimale simile a Remcos (per dimostrazione, usare PowerShell per aprire TCP)
$c2Ip   = "95.142.45.231"
$c2Port = 443
$payloadFile = "$env:TEMPremcos_stub.exe"

# Creare un semplice eseguibile .NET che apre una connessione 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); // mantieni la connessione attiva
            client.Close();
        } catch (Exception ex) {
            Console.Error.WriteLine(ex.Message);
        }
    }
}
"@ -OutputAssembly $payloadFile -CompilerOptions "/target:exe"

# 2. Eseguire lo stub (questo genera la connessione di rete)
Start-Process -FilePath $payloadFile -WindowStyle Hidden

# 3. Opzionale: Risolvere il dominio fallback per dimostrare attività DNS
Resolve-DnsName -Name "fresicrto.top" -Type A | Out-Null

# 4. Pausa per osservazione
Start-Sleep -Seconds 10

# 5. Pulizia – terminare lo stub se ancora in esecuzione
Get-Process -Name "remcos_stub" -ErrorAction SilentlyContinue | Stop-Process -Force
Remove-Item -Path $payloadFile -Force

Comandi di Pulizia

# Termina eventuali connessioni rimanenti dallo stub
Get-NetTCPConnection -RemotePort 443 -RemoteAddress 95.142.45.231 -State Established |
    ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }

# Rimuovere file temporanei (già fatto nello script, ma assicurare stato pulito)
Remove-Item -Path "$env:TEMPremcos_stub.exe" -ErrorAction SilentlyContinue