DonutLoader Ricaricato in una Campagna Moderna di Remcos RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
G DATA ha identificato una nuova campagna Remcos RAT che inizia con un file batch dannoso e passa attraverso diversi livelli di scripting, inclusi PowerShell, VBScript e AutoIt, per recuperare e lanciare un payload shellcode DonutLoader. Il loader alla fine inietta il Remcos RAT finale nel legittimo binario Windows colorcpl.exe. Lungo tutta la catena, gli attaccanti si affidano a strumenti fidati come 7-Zip, l’archiviazione su pCloud e diversi LOLBins per far apparire l’attività routinaria. L’uso del shellcode generato da Donut per l’iniezione di processo segna un’evoluzione notevole nella distribuzione moderna di Remcos.
Indagine
I ricercatori hanno seguito l’intero percorso di infezione da un allegato di phishing denominato Bestellung.CMD, che ha lanciato cscript.exe per eseguire un proxy VBScript che ha decodificato un comando PowerShell codificato in Base64. Quella fase di PowerShell ha scaricato le utility 7-Zip e un archivio protetto da password da pCloud, quindi ha estratto un file JScript che ha lasciato cadere un interprete AutoIt e un falso PNG contenente ulteriore contenuto payload. Il componente AutoIt ha decrittato i dati offuscati con XOR, ricostruito lo shellcode DonutLoader, e lo ha iniettato in colorcpl.exe, dove è stato eseguito Remcos RAT versione 7.2.1 Pro.
Mitigazione
I difensori dovrebbero monitorare l’uso sospetto di cscript.exe, SyncAppvPublishingServer.vbs, e dei comandi PowerShell IEX contenenti contenuti codificati Base64, specialmente quando tali processi hanno origine da file batch. Il rilevamento dovrebbe anche coprire apparizioni inaspettate di 7z.exe and 7z.dll nelle directory utente, insieme a binari AutoIt non autorizzati. Le protezioni basate sul comportamento dovrebbero essere regolate per identificare l’iniezione di processo in colorcpl.exe e l’attività coerente con lo shellcode generato da Donut.
Risposta
Se viene rilevata quest’attività, isolare immediatamente il sistema interessato, terminare i processi sospetti e catturare la memoria per l’analisi dello shellcode. Gli investigatori dovrebbero esaminare i file rilasciati e qualsiasi artefatto eliminato per ricostruire l’intera catena di esecuzione, mentre bloccano la comunicazione con l’infrastruttura di comando e controllo identificata. La bonifica dovrebbe includere la rimozione di Remcos RAT e la pulizia delle eventuali utilità legittime abusate coinvolte nell’attacco.
graph TB %% Definizioni classi classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ff9999 classDef misc fill:#dddddd %% Nodi phish_spear[“<b>Azione</b> – <b>T1566.001 Phishing: allegato di spearphishing</b><br/><b>File</b>: Bestellung.CMD”]:::technique cmd_shell[“<b>Tecnica</b> – <b>T1059.003 Interprete di comandi e script</b><br/>Windows Command Shell”]:::technique vbscript[“<b>Tecnica</b> – <b>T1059.005 Interprete di comandi e script</b><br/>Visual Basic (cscript.exe + .vbs)”]:::technique syncappv_proxy[“<b>Tecnica</b> – <b>T1216.002 Esecuzione tramite proxy di script di sistema</b><br/>SyncAppvPublishingServer”]:::technique powershell_hidden[“<b>Tecnica</b> – <b>T1059.001 Interprete di comandi e script</b><br/>PowerShell (nascosto, decodifica Base64)<br/><b>Sottotecniche</b>: T1027.009 payload incorporati, T1564.003 finestra nascosta”]:::technique ingress_transfer[“<b>Tecnica</b> – <b>T1105 Trasferimento strumenti in ingresso</b><br/>Download di utility 7z e ZIP protetto da password<br/><b>Sottotecnica</b>: T1027.015 compressione”]:::technique javascript_masq[“<b>Tecnica</b> – <b>T1059.007 Interprete di comandi e script</b><br/>JavaScript (iphdcrtj.js)<br/><b>Mascheramento</b>: T1036.008 PNG falso contenente script AutoIt”]:::technique process_injection[“<b>Tecnica</b> – <b>T1055 Injection di processo</b><br/>Iniettato in colorcpl.exe”]:::technique reflective_loader[“<b>Tecnica</b> – <b>T1620 Caricamento di codice riflessivo</b><br/>DonutLoader shellcode → software di accesso remoto (Remcos RAT)”]:::technique c2_comm[“<b>Tecnica</b> – <b>T1071 Protocollo di livello applicativo</b><br/>Comunicazione C2”]:::technique %% Connessioni phish_spear –>|porta_a| cmd_shell cmd_shell –>|porta_a| vbscript vbscript –>|porta_a| syncappv_proxy syncappv_proxy –>|porta_a| powershell_hidden powershell_hidden –>|porta_a| ingress_transfer ingress_transfer –>|porta_a| javascript_masq javascript_masq –>|porta_a| process_injection process_injection –>|porta_a| reflective_loader reflective_loader –>|porta_a| c2_comm
Flusso di Attacco
Rilevamenti
Stringhe Powershell Sospette (via powershell)
Visualizza
Stringhe Powershell Sospette (via cmdline)
Visualizza
Chiama Metodi .NET Sospetti da Powershell (via powershell)
Visualizza
IOCs (HashSha256) per rilevare: Ingannosamente Dolce: DonutLoader Ricaricato in un’infezione moderna da Remcos RAT
Visualizza
Rilevazione del Comando PowerShell IEX con AppvClient [Windows Powershell]
Visualizza
Rilevazione della Catena di Infezione Remcos RAT Usando LOLBins [Creazione Processo Windows]
Visualizza
Esecuzione di Simulazione
Prerequisito: Il Controllo Pre-volo di Telemetria e Baseline deve essere superato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevazione. I comandi e la narrazione DEVONO riflettere direttamente le TTP identificate e mirano a generare l’esatta telemetria prevista dalla logica di rilevamento.
-
Narrativa e Comandi dell’Attacco:
L’avversario ha ottenuto un payload PowerShell dannoso (es., un downloader) che è stato codificato in Base64 per sfuggire al rilevamento statico. Per rimanere sotto il radar, l’attaccante sceglie un modulo integrato firmato—AppvClient—che è comunemente presente sui sistemi Windows. Importano il modulo, quindi utilizzanoInvoke-Expression (IEX)per decodificare ed eseguire il payload interamente in memoria, lasciando nessun artefatto di file. Questa esatta riga di comando (Import-Module AppvClient; IEX <Base64String>) corrisponde alla condizione della regola Sigma. -
Script di Test di Regressione:
<# Script di simulazione per attivare la regola di rilevazione "PowerShell IEX con AppvClient". #> # 1. Importare il modulo legittimo (esecuzione proxy del binario firmato) Import-Module AppvClient -ErrorAction Stop # 2. Preparare un semplice payload PowerShell benigno e codificarlo in Base64 $payload = "Write-Host 'Simulazione compromissione – payload eseguito.'" $bytes = [System.Text.Encoding]::Unicode.GetBytes($payload) $b64 = [System.Convert]::ToBase64String($bytes) # 3. Eseguire il payload in memoria usando IEX (l'attivatore di rilevazione) IEX ([System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($b64))) # 4. Opzionale: tenere la sessione attiva brevemente per assicurarsi che i log siano esauriti Start-Sleep -Seconds 5 -
Comandi di Pulizia:
# Rimuovere il modulo importato per ridurre il footprint if (Get-Module -Name AppvClient) { Remove-Module -Name AppvClient -Force } # Cancellare la cronologia di PowerShell per la sessione corrente Clear-History