Scoperta Variante di PureRAT nel Lettore Video AI
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Una campagna malware sta utilizzando un falso downloader video a tema Google Drive per avviare una catena di esecuzione a più stadi. L’infezione si sposta da un loader basato su Python a shellcode e quindi a un’assembly .NET protetta identificata come PureRAT. Il malware si avvale di una pesante offuscazione, crittografia personalizzata e comunicazioni WebSocket autenticate per gestire il traffico di comando e controllo.
Indagine
L’indagine ha analizzato un flusso di esecuzione a fasi che ha avuto inizio con un loader di bytecode Python. I ricercatori hanno osservato la decodifica Base85, zlib decompressione e iniezione di shellcode tramite VirtualAlloc. Un’ulteriore analisi ha scoperto un loader .NET fortemente protetto, Ykzrh/smveo-csharp-agent.exe, che utilizzava virtualizzazione e ricostruzione runtime per ostacolare l’analisi.
Mitigazione
Gli utenti devono essere avvisati di non scaricare file da esche video non ufficiali o sospette. Le organizzazioni dovrebbero monitorare l’esecuzione non autorizzata di Python e il comportamento insolito delle assembly .NET nelle directory dei dati delle applicazioni locali. Applicare liste di attesa forti e monitorare i cambiamenti sospetti della chiave Run possono anche ridurre il rischio di compromesso.
Risposta
Se viene rilevata questa attività, isolare immediatamente gli endpoint compromessi per interrompere il traffico di comando e controllo basato su WebSocket. Gli investigatori dovrebbero eseguire un’analisi della memoria per catturare il payload .NET decriptato e determinare l’entità dell’infezione. Anche i log di rete dovrebbero essere controllati per connessioni a smveo.com infrastruttura, e tutte le credenziali potenzialmente esposte dovrebbero essere ruotate.
Flusso di Attacco
Rilevamenti
Punti di Possibile Persistenza [ASEPs – Hive Software/NTUSER] (via registry_event)
Visualizza
Comunicazione PureRAT Variante C2 tramite WebSocket Autenticato [Connessione Rete Windows]
Visualizza
Persistenza tramite Windows Registry Run Key [Evento Registro di Windows]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il controllo Pre-volo di Telemetria & Baseline deve essere superato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (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 attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a un’errata diagnosi.
-
Narrativa dell’Attacco & Comandi: L’avversario ha distribuito con successo una variante di PureRAT. Per mantenere il controllo, il malware stabilisce un canale di Comando e Controllo (C2) persistente. Anziché il polling HTTP standard, utilizza una connessione WebSocket autenticata per aggirare i proxy web tradizionali che potrebbero non ispezionare i flussi WebSocket a lunga durata. L’obiettivo dell’attaccante è stabilire un tunnel stabile e a bassa latenza verso
agent.sm-veo.comsulla porta8443. Questa simulazione utilizzerà uno script PowerShell per imitare questo comportamento di rete avviando una connessione all’URI dannoso. -
Script di Test di Regressione:
# Simulazione di PureRAT Variante C2 tramite WebSocket # Obiettivo: Attivare la regola di rilevamento tramite dominio o URL di destinazione. $targetUrl = "wss://agent.sm-veo.com:8443/v1/ws" $targetDomain = "agent.sm-veo.com" Write-Host "[+] Avvio Simulazione C2 PureRAT..." -ForegroundColor Cyan try { Write-Host "[+] Tentativo di stabilire una connessione WebSocket a $targetUrl" # Utilizzando un client WebSocket .NET per simulare il comportamento specifico del protocollo $ws = New-Object System.Net.WebSockets.ClientWebSocket $uri = New-Object System.Uri($targetUrl) $ct = New-Object System.Threading.CancellationTokenSource # Non è necessario un handshake riuscito per attivare la telemetria di rete, # solo il tentativo di connettersi alla destinazione specificata. $task = $ws.ConnectAsync($uri, $ct.Token) # Attendiamo brevemente affinché il tentativo di connessione generi telemetria Start-Sleep -Seconds 5 Write-Host "[!] Tentativo di connessione completato. Controllare SIEM per la telemetria." -ForegroundColor Green } catch { Write-Host "[!] Connessione fallita (previsto se il dominio è sottoposto a sinkhole/non reale), ma la telemetria dovrebbe essere stata generata." -ForegroundColor Yellow } finally { if ($ws) { $ws.Dispose() } } -
Comandi di Pulizia:
# Nessun file o chiave di registro persistenti è stato modificato da questo specifico script di simulazione. # Se la persistenza (T1547.001) è stata simulata, utilizzare il seguente: # Remove-ItemProperty -Path 'HKCU:SoftwareMicrosoftWindowsCurrentVersionRun' -Name 'PureRAT_Update' Write-Host "[+] Pulizia completata. Nessun residuo lasciato dalla simulazione di rete." -ForegroundColor Cyan