SOC Prime Bias: Medio

09 Apr 2026 15:30 UTC

ClickFix a MaaS: All’interno di un RAT modulare per Windows e del suo pannello di controllo

Author Photo
SOC Prime Team linkedin icon Segui
ClickFix a MaaS: All’interno di un RAT modulare per Windows e del suo pannello di controllo
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

I Netskope Threat Labs hanno osservato una campagna ClickFix che distribuisce un RAT Windows personalizzato costruito su Node.js tramite installatori MSI dannosi. Il payload mantiene i moduli chiave in memoria e utilizza lo streaming gRPC su Tor per il C2. Un errore OPSEC ha esposto il protocollo dell’admin-panel, indicando un modello di malware-as-a-service con tracciamento dei portafogli. La persistenza è impostata tramite un valore HKCU Run a livello utente.

Indagine

I ricercatori hanno catturato l’MSI, decodificato il bootstrap PowerShell e tracciato il caricamento dinamico dei moduli Node.js. Hanno estratto e decrittato il blob di configurazione per recuperare un indirizzo C2 .onion. Un file admin.proto trapelato ha rivelato funzioni MaaS come la gestione multi-operatore e il monitoraggio dei portafogli, e gli analisti hanno notato un watchdog che si autoripara oltre all’uso di Tor per il traffico anonimo.

Mitigazione

Bloccare l’esecuzione di MSI non firmati da fonti non attendibili e monitorare HKCU…Run per nuove voci sospette. Rilevare PowerShell che scarica payload MSI da domini come cloud-verificate.com. Allertare su conhost.exe o node.exe lanciati con argomenti nascosti e su tor.exe che appare negli endpoint che non lo richiedono.

Risposta

Isolare gli host affetti, raccogliere memoria per l’analisi dei moduli in memoria, e rimuovere la persistenza HKCU Run. Controllare %LOCALAPPDATA%LogicOptimizer per artefatti di staging e qualsiasi attività programmata di tor.exe, quindi bloccare l’endpoint onion e i domini/IP correlati. Cacciare l’intera azienda per cercare gli stessi artefatti di installazione e catene di processi.

Flusso di Attacco

Esecuzione della Simulazione

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

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (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.

  • Narrazione & Comandi di Attacco:

    1. Obiettivo: L’attaccante vuole inizializzare un payload Node.js malevolo (bootstrap.js) senza destare sospetti.
    2. Metodo: Utilizzare un binario Windows firmato (conhost.exe) come proxy per lanciare node.exe in modalità senza testa, passando lo script bootstrap come argomento.
    3. Passaggi:
      • Inserire un bootstrap.js malevolo bootstrap.js in una directory scrivibile (ad esempio, %TEMP%).
      • Invocare conhost.exe con la stringa esatta di argomenti che la regola osserva.
      • Il comando viene eseguito nel contesto dell’utente corrente, imitando un legittimo avvio di processo.
    # 1. Inserire bootstrap.js malevolo (contenuto inoffensivo simulato per il test)
    $bootstrapPath = "$env:TEMPbootstrap.js"
    Set-Content -Path $bootstrapPath -Value "// segnaposto bootstrap malevolo"
    
    # 2. Eseguire conhost.exe per avviare node.exe con le bandiere richieste
    $conhost = "$env:windirsystem32conhost.exe"
    $args = '--headless "node.exe" "bootstrap.js"'
    Start-Process -FilePath $conhost -ArgumentList $args -WorkingDirectory $env:TEMP
  • Script di Test di Regresso:

    # -------------------------------------------------
    # Test di Regressione: Trigger Conhost → Bootstrap Node
    # -------------------------------------------------
    # Assicurarsi che Sysmon stia eseguendo e registrando eventi ProcessCreate.
    
    # Inserire uno script bootstrap fittizio
    $bootstrap = "$env:TEMPbootstrap.js"
    Set-Content -Path $bootstrap -Value "// contenuto bootstrap di test"
    
    # Definire la linea di comando esatta che la regola di rilevamento cerca
    $conhostPath = "$env:windirsystem32conhost.exe"
    $cmdLine = '--headless "node.exe" "bootstrap.js"'
    
    # Avviare conhost con gli argomenti dall'aspetto malevolo
    Start-Process -FilePath $conhostPath -ArgumentList $cmdLine -WorkingDirectory $env:TEMP
    
    Write-Host "Simulazione completata – controllare SIEM per l'allerta."
  • Comandi di Pulizia:

    # Arrestare eventuali processi node o conhost rimanenti avviati dal test
    Get-Process -Name node, conhost -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Rimuovere lo script bootstrap temporaneo
    Remove-Item -Path "$env:TEMPbootstrap.js" -Force -ErrorAction SilentlyContinue
    
    Write-Host "Pulizia terminata."