[Rapporto Operativo] Da SSA Phish a AdaptixC2: Un’Intrusione Multi-RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
Un attore di minacce ha realizzato un’intrusione a strati con commodity che inizia con un’email di phishing a tema con l’Amministrazione della sicurezza sociale degli Stati Uniti. L’operazione si è basata su AdaptixC2 come principale framework di comando e controllo, ha utilizzato XWorm come canale di accesso secondario e per l’esfiltrazione basata su Telegram, e ha distribuito ScreenConnect per supportare attività tastiera-manuale. La campagna ha inoltre mostrato una forte disciplina operativa mediante l’uso dell’inganno del nome file RTLO e percorsi di persistenza multipli progettati per sopravvivere a una parziale rimediazione.
Indagine
L’indagine è avvenuta in un ambiente Deception.Pro utilizzando una workstation di inganno. Poiché l’ispezione TLS era abilitata, i ricercatori sono stati in grado di recuperare il traffico beacon in chiaro, gli URL di download del payload e le strette di mano del relay ScreenConnect. Tale visibilità ha reso possibile attribuire l’intrusione a specifici framework con alta fiducia piuttosto che dipendere solo da comportamenti o ipotesi basate su impronte digitali.
Mitigazione
Le organizzazioni dovrebbero ridurre il rischio abilitando l’ispezione TLS per il traffico di comando e controllo crittografato e distribuendo EDR in grado di rilevare certutil– staging basato su e l’esecuzione sospetta di PowerShell. La visibilità dell’estensione del file dovrebbe essere applicata per indebolire i trucchi del nome file basati su RTLO e le scritture delle chiavi Run del registro in posizioni pubbliche o scrivibili dagli utenti dovrebbero essere monitorate attentamente. I team dovrebbero inoltre inventariare e allertare sugli strumenti di gestione remota non autorizzati come ScreenConnect, specialmente quando installati tramite msiexec.
Risposta
Se viene rilevata questa attività, isolare immediatamente gli endpoint interessati per interrompere il traffico di comando e controllo e prevenire ulteriori movimenti laterali attraverso l’enumerazione SAMR o LSAD. Eseguire una scansione forense completa per le DLL XWorm e gli artefatti AdaptixC2 nelle cartelle pubbliche e in altri percorsi comuni di staging. Gli investigatori dovrebbero anche rivedere i modelli di esfiltrazione legati a Telegram e controllare le chiavi di persistenza del registro che imitano i nomi di aggiornatori legittimi.
graph TB %% Sezione definizioni delle classi classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef discovery fill:#ccffcc %% Definizione dei nodi %% Accesso iniziale ed esecuzione action_phishing[“<b>Azione</b> – <b>T1566.002 Phishing: Link di Spearphishing</b><br/>La vittima riceve un’e-mail contraffatta apparentemente proveniente dalla SSA,<br/>contenente un collegamento a un archivio RAR.”] class action_phishing action action_masquerade[“<b>Azione</b> – <b>T1036.008 Mascheramento: Mascheramento del tipo di file</b><br/>L’attaccante utilizza il trucco RTLO per mascherare un eseguibile PE32<br/>come un file PDF (.fdp.exe).”] class action_masquerade action action_user_exec[“<b>Azione</b> – <b>T1204.002 Esecuzione da parte dell’utente: File dannoso</b><br/>L’utente interagisce con il<br/>file dannoso mascherato.”] class action_user_exec action %% Trasferimento di strumenti e persistenza tool_certutil[“<b>Strumento</b> – <b>Nome: certutil.exe</b><br/><b>Descrizione:</b> Utilità nativa di Windows utilizzata per<br/>scaricare il payload AdaptixC2.”] class tool_certutil tool action_ingress[“<b>Azione</b> – <b>T1105 Trasferimento di strumenti nel sistema</b><br/>Il payload viene scaricato da<br/>cloudpre-005[.]online.”] class action_ingress action action_persistence[“<b>Azione</b> – <b>T1547.001 Esecuzione automatica all’avvio o al logon:<br/>Chiavi Run del Registro / Cartella Startup</b><br/>Crea chiavi di registro come PayloadService,<br/>JavaUpdater e Updater in C:\Users\Public\.”] class action_persistence action %% C2 e accesso remoto malware_adaptix[“<b>Malware</b> – <b>Nome: AdaptixC2</b><br/><b>Descrizione:</b> Agente beacon utilizzato per<br/>operazioni di Comando e Controllo (C2).”] class malware_adaptix malware action_c2_web[“<b>Azione</b> – <b>T1071.001 Protocollo a livello applicativo:<br/>Protocolli Web</b><br/>AdaptixC2 comunica tramite beaconing<br/>con specifici URL web.”] class action_c2_web action tool_screenconnect[“<b>Strumento</b> – <b>Nome: ScreenConnect</b><br/><b>Descrizione:</b> Strumento di accesso remoto distribuito<br/>per il controllo interattivo.”] class tool_screenconnect tool action_remote_access[“<b>Azione</b> – <b>T1219 Strumenti di accesso remoto</b><br/>Distribuzione di due client indipendenti<br/>per mantenere l’accesso interattivo.”] class action_remote_access action %% Esfiltrazione e ricognizione malware_xworm[“<b>Malware</b> – <b>Nome: XWorm</b><br/><b>Descrizione:</b> Malware utilizzato per inoltrare<br/>i dati rubati tramite Telegram.”] class malware_xworm malware action_exfil[“<b>Azione</b> – <b>T1567 Esfiltrazione tramite servizio Web</b><br/>I dati vengono esfiltrati utilizzando la<br/>Telegram Bot API.”] class action_exfil action action_discovery[“<b>Azione</b> – <b>T1069.002 Individuazione dei gruppi di autorizzazione:<br/>Gruppi di dominio</b><br/>Enumerazione dell’ambiente di dominio tramite<br/>SAMR e LSAD RPC.”] class action_discovery discovery %% Connessioni action_phishing –>|porta_a| action_masquerade action_masquerade –>|porta_a| action_user_exec action_user_exec –>|attiva| tool_certutil tool_certutil –>|esegue| action_ingress action_ingress –>|installa| malware_adaptix malware_adaptix –>|stabilisce| action_persistence malware_adaptix –>|utilizza| action_c2_web action_remote_access –>|utilizza| tool_screenconnect malware_adaptix –>|distribuisce| action_remote_access malware_adaptix –>|gestisce| malware_xworm malware_xworm –>|esegue| action_exfil malware_adaptix –>|esegue| action_discovery
Flusso di attacco
Rilevamenti
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (via registry_event)
Visualizza
Uso di Certutil per la codifica dei dati e le operazioni di certificato (via cmdline)
Visualizza
Esecuzione sospetta da profilo utente pubblico (via process_creation)
Visualizza
Software di accesso remoto / gestione alternativo (via process_creation)
Visualizza
Un archivio è stato estratto in una directory sospetta usando Powershell (via powershell)
Visualizza
File sospetti nel profilo utente pubblico (via file_event)
Visualizza
Tentativi di comunicazioni del dominio di ricerca IP possibili (via dns)
Visualizza
È stato contattato un possibile servizio DNS dinamico (via dns)
Visualizza
IOC (HashSha256) per rilevare: [Rapporto Op] Da SSA Phish a AdaptixC2: Un’intrusione Multi-RAT
Visualizza
IOC (HashMd5) per rilevare: [Rapporto Op] Da SSA Phish a AdaptixC2: Un’intrusione Multi-RAT
Visualizza
IOC (SourceIP) per rilevare: [Rapporto Op] Da SSA Phish a AdaptixC2: Un’intrusione Multi-RAT
Visualizza
IOC (DestinationIP) per rilevare: [Rapporto Op] Da SSA Phish a AdaptixC2: Un’intrusione Multi-RAT
Visualizza
Rilevamento della comunicazione di comando e controllo di AdaptixC2 [Connessione di rete Windows]
Visualizza
Rileva il dispiegamento di AdaptixC2 e ScreenConnect tramite Certutil e Msiexec [Creazione processo Windows]
Visualizza
Esecuzione di simulazione
Prerequisito: Il controllo preliminare di Telemetria e Baseline deve essere stato superato.
Razionale: questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare l’esatta telemetria prevista dalla logica di rilevamento.
-
Narrativa di attacco e comandi: L’avversario ha stabilito con successo un punto d’appoggio sulla macchina target tramite un link di spearphishing. Per mantenere il controllo e ricevere istruzioni, l’agente AdaptixC2 tenta di “registrarsi” con il suo server di comando e controllo. L’agente è programmato per contattare un URI hardcoded (
98.81.111.167/updates/check.php) o un IP di fallback (23.20.229.225) tramite porta 443. Simulando questi tentativi di connessione esatti, si valida se la regola di rilevamento firewall/rete identifica correttamente questi pattern noti-malvagi. -
Script di test di regressione: Questo script utilizza PowerShell per simulare due distinti tentativi di connessione: uno verso l’URL specifico e uno verso l’indirizzo IP specifico.
# Simulazione della comunicazione C2 di AdaptixC2 Write-Host "[+] Avvio della simulazione di AdaptixC2..." -ForegroundColor Cyan # Scenario 1: Connessione al pattern URL maligno specifico Write-Host "[+] Tentativo di connessione all'URL maligno: 98.81.111.167/updates/check.php" -ForegroundColor Yellow try { # Usiamo -ErrorAction SilentlyContinue perché probabilmente l'IP non risolverà o risponderà, # ma il tentativo di connessione genererà comunque la telemetria. Invoke-WebRequest -Uri "http://98.81.111.167/updates/check.php" -Method Get -ErrorAction SilentlyContinue } catch { Write-Host "[!] Connessione fallita (prevista), ma dovrebbe generarsi la telemetria." -ForegroundColor Gray } # Scenario 2: Connessione all'IP maligno specifico su porta 443 Write-Host "[+] Tentativo di connessione all'IP maligno: 23.20.229.225 sulla porta 443" -ForegroundColor Yellow try { $tcpClient = New-Object System.Net.Sockets.TcpClient $connection = $tcpClient.BeginConnect("23.20.229.225", 443, $null, $null) $success = $connection.AsyncWaitHandle.WaitOne(5000, $false) if ($success) { Write-Host "[+] Connessione riuscita (improbabile nel test reale)." -ForegroundColor Green } else { Write-Host "[!] Connessione scaduta (prevista), ma dovrebbe generarsi la telemetria." -ForegroundColor Gray } $tcpClient.Close() } catch { Write-Host "[!] Errore durante il tentativo di connessione TCP." -ForegroundColor Red } Write-Host "[+] Simulazione completa." -ForegroundColor Cyan -
Comandi di pulizia:
# Questa simulazione non crea artefatti persistenti poiché genera solo traffico di rete. Write-Host "[+] Nessuna pulizia necessaria. Le connessioni di rete erano transitorie." -ForegroundColor Green