SOC Prime Bias: Critico

08 Jun 2026 19:48 UTC

PulseRAT Distribuito Attraverso un Escamotage di Partnership UAE-India

Author Photo
SOC Prime Team linkedin icon Segui
PulseRAT Distribuito Attraverso un Escamotage di Partnership UAE-India
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

Un archivio ISO malevolo mascherato da file di partenariato strategico UAE-India viene utilizzato per consegnare un trojan di accesso remoto basato su .NET rintracciato come PulseRAT. Il malware viene installato tramite un dropper incorporato nell’ISO e utilizza un Google Spreadsheet come canale di comando e controllo. Per mantenere l’accesso, crea un’attività pianificata chiamata WindowsVaultSyncService, costruisce una directory di vault sotto %LOCALAPPDATA%, e utilizza un mutex per prevenire esecuzioni multiple sullo stesso host. La campagna si basa su un’esca collegata a una relazione di difesa di alto profilo tra gli Emirati Arabi Uniti e l’India.

Indagine

L’analista ha spacchettato il file ISO, identificato il collegamento LNK responsabile dell’avvio dell’eseguibile e ingegnerizzato a ritroso il dropper per scoprire il suo payload e la logica di persistenza. Un’ulteriore analisi di PulseRAT ha rivelato come utilizza Google Sheets per comando e controllo, genera il suo mutex, esegue PowerShell nella memoria del processo e crea la propria attività programmata per la persistenza. Nomi di file, percorsi del file system, modelli di mutex e l’identificativo del foglio di calcolo sono stati tutti documentati per supportare l’ingegneria della rilevazione.

Mitigazione

Le organizzazioni dovrebbero bloccare l’esecuzione di binari sconosciuti lanciati da media rimovibili o montati e monitorare la creazione di attività pianificate chiamate WindowsVaultSyncService. Andrebbe applicato un controllo delle applicazioni per i binari in esecuzione da %LOCALAPPDATA%MicrosoftVault, e i difensori dovrebbero ispezionare il traffico API di Google Sheets per accessi a conti non autorizzati o attività sospette sui fogli di calcolo. Qualsiasi attività pianificata malevola dovrebbe essere rimossa, e il vaultsvc.exe file dovrebbe essere eliminato dai sistemi colpiti.

Risposta

Se viene rilevata l’attività di PulseRAT, isolare immediatamente l’endpoint interessato, raccogliere la memoria volatile e le immagini del disco, e cercare gli indicatori di compromissione documentati. Disabilitare e rimuovere l’attività pianificata malevola, cancellare la directory del vault, e resettare qualsiasi account di servizio Google compromesso. Dovrebbe essere eseguita anche una revisione forense completa per identificare possibili movimenti laterali, e i relativi stakeholder negli Emirati Arabi Uniti e in India dovrebbero essere informati.

