Analisi di SHEET#CREEP: Il Malware Ritorna con Nuova Offuscazione della Configurazione
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Un’operazione di spionaggio attiva conosciuta come SHEETCREEP si avvale di un trojan di accesso remoto in C# che utilizza l’API di Google Sheets per comandi e controllo. Gli attaccanti consegnano il malware attraverso un’esca di phishing a tema diplomatico ISO, dopo di che il RAT stabilisce la persistenza ed esegue comandi tramite uno spazio di esecuzione in-process PowerShell. Campioni recenti mostrano che gli operatori hanno rafforzato il malware introducendo un’offuscamento basato su XOR per i dati di configurazione.
Indagine
Il team di ricerca delle minacce di Securonix ha scoperto la campagna estraendo le credenziali del servizio Google Cloud integrate dal binario RAT. Dopo aver autenticato il foglio di comando e controllo live, i ricercatori hanno identificato 91 schede di vittime attive, comprese sandbox, ambienti di ricerca e una vittima ad alta sicurezza situata in Pakistan. La loro analisi ha anche mostrato che la protezione della configurazione del malware si è evoluta attraverso un approccio di offuscamento aggiornato.
Mitigazione
Le organizzazioni dovrebbero evitare di aprire allegati non richiesti, soprattutto file ISO che contengono file di collegamento LNK. I difensori dovrebbero monitorare la %LOCALAPPDATA%MicrosoftVault directory alla ricerca di eseguibili sospetti e esaminare le attività programmate per voci fuorvianti o inattese. Una forte visibilità degli endpoint tramite strumenti come Sysmon e AMSI può anche aiutare a rilevare l’attività in-process di PowerShell legata a questo malware.
Risposta
Se si osserva traffico HTTPS insolito verso i servizi API di Google da processi non del browser, il sistema interessato dovrebbe essere isolato immediatamente. Le squadre di sicurezza dovrebbero ispezionare le attività programmate per elementi non autorizzati come WindowsVaultSyncService. Dovrebbe anche essere eseguita una revisione forense di %LOCALAPPDATA%MicrosoftVault per identificare binari nascosti o attribuiti al sistema associati all’intrusione.
graph TB %% Sezione definizione delle classi classDef initial_access fill:#f96,stroke:#333,stroke-width:2px classDef execution fill:#3498db,stroke:#333,stroke-width:2px classDef persistence fill:#2ecc71,stroke:#333,stroke-width:2px classDef evasion fill:#9b59b6,stroke:#333,stroke-width:2px classDef command_control fill:#e74c3c,stroke:#333,stroke-width:2px classDef malware fill:#ecf0f1,stroke:#333,stroke-width:2px %% Nodi di accesso iniziale node_iso[“<b>File</b>: UAE-India_Strategic_Partnership_Week.iso<br/><b>Azione</b>: Montaggio ISO<br/><b>Contesto</b>: Tema diplomatico utilizzato per l’ingegneria sociale”] class node_iso initial_access node_lnk[“<b>File</b>: Collegamento LNK dannoso<br/><b>Tecnica</b>: T1027.012 – File o Informazioni Offuscate: LNK Icon Smuggling<br/><b>Descrizione</b>: File LNK camuffato come icona PDF per ingannare l’utente”] class node_lnk initial_access %% Nodi di esecuzione e dropper node_user_exec[“<b>Azione</b>: T1204.002 – Esecuzione dell’Utente: File Dannoso<br/><b>Descrizione</b>: La vittima interagisce con il file LNK dannoso”] class node_user_exec execution node_dropper[“<b>Malware</b>: Dropper C#<br/><b>File</b>: Document_11052026-03578240540350-93.exe<br/><b>Funzione</b>: Estrae un PDF esca e rilascia il payload RAT”] class node_dropper execution %% Nodi di persistenza ed evasione node_rat[“<b>Malware</b>: SHEETCREEP RAT<br/><b>Processo</b>: vaultsvc.exe<br/><b>Posizione</b>: %LOCALAPPDATA%\\Microsoft\\Vault\\vaultsvc.exe”] class node_rat malware node_attr_evasion[“<b>Azione</b>: T1027.008 – File o Informazioni Offuscate: Payload Rimossi<br/><b>Descrizione</b>: Impostazione degli attributi del file RAT come Nascosto e Sistema”] class node_attr_evasion evasion node_persistence[“<b>Azione</b>: T1137 – Avvio Applicazioni Office<br/><b>Metodo</b>: Attività pianificata tramite API COM<br/><b>Nome Attività</b>: WindowsVaultSyncService”] class node_persistence persistence node_melt[“<b>Azione</b>: T1070.004 – Rimozione Indicatori: Eliminazione File<br/><b>Descrizione</b>: La routine melt elimina il dropper e lo sostituisce con un PDF legittimo”] class node_melt evasion %% Nodi C2 ed evasione avanzata node_c2_api[“<b>Tecnica</b>: T1102.002 – Servizio Web: Comunicazione Bidirezionale<br/><b>Canale</b>: Google Sheets API<br/><b>Autenticazione</b>: Account di servizio GCP e chiave RSA-2048”] class node_c2_api command_control node_xor_cfg[“<b>Tecnica</b>: T1573.002 – Canale Crittografato<br/><b>Descrizione</b>: Configurazione cifrata XOR usando la chiave ‘discrete’ per lo Spreadsheet ID”] class node_xor_cfg command_control node_powershell_evasion[“<b>Tecnica</b>: T1036.011 – Mascheramento: Sovrascrittura degli Argomenti del Processo<br/><b>Descrizione</b>: Esecuzione di comandi tramite PowerShell runspace in-process per eludere EDR”] class node_powershell_evasion evasion %% Flusso delle connessioni node_iso –>|contiene| node_lnk node_lnk –>|attiva| node_user_exec node_user_exec –>|esegue| node_dropper node_dropper –>|rilascia| node_rat node_dropper –>|applica_attributi| node_attr_evasion node_dropper –>|stabilisce| node_persistence node_dropper –>|esegue| node_melt node_rat –>|comunica_tramite| node_c2_api node_rat –>|utilizza| node_xor_cfg node_rat –>|esegue_comandi_tramite| node_powershell_evasion
Flusso di attacco
Rilevazioni
Possibile Utilizzo della Scelta per il Ritardo di Esecuzione (tramite cmdline)
Visualizza
Immagine Disco Ottico VHDMP È Stato Montato (tramite VHDMP)
Visualizza
Attività Pianificata Sospetta (tramite audit)
Visualizza
Possibile Attività di Utilità di Comando e Controllo Google (tramite proxy)
Visualizza
IOC (HashSha256) da rilevare: Analizzando SHEET#CREEP: SHEETCREEP è di nuovo operativo con diversa offuscamento di configurazione
Visualizza
IOC (SourceIP) da rilevare: Analizzando SHEET#CREEP: SHEETCREEP è di nuovo operativo con diversa offuscamento di configurazione
Visualizza
IOC (DestinationIP) da rilevare: Analizzando SHEET#CREEP: SHEETCREEP è di nuovo operativo con diversa offuscamento di configurazione
Visualizza
Rilevazione della Comunicazione C2 di Sheet#CREEP tramite API di Google Sheets [Firewall]
Visualizza
Rileva Utilizzo di Mutex di SHEET#CREEP Malware [Windows Sysmon]
Visualizza
Rilevazione dei Modelli di Persistenza ed Esecuzione di SHEETCREEP [Creazione Processo Windows]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Controllo Pre-volo del Telemetria e Baseline deve essere passato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare esattamente la telemetria attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnosi errata.
-
Narrativa dell’Attacco e Comandi: L’avversario mira a stabilire la persistenza ed eseguire un trojan di accesso remoto (RAT) utilizzando la tecnica SHEETCREEP. Per prima cosa, simulano l’esecuzione iniziale tramite un file LNK dannoso che chiama
cmd.exeper avviare uno specifico eseguibile sospetto. Successivamente, stabiliscono la persistenza creando un’attività pianificata chiamataWindowsVaultSyncServicecon una descrizione ingannevole per confondersi con gli aggiornamenti di sistema. Infine, distribuiscono il payloadvaultsvc.exenellaC:Utenti<Utente>AppDataLocalMicrosoftVaultdirectory ed eseguirlo per attivare la parte finale della logica di rilevamento. -
Script di Test per la Regressione:
# Script di Simulazione SHEETCREEP # Nota: Questo script deve essere eseguito con privilegi amministrativi per creare attività pianificate. $targetDir = "$env:LOCALAPPDATAMicrosoftVault" $payloadName = "vaultsvc.exe" $payloadPath = "$targetDir$payloadName" $taskName = "WindowsVaultSyncService" $taskDesc = "Windows Edge Core Update Task Machine Discord Update" Write-Host "[+] Avvio Simulazione SHEETCREEP..." -ForegroundColor Cyan # 1. Simulare Selezione 1: Esecuzione CMD con stringa specifica Write-Host "[+] Simulazione Selezione 1: modello comando CMD..." -ForegroundColor Yellow Start-Process cmd.exe -ArgumentList '/c start "" "Document_11052026-03578240540350-93.exe"' -WindowStyle Hidden # 2. Simulare Selezione 2: Creazione Attività Pianificata Write-Host "[+] Simulazione Selezione 2: creazione attività pianificata..." -ForegroundColor Yellow $action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c echo Persistence Established" $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $taskName -Description $taskDesc -Force # 3. Simulare Selezione 3: Posizionamento del payload ed esecuzione Write-Host "[+] Simulazione Selezione 3: distribuzione ed esecuzione del payload..." -ForegroundColor Yellow if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force | Out-Null } # Creare un file binario fittizio per imitare il RAT New-Item -Path $payloadPath -ItemType File -Force | Out-Null # Eseguire il payload fittizio Start-Process -FilePath $payloadPath -WindowStyle Hidden -ErrorAction SilentlyContinue Write-Host "[+] Comandi di simulazione inviati. Verificare gli avvisi nel SIEM." -ForegroundColor Green -
Comandi di Pulizia:
# Pulizia Simulazione SHEETCREEP $targetDir = "$env:LOCALAPPDATAMicrosoftVault" $payloadPath = "$targetDirvaultsvc.exe" $taskName = "WindowsVaultSyncService" Write-Host "[+] Pulizia degli artefatti della simulazione..." -ForegroundColor Cyan # Rimuovere Attività Pianificata Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue # Rimuovere Payload e Directory if (Test-Path $payloadPath) { Remove-Item $payloadPath -Force } if (Test-Path $targetDir) { Remove-Item $targetDir -Recurse -Force } Write-Host "[+] Pulizia completata." -ForegroundColor Green