Mòdul Professional 4: Anàlisi forense informàtic - Anàlisi d'Evidències volàtils

Índex

1. Descàrrega i instal·lació

Actualment la Volatility Fundation manté tres versions del framework.

  • 2.6 : Descarregable des de la web Github oficial, però no actualitzat des de fa 3-8 anys.
  • 3.0 : Descarregable des de també des del Github oficial, actualment actualitzat.

Per tant descarregarem la versió Volatility 3 des del Github oficial, pre-instal·lant pre-requisits i dependències opcionals.

2. Afegir plugins i perfils

Per afegir nous plugins dependrà de la versió de volatility. Tanmateix en tots dos casos la instal·lació és tan simple com copiar els arxius .py dins del directori corresponent.

  • Volatility 2.6: /volatility/plugins
  • Volatility3 : /volatility3/framework/plugins i el subdirectori corresponent.

3. Plugins a Volatility3

Per llistar plugins:

vol.py -h

Podem trobar una guia a la Wiki del projecte però compte pq alguns plugins són per Volatility 2. Altres gruis i webs de referència poden ser:

Qualsevol plugin podem utilitzar el paràmetre -h per obtenir més ajuda.

3.1. windows.info

Ens donarà informació sobre l'imatge de Windows.

vol.py -f imatge.raw --windows.info | tee vol-windows.info.txt

volatility_windows.info.gif

3.2. windows.pslist

Retorna el llistat de processos actius. Amb això podem fer un primer triage conneixent els processos típics de Windows, i les seves característiques per detectar de forma ràpida possible malware ocult.

3.2.1. Windows Core proccesses

Process Parent Path Singleton Account Start Time
System none none Yes Local System boot
SMS.EXE System System32\smss.exe No Local System boot
wininit.exe none System32\wininit.exe Yes Local System boot
taskhost.exe services.exe System32\taskhost.exe No many varies
lsass.exe wininit.exe System32\lsass.exe Yes Local System boot
winlogon.exe none System32\winlogon.exe No Local System varies
iexplorer.exe explorer.exe \Program Files\Internet Explorer\iexplore.exe No Local Users varies
explorer.exe userinit.exe SystemRoot%\explorer.exe No Local Users varies
lsm.exe wininit.exe \System32\lsm.exe Yes Local System, Network, Service or Local Service boot, som after boot
services.exe wininit.exe \System32\services.exe yes Local System boot
csrss.exe none \System32\csrss.exe No local System boot

3.2.2. Dump de processos

Pot ser interessant dumpejar processos sospitossos i passar-los a virustotal per veure si són malware conegut o simplement passar una comanda strings per intentar localitzar alguna cadena de text concreta. Per fer-ho podem afegir a la comanda anterior els paràmetres:

-o <directori_de_sortida> --pid <pid_procés> --dump

Per acabar-ho podem pujar a virustotal el dump directament o si tenim molts arxius, simplement un txt amb els hash md5 dels mateixos.

3.3. windows.psscan

Semblant a l'anterior però en aquest cas també trobarem processos que hagin utilitzat tècniques per no sortir al llistat de processos de Windows (no busquem el llistat de processos, sinó en tota la memòria estructures que siguin de processos).

3.4. windows.pstree

Un pslist però amb estructura d'arbre per identificar més ràpidament dependències i possibles candidats a malware.

3.5. windows.malfind

Fa una pasada ràpida buscant malware amb diferents tècniques.

3.6. passar clamAV a la evidència

3.7. windows.hashdump

Busca a la imatge els hash de les contrasenyes dels comptes del sistema. A partir d'aquí caldría crackejar amb diccionari i/o força bruta.

3.8. windows.dlllist

Llista les DLL carregades, molt malware s'amaga aquí. Amb dumpfiles les podem volcar.

3.9. windows.filescan

Llistat d'arxius carregats en memòria, útil per combinar amb dumpfiles.

3.10. windows.dumpfiles

Permet descarregar o volcar imatges d'arxius, processos, dlls…

Podem dumpejar-ho tot, després fer-ne un llistat de hash MD5 i finalment enviar-los a virustotal. Recordeu utilitzar l'opció -o <directori> per marcar on voleu tots els arxius extrets. Un cop fet podem executar les comandes següents per obtenir l'arxiu de hash.

md5sum * | awk '{print $1}' > hashlist.txt

Això junt amb un script per enviar els hash a virustotal (per exemple aquest) i les API Keys de virustotal, podeu automatitzar el procés i verificar cada arxiu dumpejat de la imatge.

3.11. windows.netscan

Retorna les connexions actives en el sistema.

3.12. windows.netstat

Semblant a l'anterior.

3.13. windows.cmdline

Retorna l'històric de comandes.

3.14. windows.envars

Retorna les variables d'entorn.

3.15. windows.strings

Permet saber quins processos contenen quins strings prèviament extrets.

3.16. windows.registry.hivelist

Retorna un llistat dels hive (registres de windows) a memòria.

3.17. windows.registry.printkey

Retorna llistat claus principals del hive. Amb el paràmetre --key "<clau>" podem recuperar el valor d'una clau determinada.

4. Plugins a Volatility 2.6

En versions anteriors a volatility3 cal indicar el plugin a utilitzar i també el perfil mitjançant --profile=PERFIL. El perfil es pot determinar amb el plugin imageinfo.

5. Cerca de Malware

6. Arxius d'hivernació

7. Crash Dumps

8. Cache

Data: 2021-04-08 dj. 00:00

Autor: Raul Gimenez Herrada

Created: 2022-01-11 dt. 10:20