Académie de l'investigation - C'est la rentrée

Énoncé

Bienvenue à l'académie de l'investigation numérique ! Votre mission, valider un maximum d'étapes de cette série afin de démontrer votre dextérité en analyse mémoire GNU/Linux.

Première étape : retrouvez le HOSTNAME, le nom de l'utilisateur authentifié lors du dump et la version de Linux sur lequel le dump a été fait.

Format du flag : FCSC{hostname:user:x.x.x-x-amdxx}

dmp.tar.gz

Étape 1 - Le Hostname

Pour ce premier challenge forensic de l'FCSC, nous commencons les analyses avec strings et grep, les informations demandés ne sont pas trop poussés et cela devrait suffir.

J'essaye de jouer sur les variables d'environnement pour le hostname

onosh@kali:/home/onosh/FCSC/FORENSIC/volatility# strings ../dmp/dmp.mem |grep -nH --color 'HOSTNAME'
70069:XAUTHLOCALHOSTNAME=
787892:RESOLVE-HOSTNAME%s %s
1060239:PWMGR_NUM_PASSWORDS_PER_HOSTNAME
1466026:XAUTHLOCALHOSTNAME
1492253:PWMGR_NUM_PASSWORDS_PER_HOSTNAME
1917088:NM_DHCP_HOSTNAME_FLAG_NONE
2067905:HOSTNAME
2352591:NO_HOSTNAME_SPECIFIED
2461029:XAUTHLOCALHOSTNAME
2539984:HOSTNAME
2539985:HOSTNAME
2844373:RESOLVE-HOSTNAME%s %s
2984831:HOSTNAME
3173881:_HOSTNAME=challenge.fcsc
3257537:HOSTNAME

Bingo ! On a quelque chose de pas mal avec challenge.fcsc

Étape 2 - Le nom d'utilisateur authentifié

Pour le nom d'utilisateur, j'ai essayé de reproduire ce que l'on voit généralement dans le prompt d'un terminal c'est à dire user@hostname, et je prend celui qui ai le plus apparu :)

onosh@kali:/home/onosh/FCSC/FORENSIC/volatility# strings ../dmp/dmp.mem |grep --color '@challenge' |awk -F' ' '{print $1}' |sort |uniq -c |sort -n
      1 +($debian_chroot)}root@challenge:~#
      1 +($debian_chroot)}root@challenge:~/LiME/src#
      1 ge@challenge:
      1 )}root@challenge:~#
      2 Lesage@challenge@
      4 esage@challenge:
      4 Lesage@challenge:~$
      6 Lesage@challenge:~/Documents$
      8 [01;32mLesage@challenge
      8 ]0;Lesage@challenge:
      9 root@challenge:~/LiME/src#
     17 root@challenge:~#
     78 Lesage@challenge:

Nous avons donc l'utilisateur Lesage

Étape 3 - La version de Linux

Ici on attend certainement une version de kernel linux, on peut le déduire grâce au format du flag : x.x.x-x-amdxx

onosh@kali:/home/onosh/FCSC/FORENSIC/volatility# strings ../dmp/dmp.mem |grep --color 'amd64'
BOOT_IMAGE=/boot/vmlinuz-5.4.0-4-amd64 root=UUID=536c82dd-f1c5-43ce-b65d-c94e5c4a5031 ro quiet
5.4.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 9.2.1 20200203 (Debian 9.2.1-28)) #1 SMP Debian 5.4.19-1 (2020-02-13)
Linux 5.4.0-4-amd64 Debian GNU/Linux bullseye/sid
5.4.0-4-amd64
/usr/lib/jvm/java-11-openjdk-amd64/lib
/usr/lib/jvm/java-11-openjdk-amd64/lib/libnio.so
/usr/lib/jvm/java-11-openjdk-amd64/lib/javaplugin.jar
/usr/lib/jvm/java-11-openjdk-amd64/lib/libjimage.so
/usr/lib/jvm/java-11-openjdk-amd64/lib/libzip.so
/usr/lib/jvm/java-11-openjdk-amd64/lib/plugin.jar
/usr/lib/jvm/java-11-openjdk-amd64/lib
/vmlinuz-5.4.0-4-amd64 root=UUID=536c82dd-f1c5-43ce-b65d-c94e5c4a5031 ro quiet
vermagic=5.4.0-4-amd64 SMP mod_unload modversions 
5.4.0-4-amd64
:amd64/mpih-add1.S:amd64/mpih-sub1.S:amd64/mpih-mul1.S:amd64/mpih-mul2.S:amd64/mpih-mul3.S:amd64/mpih-lshift.S:amd64/mpih-rshift.S
5.4.0-4-amd64
5.4.0-4-amd64
insmod lime-5.4.0-4-amd64.ko "path=/dump.mem format=lime timeout=0"

Bon pas de doute le kernel est 5.4.0-4-amd64, on le voit grâce à la commande lime qui permet de créer le dump, et grâce à la variable d'environnement BOOT_IMAGE.

Le flag : FCSC{challenge.fcsc:Lesage:5.4.0-4-amd64}

Dernière mise à jour