Solution de lrstx pour Académie de l'investigation - Porte dérobée

forensics mémoire linux

4 mai 2024

Préambule: cette (ancienne) solution s’appuie sur Volatility 2.6, datant de 2016. vol est un wrapper rappelant les paramètres fixes dans cette analyse (image mémoire et profil):

python2 /opt/volatility/vol.py -f dmp.mem --profile LinuxDebian-FCSCx64 $@

On résume : on a une porte dérobée, et un poste connecté dessus. En examinant les process et les connexions réseaux, on devrait s’en sortir.

D’abord les process :

$ ./vol linux_pstree
Name                 Pid             Uid
[...]
.x-terminal-emul     1503            1001
..bash               1513            1001
...ncat              1515            1001
....sh               119511          1001
...smbclient         119577          1001
..bash               1519            1001
...su                1522            1001
....bash             1523
.....insmod          119822
..bash               119463          1001
...ssh               119468          1001
..bash               119707          1001
...ncat              119711          1001
[...]

Du netcat qui spawn un shell ? C’est plutôt intrigant. Voyons de plus près ce process ncat de pid 1515, et ses connexions réseau :

$ ./vol linux_netstat -p 1515
TCP      fd:6663:7363:1000:c10b:6374:25f:dc37:36280 fd:6663:7363:1000:55cf:b9c6:f41d:cc24:58014 ESTABLISHED                  ncat/1515

Bingo. On a donc un netcat qui écoute sur le port 36280, sur lequel une IP s’est connectée et se retrouve avec un shell. Il nous reste juste à déterminer à quelle heure ce process a été démarré.

$ ./vol linux_pslist -p 1515
Offset             Name                 Pid             PPid            Uid             Gid    DTB                Start Time
------------------ -------------------- --------------- --------------- --------------- ------ ------------------ ----------
0xffff9d72c014be00 ncat                 1515            1513            1001            1001   0x000000003e3d0000 2020-03-26 23:24:20 UTC+0000

On reconstitue les informations :

Et le flag :

FCSC{36280:fd:6663:7363:1000:55cf:b9c6:f41d:cc24:2020-03-26 23:24:20}