Analisi tecnica di un malware dumpato senza header PE: il caso dllhost.exe

di Redazione
0 commenti 4 minuti di lettura
Fortinet logo

Un’analisi approfondita condotta dal team FortiGuard Labs ha rivelato l’esistenza di un malware attivo da settimane su una macchina compromessa, eseguito tramite script e PowerShell senza lasciare tracce evidenti nel file system. In particolare, si tratta di un eseguibile dumpato dalla memoria che non conserva i tradizionali header PE, rendendo l’analisi complessa e sofisticata. Lo studio è servito a replicare l’ambiente originale, ricostruire il comportamento del malware e svelarne le funzioni di comando remoto, esfiltrazione e persistenza.

Analisi della memoria e ricostruzione ambientale

Il malware è stato identificato all’interno del processo dllhost.exe, con PID 8200, in un intervallo di memoria ben definito. Il dump, ottenuto da una macchina infetta, mostra header DOS e PE azzerati, una tecnica usata per evitare l’analisi statica. Gli analisti hanno replicato il contesto operativo del malware lanciando un processo dllhost.exe e iniettando il codice dannoso nella stessa area di memoria originaria, utilizzando VirtualAlloc().

image 388
Analisi tecnica di un malware dumpato senza header PE: il caso dllhost.exe 7

Poiché gli header erano corrotti, è stato necessario individuare manualmente il punto d’ingresso del malware, con una ricerca mirata su istruzioni tipiche di inizio funzione come “sub rsp, 28h”. Questo ha condotto al punto iniziale reale a 0x1C3EEFEE0A8.

Gestione dinamica delle API e delle dipendenze

Una delle difficoltà principali è stata la ricostruzione della tabella delle importazioni: le API di Windows non vengono caricate sempre agli stessi indirizzi. È stato necessario calcolare e sostituire gli indirizzi delle 257 funzioni API richieste, appartenenti a 16 moduli (tra cui kernel32.dll, gdi32.dll, ole32.dll, ntdll.dll). Questo processo ha previsto sia l’analisi dei moduli da dump, sia il confronto con il sistema locale, e la sostituzione con indirizzi validi usando LoadLibrary e patch manuali.

Inoltre, è stata allocata memoria per dati globali necessari all’esecuzione corretta del malware, individuati anch’essi nel dump della memoria e iniettati nello spazio virtuale del processo.

Avvio del malware e comunicazione C2

Superate le difficoltà tecniche, il malware è stato eseguito in ambiente controllato. La prima azione è consistita nella decrittazione dell’indirizzo del server C2, memorizzato in modo cifrato. Il dominio rushpapers[.]com e la porta 443 sono stati recuperati tramite una funzione dedicata, che ha evidenziato una routine di crittografia XOR con chiave random.

Successivamente, il malware ha creato un nuovo thread per avviare la comunicazione, utilizzando TLS su WebSocket. Analizzando i pacchetti in chiaro prima della cifratura, è stato osservato un handshake WebSocket standard, seguito da una crittografia personalizzata. Ogni pacchetto viene cifrato con XOR, usando una chiave casuale memorizzata nei registri.

Le richieste al server rivelano che il malware trasmette informazioni sul sistema compromesso, come versione del sistema operativo, architettura e configurazione.

Controllo del sistema e capacità remote del malware

Attraverso un’analisi dettagliata delle chiamate API e del flusso esecutivo, è stato possibile determinare che il malware agisce come un RAT. Tra le capacità identificate vi è la cattura di screenshot, che avviene attraverso l’uso combinato di API grafiche di GDI+ e stream in memoria: una volta catturata, l’immagine viene convertita in JPEG e inviata al server C2 insieme al titolo della finestra attiva, permettendo così all’attaccante di contestualizzare l’azione dell’utente.

Inoltre, il malware include una funzione in grado di trasformare il sistema infetto in un server TCP, utilizzando un’architettura multithread per gestire più connessioni contemporaneamente. Tale modalità consente all’attaccante di stabilire una sessione remota persistente e interattiva con la macchina.

Non meno importante, il malware sfrutta le API del Service Control Manager (SCM) per ottenere l’elenco dei servizi presenti nel sistema e potenzialmente modificarli, disattivarli o riavviarli a seconda delle esigenze operative.

L’intera analisi dimostra quanto sia avanzato questo esemplare di malware, soprattutto nella sua capacità di eludere l’analisi statica attraverso la distruzione degli header PE. Il processo di emulazione dell’ambiente originale, di mappatura della memoria e di ricalcolo degli indirizzi delle API ha permesso l’esecuzione controllata del codice e la comprensione della sua architettura funzionale.

Particolare attenzione meritano le tecniche crittografiche: oltre alla cifratura TLS, il malware applica un ulteriore livello di protezione tramite algoritmi personalizzati basati su XOR, rendendo difficile l’analisi del traffico senza accesso diretto alla memoria in chiaro.

Le funzionalità raccolte indicano una minaccia persistente e modulare, con capacità di controllo remoto avanzate, funzioni di spionaggio visivo e gestione diretta dei servizi di sistema. È quindi fondamentale per i team di risposta agli incidenti avere strumenti di analisi dinamica capaci di gestire eseguibili corrotti o parziali, oltre a competenze su debugging in ambienti virtualizzati e reverse engineering avanzato.

MatriceDigitale.it – Copyright © 2024, Livio Varriale – Registrazione Tribunale di Napoli n° 60 del 18/11/2021. – P.IVA IT10498911212 Privacy Policy e Cookies