Software falso su GitHub e SourceForge distribuisce Deno RAT di Gabriele Orini
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Gli attori della minaccia stanno distribuendo finti installer e plug-in per software ampiamente utilizzati attraverso GitHub e SourceForge per consegnare una backdoor basata su Deno nota come DinDoor. Il malware installa il runtime Deno tramite Scoop o WinGet, quindi avvia un RAT JavaScript in grado di rubare dati, eseguire comandi remoti e abilitare lo streaming video peer-to-peer. Pacchetti MSI dannosi e script PowerShell vengono utilizzati per avviare la catena di infezione, mentre il traffico del comando e controllo viene trasportato tramite HTTP o WebSocket. La campagna sfrutta anche canali YouTube compromessi per indirizzare le vittime verso i repository dannosi.
Indagine
I ricercatori hanno ricostruito l’intera sequenza di infezione, a partire da comandi curl che scaricavano un file MSI, seguiti da script di installazione che distribuivano Scoop, WinGet e Deno prima di eseguire il caricatore JavaScript DinDoor. La loro analisi ha documentato le capacità del RAT, tra cui ricognizione del sistema, furto di browser e portafogli crittografici, VNC su WebSocket e streaming peer-to-peer basato su Edge. Il team ha anche estratto indicatori come domini, URL, indirizzi IP e artefatti da riga di comando per supportare la rilevazione e la caccia alla minaccia.
Mitigazione
Le organizzazioni dovrebbero scaricare software solo dai siti ufficiali dei fornitori e verificare le firme digitali prima di eseguire qualsiasi installer. I team di sicurezza dovrebbero monitorare l’uso insolito di Scoop e WinGet per installare il Deno, oltre a distribuire software inaspettato basato su MSI. Il traffico in uscita verso i domini e gli indirizzi IP identificati come dannosi dovrebbe essere bloccato, e le attività PowerShell o comandi curl che scaricano ed eseguono file da fonti non attendibili devono essere attentamente controllate.
Risposta
I difensori dovrebbero allertare sull’avvio di msiexec che esegue file provenienti da URL sospetti di GitHub o SourceForge, su chiavi di registro Run che avviano deno.exe, e sulle comunicazioni di rete con l’infrastruttura di comando e controllo nota. Gli host compromessi dovrebbero subire una revisione forense per individuare script lasciati cadere, il runtime Deno e qualsiasi meccanismo di persistenza. I sistemi compromessi dovrebbero essere isolati immediatamente e tutte le installazioni di Deno non autorizzate dovrebbero essere rimosse.
Flusso d’attacco
Rilevamenti
LOLBAS Conhost (tramite cmdline)
Visualizza
Comando e Controllo Sospetto tramite Richiesta DNS di Dominio di Livello Superiore (TLD) Insolito (tramite dns)
Visualizza
IOC (SourceIP) da rilevare: Software falso su GitHub e SourceForge distribuiscono Deno RAT di Gabriele Orini
Visualizza
IOC (DestinationIP) da rilevare: Software falso su GitHub e SourceForge distribuiscono Deno RAT di Gabriele Orini
Visualizza
Rilevazione di Comunicazione C2 del DinDoor RAT [Connessione di Rete Windows]
Visualizza
Rilevazione della Distribuzione del Deno RAT tramite Falsi Installer [Creazione Processo Windows]
Visualizza
Esecuzione di PowerShell con Finestra Nascosta e Policy di Esecuzione Ignorata [PowerShell di Windows]
Visualizza
Esecuzione di Simulazione
Prerequisito: Il Check pre-volo di Telemetria & Baseline deve essere superato.
Motivo: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e il racconto DEVONO riflettere direttamente i TTP identificati e mirano a generare l’esatta telemetria attesa dalla logica di rilevamento.
-
Narrazione d’attacco & Comandi:
Un aggressore ha ottenuto l’accesso iniziale tramite uno script CMD malevolo consegnato in un allegato di phishing. Per mantenere la furtività, lo script lancia PowerShell con una finestra nascosta, disabilita la policy di esecuzione e esegue un payload codificato in base64 che scarica ed esegue un payload di secondo stadio. La riga di comando esatta corrisponde ai tre sottostringhe segnalate della regola, garantendo il rilevamento.-
Fase 1 – Lanciatore CMD (simulato dal tester):
@echo off start "" powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -EncodedCommand %payload% -
Fase 2 – Payload PowerShell (codificato in base64, innocuo per il test):
$cmd = 'Write-Output "Eseguita simulazione malevola" $bytes = [System.Text.Encoding]::Unicode.GetBytes($cmd) $b64 = [Convert]::ToBase64String($bytes) echo $b64 # Inserisci questo valore come %payload% nel file batch
-
-
Script di Test di Regressione: Lo script seguente automatizza l’intero flusso, generando il comando codificato, lanciando PowerShell con i flag richiesti, e poi pausando brevemente per permettere al SIEM di ingerire l’evento.
# ------------------------------------------------- # Test di Regressione – PowerShell Hidden + Bypass EP # ------------------------------------------------- # 1) Costruisce un payload innocuo (Write-Output) $payload = 'Write-Output "Eseguita simulazione malevola"' # 2) Codifica il payload in base64 (codifica Unicode, come si aspetta PowerShell) $bytes = [System.Text.Encoding]::Unicode.GetBytes($payload) $b64 = [Convert]::ToBase64String($bytes) # 3) Lancia PowerShell con il set di flag esatto richiesto dalla regola Sigma $psCmd = @( 'powershell.exe', '-NoProfile', '-ExecutionPolicy', 'Bypass', '-WindowStyle', 'Hidden', '-EncodedCommand', $b64 ) -join ' ' Write-Host "Esecuzione: $psCmd" Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile","-ExecutionPolicy","Bypass","-WindowStyle","Hidden","-EncodedCommand",$b64 -WindowStyle Hidden # 4) Attendi che i log siano propagati (regola se necessario) Start-Sleep -Seconds 10 Write-Host "Simulazione completa – verifica rilevamento nel SIEM." -
Comandi di Pulizia: Rimuovi eventuali file temporanei (nessuno creato qui) e assicurati che non rimangano processi PowerShell residui.
# Termina eventuali processi PowerShell residui generati dal test (escludendo la sessione corrente) Get-Process -Name powershell | Where-Object { $_.Id -ne $PID } | Stop-Process -Force Write-Host "Pulizia completa."