Solution de timruff pour Académie de l'investigation - Premiers artéfacts

forensics mémoire linux

29 mars 2026

Table des matières

Context

Nous devons trouver d’autres informations :

  1. Le nom du processus qui a le PID 1254.
  2. La commande qui a été exécutée le 2020-03-26 23:29:19 UTC.
  3. Le nombre de connexions unique TCP et UDP passées depuis l’extérieur.

Solution

Pour résoudre cette investigation, nous allons utiliser volatility 3, version 2.27 au minimum.

python3 vol.py -f dmp.mem linux.psscan.PsScan | grep 1254
0x3fdccd80	1251	1254	1176	pool-xfconfd	EXIT_DEAD

On voit ici que le nom du programme à qui appartient au PID 1254 est pool-xfconfd, de plus on remarque qu’il c’est terminé de façon anormale, il a planté ou a été tué avec kill.

python3 vol.py -f dmp.mem linux.bash.Bash
...
Volatility 3 Framework 2.27.0

PID	Process	CommandTime	Command

1523	bash	2020-03-26 23:24:18.000000 UTC	rm .bash_history 
1523	bash	2020-03-26 23:24:18.000000 UTC	exit
1523	bash	2020-03-26 23:24:18.000000 UTC	vim /home/Lesage/.bash_history 
1523	bash	2020-03-26 23:24:27.000000 UTC	ss -laupt
1523	bash	2020-03-26 23:26:06.000000 UTC	rkhunter -c
1523	bash	2020-03-26 23:29:19.000000 UTC	nmap -sS -sV 10.42.42.0/24
1523	bash	2020-03-26 23:31:31.000000 UTC	ip -c addr
1523	bash	2020-03-26 23:38:00.000000 UTC	swapoff -a
1523	bash	2020-03-26 23:38:05.000000 UTC	swapon -a
1523	bash	2020-03-26 23:40:18.000000 UTC	ls
1523	bash	2020-03-26 23:40:23.000000 UTC	cat LiME.txt 
1523	bash	2020-03-26 23:40:33.000000 UTC	cd LiME/src/
1523	bash	2020-03-26 23:40:54.000000 UTC	
1523	bash	2020-03-26 23:40:54.000000 UTC	insmod lime-5.4.0-4-amd64.ko "path=/dmp.mem format=lime timeout=0"

On voit ici qu’a 2020-03-26 23:29:19 UTC que la commande qui a été exécutée est : nmap -sS -sV 10.42.42.0/24.

python3 /vol.py -f dmp.mem linux.sockstat.Sockstat > out.txt

grep ESTABLISHED out.txt | grep TCP | grep -v 127.0.0.1 | awk '{print $2}' | sort | uniq -c | sort -nr
     24 ThreadPoolForeg
     12 ThreadPoolServi
     12 MemoryInfra
     12 inotify_reader
     12 gmain
     12 gdbus
     12 chromium
     12 Chrome_ChildIOT
      2 tor
      1 ssh
      1 smbclient
      1 sh
      1 ncat

grep ESTABLISHED out.txt | grep TCP | grep -v 127.0.0.1 | awk '{print $2}' | sort | uniq -c | sort -nr | wc -l
13

La première commande avec volatility 3 on consigne toutes les connexions dans un fichier out.txt.
On filtre toutes les connexions qui on été Réussie.
On garde les connexions TCP et exclue les connexions localhost (127.0.0.1).
On prend la deuxième colonne qui sont les noms des programmes.
On trie les noms et on garde un seul exemplaire et comptant le nombre de fois qu’ils sont apparus.
On trie par ordre croissant, puis décroissant est on affiche les noms. Même chose que la commande qui affiche les noms, sauf qu’a la fin on compte le nombre de ligne.
Donc ici on a eu 13 programmes unique qui se sont connectés depuis l’extérieur.