Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Récupérer des clés SSH en mémoire

Si vous gérez plusieurs machines via SSH, peut-être utilisez-vous SSH-agent ? Cet outil tourne en arrière-plan sur votre machine et charge les clés privées SSH avec leur mot de passe en mémoire. Ainsi, lorsque vous vous connectez une première fois en SSH, la clé reste en mémoire et vous n’avez plus besoin par la suite taper le mot de passe (passphrase) à chaque reconnexion.

Pratique si vous êtes souvent déco.

Toutefois, il est possible de se faire pomper les clés ssh déchiffrées présentes en mémoire. Bon, ce n’est pas un vrai risque car il faut être root et quand on est root de toute façon, on a accès à tout et on peut tout faire… C’est surtout une jolie démo de ce qu’il est possible de faire en matière d’extraction de clés privées en mémoire.

Cela passe par le debugger gdb qui permet de produire un dump du process SSH-agent. Il y a un script dispo sur Github pour automatiser tout ça : grabagentmem.sh

root@test:/tmp# grabagentmem.sh 
Created /tmp/SSHagent-17019.stack

Ce fichier .stack c’est donc le dump mémoire de SSH-agent.  Il ne reste plus qu’à en extraire les clés en clair qui s’y trouvent. Il faut avant tout savoir que les clés présentes en mémoire sont dans un format légèrement différent de celui généré par SSH-keygen mais ce n’est pas grave puisque pour cela, il y a le script parse_mem.py disponible lui aussi sur Github. Pour faire fonctionner ce script, vous aurez besoin de Python et du module pyasn1.

Lancez ensuite l’analyse du dump comme ceci :

root@test:/tmp# parse_mem.py /tmp/SSHagent-17019.stack /tmp/key
Found rsa key
Creating rsa key: /tmp/key.rsa

Si il y a une clé valide dans le dump, celle-ci sera copiée sur votre disque dur. Elle s’utilisera alors comme la clé d’origine et sans demander un mot de passe pour la déverrouiller.

J’espère que cette petite news fera plaisir à tous mes copains pentesteurs. 😉

Source

Que faire après le bac quand on est passionné de cybersécurité ?

Entièrement dédiée à la cybersécurité, l’école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l’école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).

Cliquez ici pour en savoir plus

Lien sponsorisé


Les articles du moment