Campagna TerminalFix costruisce tunnel inversi per accesso persistente
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
La campagna TerminalFix è una variante di ClickFix che utilizza falsi overlay CAPTCHA di Cloudflare per ingannare gli utenti e indurli a eseguire comandi PowerShell dannosi. La catena di attacco combina il caricamento laterale di DLL, l’estrazione di payload steganografici da immagini PNG e un’ampia ricognizione su Active Directory. La campagna schiera infine un impianto personalizzato basato su Python che consente agli attaccanti un accesso proxy persistente a livello di rete.
Indagine
Microsoft Threat Intelligence ha analizzato la catena di attacco in più fasi, che abusa del software firmato legittimo LockScreenContentServer.exe per caricare lateralmente la DLL. L’indagine ha mostrato come i payload dannosi siano nascosti nei pixel PNG e come un runtime Python stabilisca un tunnel inverso basato su WebSocket. I ricercatori hanno anche identificato l’infrastruttura di comando e controllo e le tecniche di ricognizione utilizzate per mappare le reti interne.
Mitigazione
Le organizzazioni dovrebbero limitare l’esecuzione di PowerShell tramite AppLocker o Criteri di Gruppo e monitorare per LockScreenContentServer.exe l’esecuzione da percorsi insoliti o non standard. Le regole di Riduzione della Superficie di Attacco (ASR) possono aiutare a bloccare script offuscati e lanci di eseguibili non autorizzati. La formazione sulla consapevolezza degli utenti, focalizzata sul riconoscimento dei falsi prompt CAPTCHA, è anche una misura preventiva importante.
Risposta
Se viene rilevata attività TerminalFix, i dispositivi interessati dovrebbero essere trattati come potenziali punti di pivot della rete e indagati per movimenti laterali. La rotazione delle credenziali dovrebbe essere prioritaria, in particolare per gli account amministratori di dominio accessibili dal sistema compromesso. I team di sicurezza dovrebbero anche effettuare un’analisi forense per rilevare runtime Python non autorizzati e connessioni WebSocket sospette in uscita.
Flusso di Attacco
Stiamo ancora aggiornando questa parte.
Rilevamenti
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (tramite registry_event)
Possibili Schemi di Attacco ClickFix Nella Riga di Comando (tramite cmdline)
Esecuzione di Python da Cartelle Sospette (tramite cmdline)
Chiamare Classi/Metodi .NET Sospetti da CommandLine di Powershell (tramite process_creation)
Possibile Enumerazione del Sistema (tramite cmdline)
Possibile Scoperta di Sistemi Remoti o Controllo di Connettività (tramite cmdline)
Scoperta Sospetta delle Fiducie nel Dominio (tramite cmdline)
Esecuzione di Attrib per Nascondere File (tramite cmdline)
Possibili Download Diretti dell’Interprete di Python (tramite cmdline)
Un Archivio È Stato Estratto in una Directory Sospetta Usando PowerShell (tramite powershell)
IOC (HashSha256) da rilevare: la campagna TerminalFix distribuisce un tunnel inverso attraverso un’intrusione multi-stadio
Tunnel TLS WebSocket in Uscita a gitnow.dev [Connessione di Rete di Windows]
Rilevamento di Tunnel Inverso e Caricamento Laterale di DLL in TerminalFix [Creazione Processo di Windows]
Caricamento Laterale di DLL ed Estrazione di Payload Steganografico nella Campagna TerminalFix [Caricamento Immagine di Windows]
Esecuzione di PowerShell e Loop di Comandi della Campagna TerminalFix [Windows Powershell]
Esecuzione della Simulazione
Prerequisito: Il Check Preliminare di Telemetria e Baseline deve essere passato.
Motivazione: 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 esattamente la telemetria prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrazione dell’Attacco & Comandi: L’avversario intende stabilire un tunnel inverso persistente. Per mimetizzarsi con i processi di sistema, prima rilasciano un file eseguibile dall’aspetto legittimo,
LockScreenContentServer.exe, in una directory. Utilizzano quindi il caricamento laterale di DLL per eseguire codice dannoso. Successivamente, avviano un tunnel basato su Python utilizzandopythonw.exe(per evitare una finestra console visibile) ed eseguono uno script chiamatoclient.py. Questa sequenza è progettata per creare una backdoor a livello di rete che aggira le normali restrizioni del firewall tramite tunneling WebSocket. -
Script di Test Regressivo:
# Script di Simulazione: Emulazione del Tunnel Inverso TerminalFix # 1. Configurare l'Ambiente $targetDir = "C:UsersPublicDownloadsSystemFiles" New-Item -Path $targetDir -ItemType Directory -Force # 2. Creare un dummy 'LockScreenContentServer.exe' (Simulando il binario caricato lateralmente) # In un vero attacco, questo sarebbe un reale file PE. $dummyExe = Join-Path $targetDir "LockScreenContentServer.exe" New-Item -Path $dummyExe -ItemType File -Force # 3. Creare un dummy script Python 'client.py' $pythonScript = Join-Path $targetDir "client.py" "print('Establishing tunnel...')" | Out-File -FilePath $pythonScript -Encoding ascii # 4. Eseguire i processi 'maligni' per attivare la logica di rilevamento # Attivare Parte A: LockScreenContentServer.exe Start-Process -FilePath $dummyExe -WindowStyle Hidden # Attivare Parte B: pythonw.exe con client.py nella riga di comando # Nota: Usiamo il percorso completo a pythonw.exe come previsto dalla regola $pythonwPath = "C:WindowsSystem32pythonw.exe" # Se pythonw non è in System32, lo individuiamo if (-not (Test-Path $pythonwPath)) { $pythonwPath = (Get-Command pythonw.exe).Source } Start-Process -FilePath $pythonwPath -ArgumentList $pythonScript -WindowStyle Hidden -
Comandi di Pulizia:
# Script di Pulizia $targetDir = "C:UsersPublicDownloadsSystemFiles" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force }