Sicurezza e Giustizia

UN ESEMPIO PRATICO DI MEMORY FORENSICS CON L’OPEN SOURCE

Facebooktwittergoogle_plusredditpinterestlinkedinmail

di Nanni Bassetti

La memory forensics, ossia le indagini sul contenuto della memoria RAM di un dispositivo digitale come un computer, rappresentano una materia abbastanza complessa, infatti occorre conoscere molto bene come funzionano i processi ed il sistema operativo, al fine di comprendere cosa è in esecuzione e quali file sono coinvolti.
In quest’articolo si tratterà un piccolo esempio di “malware hunting” (caccia al malware) per illustrare come con degli strumenti open source ed online, si può trovare il software maligno che infesta un computer, chiaramente è un percorso semplice per fini descrittivi e didattici, dato che scovare i malware e le loro varie declinazioni spesso è molto più complicato.

pdf-icon

 

1.     Introduzione
Di seguito vengono descritti i passaggi operativi che occorre effettuare per il “malware hunting”, iniziando con il download del file immagine di una RAM che appartiene ad un computer compromesso da un noto malware, in questo caso si tratta del “vecchio” SpyEye:
https://code.google.com/archive/p/volatility/wikis/SampleMemoryImages.wiki
ATTENZIONE i file contengono veramente il malware, quindi operate in ambiente di test a vostro rischio.

Il file in questione è: spyeye.vmem (512Mb). Il percorso operativo sarà così composto:
Cerchiamo le connessioni in esecuzione.
Cerchiamo i processi che le creano.
Cerchiamo il malware iniettato nel processo.
Estraiamo il malware.
Lo controlliamo su https://virustotal.com/.
Estraiamo le stringhe contenute nel malware al fine di cercare la chiave di registro che lo manda in esecuzione.
Analizziamo la chiave di registro per trovare qual’è il file eseguibile e dov’è allocato nel computer.

I programmi utilizzati saranno:
OS CAINE 8.0
Volatility Framework 2.5
VirusTotal.com
Strings

 

2.     Procedura operativa

 

PASSO 1: Cerchiamo le connessioni in esecuzione
volatility -f spyeye.vmem connscan
BASSETTI_Screenshot at 2016-11-01 11_53_451
Troviamo la connessione all’indirizzo IP 65.55.xxx.xxx sulla porta 443 ID del Processo: 1068 (figura 1).
Troviamo la connessione all’indirizzo IP 207.46.xxx.xxx sulla porta 80 ID del Processo: 1068 (figura 1).

 

PASSO 2: Cerchiamo i processi che le creano
volatility -f spyeye.vmem pslist
BASSETTI_Screenshot at 2016-11-01 11_54_50
Scopriamo che il processo è: 0x822a0758 svchost.exe 1068 (figura 2).
SVCHOST è un esecutore di servizi, per dirla in maniera semplice ed è normale che sia in esecuzione.

 

PASSO 3: Cerchiamo il malware iniettato nel processo sospetto
volatility -f spyeye.vmem malfind -p 1068
BASSETTI_Screenshot at 2016-11-01 11_55_07
Il -p 1068 serve per indicare il processo numerato come 1068 ossia SVCHOST (figura 3).

Volatility Foundation Volatility Framework 2.5
Process: svchost.exe Pid: 1068 Address: 0xea50000
Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE
Flags: CommitCharge: 46, MemCommit: 1, PrivateMemory: 1, Protection: 6

0x0ea50000 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00 MZ…………..
0x0ea50010 b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ……..@…….
0x0ea50020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
0x0ea50030 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 …………….

Notiamo che il plugin malfind di Volatility trova all’indirizzo 0xea50000 un file eseguibile, perchè inizia con “MZ”, la tipica sequenza di caratteri con la quale iniziano tutti i file EXE.
Inoltre notiamo che la VADS PROTECTION è PAGE_EXECUTE_READWRITE, ossia il Virtual Address Descriptor, che rappresenta ciascun file presente in memoria e sul disco, è eseguibile (EXECUTE).

 

PASSO 4: Estraiamo il malware
volatility -f spyeye.vmem vaddump -p 1068 -b 0xea50000 -D /home/caine/dump

Volatility Foundation Volatility Framework 2.5
Pid Process Start End Result
———- ——————– ———- ——
1068 svchost.exe 0x0ea50000     0x0ea7dfff /home/caine/dump/svchost.exe.22a0758.0x0ea50000-0x0ea7dfff.dmp

Abbiamo chiesto a Volatility di estrarre il nodo VAD che inizia all’indirizzo 0xea50000 e salvarlo nella directory /home/caine/dump, il software l’ha nominato automaticamente in svchost.exe.22a0758.0x0ea50000-0x0ea7dfff.dmp (figura 4).
BASSETTI_Screenshot at 2016-11-01 11_3_33

 

PASSO 5: Controlliamo il file su VirusTotal.com
Carichiamo il file svchost.exe.22a0758.0x0ea50000-0x0ea7dfff.dmp su VirusTotal.com, un grande meta-motore di ricerca che invia il file a vari scanner antivirus ed otteniamo il riconoscimento del tipo di malware (figura 5).

 

