Introduzione
Per chi non lo sapesse, Volatility è un framework per l'analisi forense.
Ossia per analizzare un sistema che è stato compromesso o che potrebbe
essere stato compromesso. Si basa sul dump della ram su file e della
successiva analisi di tale dump. Ci sono vari tool sia software che
hardware per effettuare il dump, una volta ottenuto il file lo si da in
pasto a volatility il quale puo' estrarre praticamente tutto quello che
nel momento del dump si trovava in ram. Comprese le chiavi
crittografiche. E poi ovviamente lista dei processi, connessioni,
history di bash, driver caricati ecc. Ovviamente avendo tutte queste
informazioni a disposizione è possibile anche effettuare delle ricerche o
confronti incrociati per trovare processi nascosti o driver invisibili.
E poi molto molto altro. Volatility puo' analizzare il dump della ram
sia in ambiente linux che windows e mac.
In questo articolo vedremo come installare ed usare volatility2 su Ubuntu 20.04. Il problema maggiore è rappresentato dalla configuraizione del profilo del Kernel. Gli step saranno i seguenti:
- Installare il software necessario via apt
- Installare pip2 manualmente
- Installare pycrypto, distorm2 e yara-python via pip2
- Scaricare volatility2 da github
- Creare il profilo per volatility2
- Usare volatility2
Scaricare e installare tutto il necessario
Procediamo nell'installazione di vari software essenziali per usare volatility
installiamo pip2 e poi pycrypto, yara e distorm3
$ sudo get-pip.py
$ sudo pip2 install pycrypto yara-python distorm3==3.4.4
Scarichiamo volatility2
# git clone https://github.com/volatilityfoundation/volatility.git
Creazione del profilo
# make
# zip $(lsb_release -i -s)_$(uname -r).zip ./module.dwarf /boot/System.map-$(uname -r)
# cp $(lsb_release -i -s)_$(uname -r).zip ../../volatility/plugins/overlays/linux/
# cd ../..
Usiamo volatility
Name Pid Uid
systemd 1
.systemd-journal 358
.systemd-udevd 428
..systemd-udevd 61980 -1
..........................
.[loop25] 473
.[loop26] 494
.[irq/46-mei_me] 505
.[loop27] 521
.[cfg80211] 529
.[irq/47-iwlwifi] 532
.[kworker/u9:2] 990
.[kmemstick] 1065
.[iprt-VBoxWQueue] 2336
.[iprt-VBoxTscThr] 2337
.[kworker/1:0] 30854
.[kworker/2:0] 56575
.[loop28] 56785
.[kworker/u8:2] 57529
.[kworker/3:1] 61236
.[kworker/u8:1] 61352
.[kworker/0:0] 61617
.[kworker/1:1] 61668
.[kworker/2:2] 61727
.[kworker/0:2] 61806
.[kworker/3:0] 61920
.[kworker/3:3] 61922
.[kworker/0:1] 61930
.[kworker/u8:0] 61973
.[kworker/u8:3] 61979