SOC Prime Bias: High

01 Sep 2026 16:33 UTC

Campagna TerminalFix costruisce tunnel inversi per accesso persistente

Author Photo
SOC Prime Team linkedin icon Segui
Campagna TerminalFix costruisce tunnel inversi per accesso persistente
shield icon

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)

Team di SOC Prime
31 Agosto 2026

Possibili Schemi di Attacco ClickFix Nella Riga di Comando (tramite cmdline)

Team di SOC Prime
31 Agosto 2026

Esecuzione di Python da Cartelle Sospette (tramite cmdline)

Team di SOC Prime
31 Agosto 2026

Chiamare Classi/Metodi .NET Sospetti da CommandLine di Powershell (tramite process_creation)

Team di SOC Prime
31 Agosto 2026

Possibile Enumerazione del Sistema (tramite cmdline)

Team di SOC Prime
31 Agosto 2026

Possibile Scoperta di Sistemi Remoti o Controllo di Connettività (tramite cmdline)

Team di SOC Prime
31 Agosto 2026

Scoperta Sospetta delle Fiducie nel Dominio (tramite cmdline)

Team di SOC Prime
31 Agosto 2026

Esecuzione di Attrib per Nascondere File (tramite cmdline)

Team di SOC Prime
31 Agosto 2026

Possibili Download Diretti dell’Interprete di Python (tramite cmdline)

Team di SOC Prime
31 Agosto 2026

Un Archivio È Stato Estratto in una Directory Sospetta Usando PowerShell (tramite powershell)

Team di SOC Prime
31 Agosto 2026

IOC (HashSha256) da rilevare: la campagna TerminalFix distribuisce un tunnel inverso attraverso un’intrusione multi-stadio

Regole AI di SOC Prime
31 Agosto 2026

Tunnel TLS WebSocket in Uscita a gitnow.dev [Connessione di Rete di Windows]

Regole AI di SOC Prime
31 Agosto 2026

Rilevamento di Tunnel Inverso e Caricamento Laterale di DLL in TerminalFix [Creazione Processo di Windows]

Regole AI di SOC Prime
31 Agosto 2026

Caricamento Laterale di DLL ed Estrazione di Payload Steganografico nella Campagna TerminalFix [Caricamento Immagine di Windows]

Regole AI di SOC Prime
31 Agosto 2026

Esecuzione di PowerShell e Loop di Comandi della Campagna TerminalFix [Windows Powershell]

Regole AI di SOC Prime
31 Agosto 2026

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 utilizzando pythonw.exe (per evitare una finestra console visibile) ed eseguono uno script chiamato client.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
    }