
outil pour extraire les mots de passe de la mémoire de TeamViewer à l'aide de Frida
Bonjour, dans cet article nous souhaitons vous parler de nos petites recherches sur la sécurité des mots de passe dans TeamViewer. Cette méthode peut aider lors d'un pentest en post-exploitation pour accéder à une autre machine via TeamViewer.
Il y a quelques jours, je travaillais sur mon VPS cloud Windows avec TeamViewer (où j'avais configuré un mot de passe personnalisé). Après le travail, je me suis déconnecté ; à la connexion suivante, j'ai constaté que TeamViewer avait rempli le mot de passe automatiquement.

Je me dis : « Intéressant, comment puis-je accéder au mot de passe ? Comment le mot de passe est-il stocké sur mon ordinateur ? »
J'ai extrait la mémoire de TeamViewer et recherché le mot de passe avec grep.

Ooo oui, 😊 le mot de passe est stocké en mémoire au format Unicode. Il s'avère que si vous terminez votre session TeamViewer sans tuer le processus (ou sans quitter TeamViewer

le mot de passe restera stocké en mémoire)
Après analyse, nous avons compris que la première zone rouge est une donnée magique de début, et la seconde – une donnée magique de fin (de temps à autre, la donnée magique de fin a cette valeur = 00 00 00 20 00 00).
Pour extraire les mots de passe de la mémoire, nous avons écrit deux mini-programmes, l'un en Python et l'autre en C++.
Merci à l'équipe Frida pour cet outil merveilleux ! Notre script Python s'attache au processus TeamViewer.exe, obtient l'adresse de base et la taille mémoire de chaque bibliothèque de ce processus. Ensuite, il extrait une à une les zones mémoire, recherche les parties commençant par les octets [00 88] et se terminant par les octets [00 00 00] puis les copie dans le tableau. L'étape suivante, et dernière, consiste à sélectionner les chaînes brutes de décodage final selon l'expression régulière et la politique de mots de passe.

Après l'exécution du code C++, vous obtiendrez cette vue : « asdQWE123 » est le mot de passe

exemple C++

exemple Python
