SOC Prime Bias: Alto

17 Jun 2026 12:58 UTC

Come un File VHDX Distribuisce Remcos RAT

Author Photo
SOC Prime Team linkedin icon Segui
Come un File VHDX Distribuisce Remcos RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

Una campagna malware multi-stadio utilizza un archivio ZIP armato contenente un’immagine disco VHDX per eludere i controlli di sicurezza comuni. Dopo il montaggio del VHDX, un file JavaScript offuscato viene eseguito e lancia una serie di stadi PowerShell tramite WMI. Il payload finale è Remcos RAT, che viene iniettato in un processo Windows legittimo per nascondere la sua esecuzione.

Investigazione

Il ricercatore ha esaminato un archivio ZIP malevolo e il contenitore VHDX integrato per ricostruire l’intero flusso dell’attacco. L’analisi ha rivelato una catena di esecuzione complessa che utilizzava la creazione di processi basata su WMI per mascherare le relazioni padre-figlio, insieme all’offuscare delle stringhe con XOR e Base64 e un loader .NET riflettente. Il percorso di infezione è stato tracciato con successo dall’esecuzione iniziale di JavaScript fino al dispiegamento del payload finale Remcos.

Mitigazione

Le organizzazioni dovrebbero applicare controlli rigorosi per prevenire il montaggio di immagini disco VHDX da fonti non attendibili. Gli strumenti di sicurezza dovrebbero anche monitorare le attività sospette Win32_Process.Create inviate da motori di script come JavaScript o PowerShell. Bloccare domini noti come malevoli e controllare per la persistenza insolita delle chiavi Run nel registro può ulteriormente ridurre il rischio.

Risposta

Se viene rilevata questa attività, isolare immediatamente l’endpoint interessato per interrompere la comunicazione di comando e controllo. Acquisire un dump della memoria per catturare il payload iniettato di Remcos e il loader .NET riflettente. Una revisione forense completa dovrebbe quindi cercare voci di chiavi Run malevole, file VHDX aggiuntivi e attività sospette di PowerShell altrove nell’ambiente.

Flusso di attacco

## Esecuzione della Simulazione

Prerequisito: Il Controllo Pre-lancio di Telemetria e Baseline deve essere passato.

Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e il racconto DEVONO riflettere direttamente le TTP identificate e mirare a generare l’esatta telemetria attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrativa dell’attacco & Comandi: L’avversario mira a eseguire un payload malevolo in memoria per evitare il rilevamento da parte dell’AV tradizionale. Utilizzano uno script PowerShell che sfrutta [System.Reflection.Assembly]::Load() per recuperare una DLL .NET compilata direttamente da un array di byte nel processo attuale. Per mantenere la persistenza e sfuggire al controllo, tentano di avviare o interagire con backgroundTaskHost.exe, un processo Windows legittimo, per nascondere il loro thread di esecuzione all’interno di un’attività di sistema standard.

  • Script di Test di Regressione:

    # Script di simulazione: Caricamento riflettente .NET e interazione con processo
    # Questo script imita la logica catturata dalla regola di rilevamento.
    
    # 1. Crea un array di byte fittizio rappresentante un'Assembly .NET (altamente semplificata per simulazione)
    $assemblyBytes = [byte[]](0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00) # Mimica intestazione MZ
    
    Write-Host "[+] Tentativo di caricamento Assembly .NET riflettente..." -ForegroundColor Cyan
    try {
        # Questa stringa specifica è un obiettivo per la regola di rilevamento
        $assembly = [System.Reflection.Assembly]::Load($assemblyBytes)
        Write-Host "[!] Successo: Assembly caricato in memoria (solo simulazione)." -ForegroundColor Green
    } catch {
        Write-Host "[-] Caricamento Assembly fallito (atteso a causa di byte fittizi non validi), ma il comando è stato inviato." -ForegroundColor Yellow
    }
    
    Write-Host "[+] Tentativo di invocare backgroundTaskHost.exe per attivare il rilevamento..." -ForegroundColor Cyan
    # Questa stringa specifica è un obiettivo per la regola di rilevamento
    Start-Process "C:WindowsSystem32backgroundTaskHost.exe" -ArgumentList "/test-detection"
  • Comandi di Pulizia:

    # Pulizia: Termina il processo backgroundTaskHost avviato
    Stop-Process -Name "backgroundTaskHost" -ErrorAction SilentlyContinue
    Write-Host "[+] Pulizia completata. BackgroundTaskHost terminato." -ForegroundColor Green