EVENT_05

Forensique

 

15/01/2020

17h30

Title Text

La team(us)

Programme

  1. Forensique et CTF

  2. Volatility

    1. Ce que l'on peut faire

    2. Notion de profil

    3. Dump Linux

    4. Dump Windows

  3. mini-CTF

Forensique et 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)

Forensique et CTF

  • En CTF

    • Phase d'analyse

    • Exemples

      • reconstruire une chronologie

      • extraire des fichiers

      • profiter de la fraicheur (RAM)

Volatility

  • Qu'est ce que c'est ?
    • Framework d'analyse forensique
    • Données issues de mémoires volatiles (RAM)
    • Python
      • v2: actuellement
      • v3: en beta
    • grand nombre de plugins
    • dump Windows, Linux, macOS

Volatility

  • 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

    • ...

Volatility - Profil

  • 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

Volatility - Linux

  • Dump Linux

    • Souvent nécessaire de créer un profil

    • Créer même OS

      • même version

      • même kernel

    • Sera fourni aujourd'hui

Volatility - Windows

  • 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
...

Volatility

  • Windows
# 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
  • Linux (linux_xxxx)

Volatility

  • Le meilleur ami

mini-CTF

  • teamcryptis.fr (slides + détails)

  • 2h

  • solo ou duo

  • vous faire apprendre des choses

  • correction des challenges (semaine pro.)

mini-CTF

  • 2 dumps à télécharger

    • URLs sur Discord

    • sur teamcryptis.fr

    • par clé USB

Accès à la plateforme

$ 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 ...

À l'attaque !