Mòdul Professional 4: Anàlisi forense informàtic - Anàlisi d'Evidències volàtils
Índex
- 1. Descàrrega i instal·lació
- 2. Afegir plugins i perfils
- 3. Plugins a Volatility3
- 3.1. windows.info
- 3.2. windows.pslist
- 3.3. windows.psscan
- 3.4. windows.pstree
- 3.5. windows.malfind
- 3.6. passar clamAV a la evidència
- 3.7. windows.hashdump
- 3.8. windows.dlllist
- 3.9. windows.filescan
- 3.10. windows.dumpfiles
- 3.11. windows.netscan
- 3.12. windows.netstat
- 3.13. windows.cmdline
- 3.14. windows.envars
- 3.15. windows.strings
- 3.16. windows.registry.hivelist
- 3.17. windows.registry.printkey
- 4. Plugins a Volatility 2.6
- 5. Cerca de Malware
- 6. Arxius d'hivernació
- 7. Crash Dumps
- 8. Cache
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
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
.