MedusaHVNC Ruba Sessioni Windows in Diretta Attraverso un Desktop Nascosto
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
MedusaHVNC è un nuovo Trojan di Accesso Remoto (RAT) identificato, distribuito attraverso un modello Malware-as-a-Service (MaaS). Utilizza un modulo di Virtual Network Computing (HVNC) nascosto per creare una sessione desktop di Windows separata e invisibile. Questo consente agli attaccanti di dirottare sessioni del browser attive, inclusi i cookie e gli stati di sessione autenticati, senza allertare la vittima.
Indagine
I ricercatori hanno analizzato un campione di MedusaHVNC e scoperto una catena di infezione a cinque fasi che inizia con un lanciatore JScript offuscato. L’indagine ha mostrato che AutoIt viene utilizzato per la decrittazione e l’iniezione di processi nell’utility legittima Mappa Caratteri di Windows (charmap.exe). Il payload finale si basa sulla crittografia ChaCha20 e comunica con un server C2 hard-coded su un protocollo TCP personalizzato.
Mitigazione
La mitigazione efficace include il blocco delle infrastrutture C2 note e il monitoraggio dei terminali per connessioni di rete in uscita insolite. Le organizzazioni dovrebbero implementare controlli anti-esfiltrazione dei dati capaci di ispezionare il traffico in uscita indipendentemente dal processo di origine. Anche il monitoraggio di processi figli sospetti o di attività di iniezione che coinvolgono binari di sistema legittimi come charmap.exe può migliorare la rilevazione.
Risposta
Se viene rilevata attività MedusaHVNC, i team di sicurezza dovrebbero isolare immediatamente il terminale interessato per terminare la comunicazione con il server C2. Gli investigatori dovrebbero identificare il percorso iniziale di consegna del lanciatore JScript e controllare i meccanismi di persistenza nella cartella Avvio. Anche i log delle sessioni e delle autenticazioni dovrebbero essere esaminati per attività non autorizzate avvenute durante la finestra di compromissione.
Flusso di Attacco
Rilevamenti
LOLBAS WScript / CScript (via process_creation)
Proof of Value
Binari / Script Sospetti in Posizione di Avvio Automatico (via file_event)
Proof of Value
IOC (SourceIP) da rilevare: MedusaHVNC: Un Desktop Nascosto che Ruba Sessioni di Windows Attive
Proof of Value
IOC (DestinationIP) da rilevare: MedusaHVNC: Un Desktop Nascosto che Ruba Sessioni di Windows Attive
Proof of Value
Rilevamento delle Comunicazioni C2 di MedusaHVNC [Connessione di Rete Windows]
Proof of Value
Rilevamento di JScript Launcher e Interprete AutoIt nella Catena di Infezione MedusaHVNC [Creazione Processo Windows]
Proof of Value
Esecuzione di Simulazione
Requisito Preliminare: Il Controllo Pre-volo di Telemetria & Baseline deve essere superato.
Razionale: Questa sezione descrive l’esecuzione dettagliata della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e il testo narrativo DEVONO rispecchiare direttamente i TTP identificati e mirare a generare l’esatta telemetria attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrativa & Comandi dell’Attacco: Un avversario ha distribuito con successo MedusaHVNC su una workstation vittima. Per stabilire il comando e controllo (C2) e iniziare l’interazione desktop remoto, il malware tenta di contattare il suo ascoltatore hard-coded. In questa simulazione, imitiamo questo comportamento forzando una connessione a un ascoltatore locale sulla porta 4444. Questa azione è intesa a simulare la fase “Phone Home” del ciclo di vita di MedusaHVNC, generando un log con ID Evento Sysmon 3 con
DestinationPort: 4444. -
Script di Test di Regressione:
# Script di Simulazione: Emulazione Comunicazione C2 di MedusaHVNC # Obiettivo: Generare un evento di connessione di rete sulla porta 4444 per attivare la regola Sigma. $TargetIP = "127.0.0.1" $TargetPort = 4444 Write-Host "[+] Avvio Simulazione C2 MedusaHVNC..." -ForegroundColor Cyan # Step 1: Creare un ascoltatore locale per intercettare la connessione (Simula Server C2) $Listener = New-Object System.Net.Sockets.TcpListener([System.Net.IPAddress]::Loopback, $TargetPort) $Listener.Start() Write-Host "[+] Ascoltatore C2 locale avviato su $TargetIP:$TargetPort" -ForegroundColor Green try { # Step 2: Emulare la connessione in uscita del malware Write-Host "[+] Emulazione connessione in uscita verso C2..." -ForegroundColor Yellow $Client = New-Object System.Net.Sockets.TcpClient $Client.Connect($TargetIP, $TargetPort) Write-Host "[!] Successo: Connessione stabilita. Controllare SIEM per avvisi." -ForegroundColor Red } catch { Write-Host "[-] Connessione fallita: $($_.Exception.Message)" -ForegroundColor Red } finally { # Pulizia connessione if ($Client) { $Client.Close() } $Listener.Stop() Write-Host "[+] Pulizia simulazione completa." -ForegroundColor Cyan } -
Comandi di Pulizia:
# Assicurarsi che non esistano processi o ascoltatori residui Stop-Process -Name "powershell" -Force -ErrorAction SilentlyContinue # (Nota: In un ambiente reale, verificare manualmente che la porta 4444 sia chiusa) Test-NetConnection -ComputerName 127.0.0.1 -Port 4444