web-dev-qa-db-fra.com

Extraire le mot de passe enregistré TortoiseSVN

Est-il possible d'extraire les informations d'identification sauvegardées par TortoiseSVN?

120
Jus12

Réponse courte: Vous pouvez utiliser Decrypteur de mot de passe TortoiseSVN pour afficher facilement vos informations d'identification mises en cache, y compris vos mots de passe.

Réponse longue: voici comment l'outil fonctionne.

Les informations d'identification sont enregistrées dans les sous-répertoires de %APPDATA%\Subversion\auth\. Listés à partir de cette réponse précédente ils sont:

  • svn.simple contient les informations d'identification pour l'authentification de base (nom d'utilisateur/mot de passe)
  • svn.ssl.server contient des certificats de serveur SSL
  • svn.username contient les informations d'identification pour l'authentification par nom d'utilisateur uniquement (aucun mot de passe requis)

Le premier répertoire est celui qui nous intéresse. Il semble contenir des fichiers avec des noms qui ressemblent à des GUID; un pour chaque référentiel pour lequel vous avez enregistré des informations d'identification.

Les mots de passe de ces fichiers sont chiffrés par = API de protection des données Windows . L'outil ci-dessus utilise un exemple de code provenant de Obviex pour assurer l'interface avec cette API et effectuer le déchiffrement.

Pour que cela fonctionne, vous devez avoir accès au même compte d'utilisateur Windows sous lequel vous étiez en cours d'exécution lorsque vous avez coché la case "Enregistrer l'authentification". En effet, l'API Windows Data Protection utilise une clé de chiffrement liée à votre compte Windows. Si vous perdez ce compte (ou, je crois, si un administrateur réinitialise votre mot de passe), vous ne pourrez plus déchiffrer les mots de passe (sauf peut-être en utilisant la force brute/a outil tiers ). Avoir un nouveau compte Windows avec le même nom d'utilisateur/mot de passe (ou probablement même le SID) n'est pas suffisant.

221
rkagerer

D'après les informations ci-dessous, il semblerait que vous puissiez les décrypter localement d'une manière ou d'une autre ...

PDATE: Réponse définitive de la communauté TortiseSVN

Lorsqu'ils sont envoyés sur le réseau crypté, ils sont cryptés à l'aide d'une poignée de main et/ou d'une clé convenue au moment de la connexion.

Lorsqu'ils sont stockés/lus localement, ils sont cryptés/décryptés via l'API Windows Crypto, qui utilise une clé liée à votre compte Windows.

La copie cryptée localement ne peut pas être déchiffrée par le serveur car les clés sont locales sur votre compte.

Ainsi, lorsque vous vous connectez (par exemple via HTTPS), votre client obtient les informations d'identification déchiffrées via l'API Windows appropriée, puis les inclut dans la transmission HTTPS. HTTPS chiffre la communication entière entre le client et le serveur à l'aide de certificats SSL, et pas uniquement les informations d'identification.

8
Aaron McIver