PASSO 6: Estraiamo le stringhe contenute nel malware al fine di cercare la chiave di registro che lo manda in esecuzione
strings svchost.exe.22a0758.0x0ea50000-0x0ea7dfff.dmp > strings.txt

Osservando le stringhe estratte possiamo trovare molte informazioni, come il nome del file eseguibile e la chiave di registro di Windows che lo manda in running (figura).

BASSETTI_Screenshot at 2016-11-01 11_42_47
 

PASSO 7: Individuiamo il file
volatility -f spyeye.vmem printkey -K “SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN”
Volatility Foundation Volatility Framework 2.5
Legend: (S) = Stable (V) = Volatile

REG_SZ cleansweep.exe : (S) C:\cleansweep.exe\cleansweep.exe

Abbiamo scovato il “cattivone”! Si trova in C:\cleansweep.exe\cleansweep.exe e così possiamo andarlo a prendere e cancellarlo o analizzarlo, ecc.

 

3.     Conclusioni
È sempre emozionante usare gli strumenti a “basso livello”, ossia senza troppi automatismi ed interfacce grafiche, perché sembra proprio di scavare nelle informazioni digitali e capire meglio come sono organizzate, ma ricordiamo che il presente articolo è utile solo per dare un esempio veloce e comprensibile di come si possa fare della “memory” e “malware forensics”, che forse sono le branche più ostiche di tutta la digital forensics, poiché comportano conoscenze veramente approfondite dei sistemi, delle reti, del reverse engineering anche in Assembly, pertanto a chi vuole approcciare questi temi, non ci resta che augurare buona caccia!

 

BIBLIOGRAFIA
The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory – Michael Hale Ligh, Andrew Case, Jamie Levy, AAron Walters – 2014 WILEY
http://trickandtipsforpc.blogspot.it/2015/07/malware-memory-forensics-introduction.html
http://securityxploded.com/malware-memory-forensics.php
http://www.behindthefirewalls.com/2013/07/zeus-trojan-memory-forensics-with.html. ©

 


Altri articoli di Nanni Bassetti

LE PROCEDURE ED I METODI DELLA DIGITAL FORENSICS SONO COSI’ IMPORTANTI? -
di Nanni Bassetti (n.I_MMXVIII)
Che impatto avrebbe il non effettuare una copia bit a bit e non calcolare i codici hash sull’attendibilità dei dati che saranno analizzati? Accendere un computer per ispezionarlo prima di acquisire la copia dei dischi, cosa comporta? Spesso sembra che adottare delle procedure sia solo un esercizio di stile, a avolte sembre importante solo trovare le evidenze.
COME AFFRONTARE I “BIG DATA” NELLA DIGITAL FORENSICS -
di Nanni Bassetti (n.II_MMXV)
L’aumento incontrollato di dati è diventato un ostacolo per gli investigatori informatici, che devono affrontare una corsa agli armamenti informatici per far fronte a questo tsunami digitale. Analisi di alcuni sistemi organizzativi che potrebbero aiutare a vincere questa battaglia.
I DATI TELEFONICI PER FINALITÀ GIUDIZIARIE NELLE APPLICAZIONI REALI -
di Nanni Bassetti e Paolo Reale (n.III_MMXIV)
Overview dei dati che gli operatori telefonici possono fornire al fine di tracciare l’attività e la localizzazione dell’utente, ed un commento alle leggende “high tech” create nel tempo su essi.
ANALIZZARE DISPOSITIVI SENZA INTERFACCE O DISTRUTTI: LA “CHIP-OFF” FORENSICS -
di Nanni Bassetti (n.I_MMXIV)
La tecnica d’indagine forense c.d “chip-off” rappresenta l’estremo tentativo di recuperare dati ed informazioni da un dispositivo, quasi sempre di tipo mobile (come ad es. il telefono cellulare, il tablet, la pendrive, il navigatore satellitare, l’unità GPS, la game console, il registratore digitale, ecc..), soprattutto quando non vi è modo di connettersi a causa della mancanza d’interfacce o perché il dispositivo è quasi totalmente distrutto.
IL FUTURO DELLA DIGITAL FORENSICS -
di Nanni Bassetti (n.IV_MMXIII)
Nel futuro della Digital Forensics si cominciano a intravedere scure nubi, formate da ostacoli di non piccolo cabotaggio. Durante le vostre ricerche potrete imbattervi in alcuni di questi baubau della Digital Forensics, vere e proprie innovazioni tecnologiche e culturali, che potrebbero spazzar via tutto quello che finora si è cercato di consolidare.
GIUSTIZIA ED INFORMATICA FORENSE: PARTICOLARITÀ ED ECCEZIONI -
di Nanni Bassetti e Paolo Reale (n.III_MMXIII)
Il Consulente Tecnico esperto in Digital Forensics si imbatte in situazioni di natura paradossale durante le operazioni eseguite su disposizione dell’autorita’ giudiziaria in materia civile e penale. Vediamone alcuni aspetti, come la mancanza dei requisiti richiesti a ricoprire tale ruolo e le tariffe relative alla sua remunerazione.