Dentro un Proxy e RAT Basati su Deno
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Un attaccante ha distribuito un Trojan ad accesso remoto (RAT) modulare e un framework proxy sfruttando il runtime JavaScript di Deno. L’attacco ha utilizzato mailbombing e impersonificazione di Microsoft Teams per facilitare il download di un archivio dannoso. L’impianto opera tramite più file JavaScript modulari che utilizzano specifici flag di permesso Deno per eseguire comunicazioni C2, esecuzione di comandi locali e pivoting di rete.
Indagine
L’indagine ha rivelato una fase di accesso iniziale costituita da flooding di email e ingegneria sociale tramite Microsoft Teams. Il malware è stato identificato come un sistema modulare non tradizionale basato su Deno suddiviso in quattro script: app.js, back.js, helper.js e webui.js. Il rilevamento è avvenuto durante attività di ricognizione post-sfruttamento piuttosto che durante l’esecuzione iniziale.
Mitigazione
Le organizzazioni dovrebbero monitorare l’esecuzione di runtime di scripting come Deno da directory scrivibili dagli utenti e avvisare sui flag di permesso sospetti come –allow-run o –allow-net. Si raccomanda di implementare il monitoraggio per i servizi HTTP di loopback locale e la correlazione di avvisi di impersonificazione Teams con anomalie email. Inoltre, restringere la possibilità di eseguire runtime non firmati o non approvati può ridurre la superficie di attacco.
Risposta
Al rilevamento, i risponditori dovrebbero isolare gli host affetti e indagare sulla fonte dell’impersonificazione Teams. L’analisi dovrebbe concentrarsi sulla filiera dei processi Deno e su eventuali servizi locali legati a porte loopback 10021 o 10022. Esaminare i Microsoft 365 Unified Audit Logs per eventi TeamsImpersonationDetected è fondamentale per determinare l’ambito della campagna di ingegneria sociale.
Flusso di Attacco
Rilevamenti
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (tramite registri_eventi)
Vedi
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (tramite cmdline)
Vedi
Possibile Tentativo di Abuso del Runtime di Deno (tramite creazione_processi)
Vedi
Possibile Scoperta di Configurazione di Rete di Sistema (tramite cmdline)
Vedi
LOLBAS Conhost (tramite cmdline)
Vedi
IOC (HashSha256) per rilevare: Anatomia di un Proxy e RAT Basato su Deno
Vedi
Rileva Deno che Esegue Comandi del Shell [Windows Sysmon]
Vedi
Rileva Esecuzione di RAT Basato su Deno con Flag di Permesso Sospetti [Creazione Processo Windows]
Vedi
Esecuzione di Simulazione
Prerequisito: Il Controllo Pre-volo di Telemetria e Baseline deve essere passato.
Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirano a generare la telemetria esatta prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrativa di Attacco e Comandi: L’avversario ha consegnato con successo un RAT malevolo basato su Deno sul computer della vittima tramite un allegato di spearphishing (T1566.004). Per eludere l’AV basato su firme tradizionali, l’attaccante nasconde il binario Deno all’interno di una sottodirectory profonda e non standard del profilo di roaming dell’utente:
C:Utenti ome.utenteAppDataRoamingDenoJSEnv. L’attaccante esegue quindi il binario usando i--allow-runand--allow-netflag. Questo permette al malware basato su JavaScript di eseguire comandi shell arbitrari per la scoperta del sistema (T1082) e comunicare con un server C2 esterno su HTTPS (T1071.001). -
Script di Test di Regressione:
# Nota: Questo script simula l'esistenza della directory e del binario # per attivare la logica della regola. In un vero test, il file deve esistere nel percorso esatto. $targetDir = "C:Utenti ome.utenteAppDataRoamingDenoJSEnv" $targetExe = "$targetDirdeno.exe" # 1. Crea la struttura di directory specifica richiesta dalla regola di rilevamento if (!(Test-Path $targetDir)) { New-Item -ItemType Directory -Force -Path $targetDir } # 2. Crea un file dummy per agire come 'deno.exe' # In una simulazione reale, questo sarebbe il binario Deno effettivo. New-Item -ItemType File -Force -Path $targetExe # 3. Esegui il comando 'malevolo' # Usiamo Start-Process per assicurarci che appaia come un processo figlio nei log di Sysmon. # Poiché 'deno.exe' è un esempio fittizio, chiameremo 'cmd.exe' ma maschereremo la stringa di comando # per adattarla alla logica, O, se si sta testando la regola EFFETTIVA, assicurare che il binario # sia reale e chiamarlo. Per questa simulazione, assumiamo che l'utente fornisca un # vero binario Deno in quel percorso. Write-Host "[!] Simulazione dell'esecuzione di $targetExe con flag malevoli..." Start-Process -FilePath "cmd.exe" -ArgumentList "/c echo Simulazione Attivazione Regola..." # Nota: Per attivare veramente la regola, il vero deno.exe deve essere presente. # Se la regola sta cercando strettamente il percorso Immagine, il binario DEVE essere presente. # Per il bene di uno script di simulazione funzionale, chiamiamo il percorso: # Start-Process -FilePath $targetExe -ArgumentList "--allow-run --allow-net" -
Comandi di Pulizia:
# Rimuovi la directory e i file dannosi simulati Remove-Item -Path "C:Utenti ome.utenteAppDataRoamingDenoJSEnv" -Recurse -Force Write-Host "[+] Pulizia completata."