Académie de l'investigation - Administration

Énoncé

Ce poste administre un serveur distant avec le protocole SSH à l'aide d'une authentification par clé (clé protégée par mot de passe). La clé publique a été utilisée pour chiffrer le message ci-joint (flag.txt.enc).

Retrouvez et reconstituez la clé en mémoire qui permettra de déchiffrer ce message.

dmp.tar.gz

Étape 1 - Recherche d'une clé avec volatility

Nous devons retrouver une clé (privé) RSA dans la mémoire, c'est parti, et avec volatility.

Après avoir testé et vérifié absolument tous les plugins volatility existant je ne trouve aucune trace de clé rsa dans ce dump.

J'ai simplement un visuel sur l’existence de cette clé avec strings :

onosh@kali:/home/onosh/FCSC/FORENSIC/volatility# strings ../dmp/dmp.mem |grep -inH --color 'id_rsa'
(standard input):1078026:Enter passphrase for key '/home/Lesage/.ssh/id_rsa': 
(standard input):1788358:Enter passphrase for key '/home/Lesage/.ssh/id_rsa': 
(standard input):2191305:h/id_rsa
(standard input):2441815:/id_rsa'
(standard input):3498355:Enter passphrase for key '/home/Lesage/.ssh/id_rsa':

Et si volatility ne suffisait pas ?

Étape 2 - RSAKEYFIND

Je découvre en cherchant sur notre bon vieux google, un outil, rsakeyfind. Il existe dans les dépot debian, le nom est plutot attirant, et en plus il prend en entrer un dump mémoire...

Wow, magique, il nous trouve deux clés.

La première ne fonctionne pas, je test la deuxième avec ce petit script :

Il me ressors gentiment une clé privé :

J'essaye de déchiffrer le fichier avec la clé trouvée :

Mis à jour

Ce contenu vous a-t-il été utile ?