"graph TB %% Class definitions classDef action fill:#99ccff,stroke:#333,stroke-width:2px classDef tool fill:#dddddd,stroke:#333,stroke-width:2px classDef process fill:#ffeb99,stroke:#333,stroke-width:2px %% Nodes step_user_open["<b>Azione</b> – <b>T1204.002 Esecuzione Utente: File Malevolo</b><br/><b>Descrizione</b>: La vittima apre un file di collegamento malevolo (LNK).<br/><b>Subu2011technique</b> T1547.009 Modifica Collegamento<br/><b>Descrizione</b>: Collegamento posizionato per ottenere persistenza."] class step_user_open action step_dropper["<b>Azione</b> – <b>T1027.009 File Offuscati/Conservati: Payload Incorporati</b><br/><b>Descrizione</b>: Il dropper estrae il payload nascosto.<br/><b>Tecnica</b> T1105 Trasferimento Strumento D’ingresso<br/><b>Descrizione</b>: Trasferisce il payload al sistema vittima."] class step_dropper action step_persistence["<b>Azione</b> – <b>T1053 Attività/Job Programmato</b><br/><b>Descrizione</b>: Crea un’attività programmata per la persistenza.<br/><b>Tecnica</b> T1070.004 Cancellazione File<br/><b>Descrizione</b>: Il dropper si autocancella dopo l’installazione."] class step_persistence action step_execution["<b>Azione</b> – <b>T1055.013 Iniezione Processo: Hollowing del Processo</b><br/><b>Descrizione</b>: Esegue PowerShell nel processo per eseguire codice malevolo.<br/><b>Tecnica</b> T1602 Raccogli Informazioni d’Identità della Vittima<br/><b>Descrizione</b>: Raccoglie informazioni di sistema (systeminfo)."] class step_execution action step_uid["<b>Azione</b> – <b>T1589 Raccogli Informazioni d’Identità della Vittima</b><br/><b>Descrizione</b>: Genera un identificatore unico della vittima (UID)."] class step_uid action step_c2["<b>Azione</b> – <b>T1102.001 Servizi Web: Resolver Dead Drop</b><br/><b>Descrizione</b>: Usa Google Sheets come canale di comando e controllo.<br/><b>Tecnica</b> T1102.002 Servizi Web: Esfiltrazione su Servizi Web<br/><b>Descrizione</b>: Comunica con API di Google Sheets remoti."] class step_c2 action step_rat["<b>Azione</b> – <b>T1219 Strumenti di Accesso Remoto</b><br/><b>Descrizione</b>: Fornisce accesso interattivo remoto all’host compromesso."] class step_rat action step_cleanup["<b>Azione</b> – <b>T1070.009 Cancellazione Eventi di Windows</b><br/><b>Descrizione</b>: Rimuove artefatti e pulisce meccanismi di persistenza."] class step_cleanup action %% Connections step_user_open –>|porta_a| step_dropper step_dropper –>|crea| step_persistence step_persistence –>|abilita| step_execution step_execution –>|produce| step_uid step_uid –>|usato_da| step_c2 step_c2 –>|abilita| step_rat step_rat –>|innesca| step_cleanup "

Flusso di Attacco

Esecuzione di Simulazione

Prerequisito: Il Controllo Pre-volo di Telemetria e Baseline deve essere superato.

  • Narrazione d’Attacco e Comandi:
    L’avversario ha compromesso un account utente e posizionato una DLL malevola “PulseRAT” sull’host. PulseRAT si carica in un processo legittimo (es.: explorer.exe) e crea un runspace PowerShell (esecuzione in-process) per evitare di generare un visibile powershell.exe. Poi recupera un payload PowerShell codificato in base64 da un Foglio Google controllato dall’attaccante, lo decodifica e lo esegue all’interno del runspace, generando un’unica voce EventID 4104 che contiene sia la stringa marker “System.Management.Automation.Runspaces” (dalla creazione del runspace) che la parola “base64” (dal payload decodificato), soddisfacendo la regola Sigma.

  • Script di Test di Regressione:

    # Esecuzione PowerShell in-process tipo PulseRAT (simulazione)
    # ---------------------------------------------------------
    # 1. Crea un PowerShell runspace (in-process)
    $runspace = [runspacefactory]::CreateRunspace()
    $runspace.Open()
    
    # 2. Crea un payload codificato in base64 (simulando dati controllati dall'attaccante)
    $payload = 'Write-Host "Compromised by PulseRAT"'   # semplice payload
    $bytes   = [System.Text.Encoding]::Unicode.GetBytes($payload)
    $b64     = [Convert]::ToBase64String($bytes)
    
    # 3. Costruisce un blocco script che decodifica e esegue il payload
    $script = @"
    `$b64 = '$b64'
    `$decoded = [System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String(`$b64))
    Invoke-Expression `$decoded
    "@
    
    # 4. Crea una pipeline PowerShell all'interno del runspace e la invoca
    $powershell = [powershell]::Create()
    $powershell.Runspace = $runspace
    $null = $powershell.AddScript($script).Invoke()
    $powershell.Dispose()
    $runspace.Close()
  • Comandi di Pulizia:

    # Rimuovere il runspace e liberare risorse (se ne rimangono)
    if ($runspace -and $runspace.RunspaceStateInfo.State -ne 'Closed') {
        $runspace.Close()
    }
    Remove-Variable -Name runspace -ErrorAction SilentlyContinue
    Remove-Variable -Name powershell -ErrorAction SilentlyContinue