05 aprile 2021

Installare e usare volatility2 su ubuntu 20.04

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

$ apt install -y python2 python-dev dwarfdump build-essential yara zip git

installiamo pip2 e poi pycrypto, yara e distorm3

$ wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
$ sudo get-pip.py
$ sudo pip2 install pycrypto yara-python distorm3==3.4.4

Scarichiamo volatility2

$ sudo -i
# git clone https://github.com/volatilityfoundation/volatility.git

Creazione del profilo

# cd volatility/tools/linux
# 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

# ./vol.py -f /home/kernel.avml --profile=LinuxUbuntu_5_4_0-70-genericx64 linux_pstree
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