Approfondimento sulla Nuova Campagna XWorm che Utilizza Email di Phishing a Tema Multiplo
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
FortiGuard Labs ha osservato una campagna di phishing multistadio che distribuisce il trojan di accesso remoto XWorm attraverso allegati Excel maligni. Il documento sfrutta CVE-2018-0802 nell’Editor di Equazioni di Microsoft per recuperare un file HTA, che poi attiva un caricatore .NET senza file che utilizza il process hollowing per iniettare XWorm in un nuovo processo Msbuild.exe generato. Il RAT comunica con il suo C2 utilizzando traffico crittografato AES ed espone un ampio set di comandi con supporto plugin per un controllo esteso. La campagna mostra un uso sofisticato di binari living-off-the-land e tecniche senza file per ottenere un controllo remoto persistente su endpoint compromessi.
Indagine
Gli analisti hanno ricostruito il flusso dall’email di phishing allo sfruttamento dell’OLE di Excel, esecuzione HTA, download del modulo .NET basato su PowerShell e il finale process hollowing in Msbuild.exe. La revisione statica e dinamica ha evidenziato dati payload codificati Base64 nascosti in un’immagine JPEG, con il componente finale XWorm caricato in memoria senza scrivere un eseguibile decrittografato su disco durante l’esecuzione. Le catture di rete hanno mostrato pacchetti crittografati AES inviati al dominio C2 berlin101.com sulla porta 6000. Il rapporto ha anche catalogato l’esteso set di comandi e architettura dei plugin di XWorm.
Mitigazione
FortiGuard raccomanda di abilitare le protezioni macro e OLE, applicare la patch per CVE-2018-0802 e limitare l’esecuzione di file Msbuild, PowerShell e HTA provenienti da contenuti email. Implementare filtri web, controlli anti-phishing e firme IDS/IPS legate agli indicatori osservati per bloccare la consegna e lo staging al gateway. Monitorare per alberi dei processi anomali—specialmente Msbuild.exe lanciato da PowerShell—per identificare l’esploit rapidamente.
Risposta
Alla rilevazione, isolare l’endpoint colpito, terminare i processi maligni ed espellere il modulo XWorm caricato dalla memoria. Raccogliere artefatti forensi inclusi telemetria della riga di comando, log di rete e modifiche al registro per delineare l’intrusione. Reimpostare eventuali credenziali compromesse, aggiornare il componente vulnerabile Editor di Equazioni e bloccare i domini maligni e il server C2. Applicare aggiornamenti dell’intelligenza sulle minacce alle rilevazioni EDR/SIEM per prevenire la ricorrenza e cercare attività correlate nell’ambiente.
Flusso di Attacco
Rilevamenti
Stringhe sospette di PowerShell (via powershell)
Visualizza
Comportamento sospetto di difesa evasione LOLBAS MSHTA rilevato tramite comandi associati (via process_creation)
Visualizza
Stringhe sospette di PowerShell (via cmdline)
Visualizza
Chiama metodi .NET sospetti da PowerShell (via powershell)
Visualizza
IOCs (HashSha256) da rilevare: Analisi approfondita della nuova campagna XWorm che utilizza email di phishing a tema multiplo
Visualizza
Campagna XWorm che sfrutta CVE-2018-0802 con molti vettori di attacco [Creazione processo Windows]
Visualizza
Rileva payload PowerShell codificato in Base64 nella campagna XWorm [Windows Powershell]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Check Pre-volo della Telemetria e del Baseline deve essere passato.
Motivazione: Questa sezione descrive 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 la telemetria esatta attesa dalla logica di rilevamento.
-
Narrazione & Comandi dell’Attacco:
- Drop Iniziale: L’attaccante consegna un file Excel maligno che sfrutta CVE‑2018‑0802. Per la simulazione bypassiamo l’exploit e lanciamo direttamente il payload.
- Process Hollowing tramite EQNEDT32.EXE: Avvio
EQNEDT32.EXEcon una riga di comando che invocaShellExecuteExW()per mascherarsi come un componente legittimo di Office. - Esecuzione Laterale Msbuild.exe: Genera
Msbuild.execonCreateProcessA()per compilare un payload .NET furtivo al volo. - Esecuzione .NET senza file: Use
powershell.execon un comando codificato base64 che carica un’assembly .NET riflettente (T1620). La riga di comando contiene la stringa letteraleCreateProcessA()per soddisfare la regola.
-
Script di Test di Regressione:
<# Simula la catena di esecuzione XWorm: 1. EQNEDT32.exe con ShellExecuteExW() 2. Msbuild.exe con CreateProcessA() 3. PowerShell con caricatore riflettente .NET contenente CreateProcessA() #> # 1. EQNEDT32.exe (Process Hollowing) $eqnPath = "$env:SystemRootSystem32EQNEDT32.EXE" $eqnArgs = "-Command "ShellExecuteExW()"" Start-Process -FilePath $eqnPath -ArgumentList $eqnArgs -WindowStyle Hidden # 2. Msbuild.exe (Iniezione DLL Dinamica) $msbuildPath = "$env:ProgramFilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMsbuild.exe" $msbuildArgs = "/t:Compile /p:UseShellExecute="CreateProcessA()"" Start-Process -FilePath $msbuildPath -ArgumentList $msbuildArgs -WindowStyle Hidden # 3. PowerShell (caricamento riflettente .NET senza file) # Esempio di payload .NET (segnaposto) codificato in base64 $payload = "W3siQmFzZURhdGEiOiAiIiB9XQ==" # base64 dummy $psArgs = "-EncodedCommand $payload -ArgumentList "CreateProcessA()"" Start-Process -FilePath "powershell.exe" -ArgumentList $psArgs -WindowStyle Hidden Write-Host "Simulazione XWorm completata." -
Comandi di Pulizia:
# Termina eventuali processi di simulazione in sospeso Get-Process -Name "EQNEDT32","Msbuild","powershell" -ErrorAction SilentlyContinue | Stop-Process -Force # Rimuovere opzionalmente i file temporanei (nessun creato in questa simulazione puramente di processi) Write-Host "Pulizia completata."