15/01/2020
17h30
Forensique et CTF
Volatility
Ce que l'on peut faire
Notion de profil
Dump Linux
Dump Windows
mini-CTF
Qu'est-ce que c'est ?
Analyse d'un support (matériel ou non)
3 phases
acquisition
analyse
reporting
Associé à un context (instant t)
En CTF
Phase d'analyse
Exemples
reconstruire une chronologie
extraire des fichiers
profiter de la fraicheur (RAM)
Ce que l'on peut faire
dumpper des fichiers
lister/dumpper les processus
connaitre l'état du réseau (socket)
historique de navigation web
accès au cache
...
Notion de profil
comprendre l'organisation de la mémoire
structures de données utilisées
algorithmes/symboles à utiliser
--profile=Win7SP1x64_23418
Windows 7
Service Pack 1
64 bits (si 32 bits alors x86)
23418: numéro de build
Dump Linux
Souvent nécessaire de créer un profil
Créer même OS
même version
même kernel
Dump Windows
# get dump profile
$ vol.py -f windows.raw imageinfo
...
Suggested Profile(s) : Win10x64_10586,...
...
# use profile
$ vol.py -f windows.raw --profile=Win10x64_10586 filescan
...
# search file
$ vol.py -f windows.raw --profile=Win10x64_10586 filescan | grep -i mft
0x02410900 3 0 RWD--- \Device\HarddiskVolume1\$Mft
0x02539e30 3 0 RWD--- \Device\HarddiskVolume1\$Mft
0x025ac868 3 0 RWD--- \Device\HarddiskVolume1\$MftMirr
# dump file
$ mkdir output
$ vol.py -f windows.raw --profile=Win10x64_10586 dumpfiles -Q 0x02539e30 -D output/
# list process
$ vol.py --plugins=./plug -f linux.raw --profile=LinuxUbuntux64 linux_pslist
Offset Name Pid Uid Gid
------------------ -------------------- --------------- --------------- ------
0xffff88007b818000 init 1 0 0
0xffff8800790c5bc0 gnome-pty-helpe 11285 1000 1000
0xffff88007ad15bc0 bash 11286 1000 1000
0xffff88005b8bdbc0 firefox 11370 1000 1000
teamcryptis.fr (slides + détails)
2h
solo ou duo
vous faire apprendre des choses
correction des challenges (semaine pro.)
2 dumps à télécharger
URLs sur Discord
sur teamcryptis.fr
par clé USB
$ sudo apt update
# install dependences
$ sudo apt install volatility
# clone repo
$ git clone https://github.com/volatilityfoundation/volatility
# use volatility
$ python ./volatility/vol.py -f ...