wake-up-neo.com

Extrahiere das in TortoiseSVN gespeicherte Passwort

Gibt es eine Möglichkeit, die von TortoiseSVN gespeicherten Anmeldeinformationen zu extrahieren?

120
Jus12

Kurze Antwort: Sie können TortoiseSVN Password Decrypter verwenden, um Ihre zwischengespeicherten Anmeldeinformationen, einschließlich Passwörtern, einfach anzuzeigen.

Lange Antwort: So funktioniert das Tool.

Die Anmeldeinformationen werden in Unterverzeichnissen von %APPDATA%\Subversion\auth\ Gespeichert. Aufgeführt von diese vorherige Antwort sind sie:

  • svn.simple Enthält Anmeldeinformationen für die Basisauthentifizierung (Benutzername/Passwort)
  • svn.ssl.server Enthält SSL-Serverzertifikate
  • svn.username Enthält Anmeldeinformationen für die Nur-Benutzername-Authentifizierung (kein Passwort erforderlich)

Das erste Verzeichnis ist das von Interesse. Es scheint Dateien mit Namen zu enthalten, die wie GUIDs aussehen. eine für jedes Repository, für das Sie Anmeldeinformationen gespeichert haben.

Die Kennwörter in diesen Dateien werden von Windows Data Protection API verschlüsselt. Das obige Tool verwendet Beispielcode von Obviex , um eine Schnittstelle mit dieser API herzustellen und eine Entschlüsselung durchzuführen.

Damit dies funktioniert, müssen Sie Zugriff auf dasselbe Windows-Benutzerkonto haben, unter dem Sie beim Aktivieren des Kontrollkästchens "Authentifizierung speichern" ausgeführt wurden. Dies liegt daran, dass die Windows-Datenschutz-API einen Verschlüsselungsschlüssel verwendet, der an Ihr Windows-Konto gebunden ist. Wenn Sie diesen Account verlieren (oder, glaube ich, wenn ein Administrator Ihr Passwort zurücksetzt), können Sie die Passwörter nicht mehr entschlüsseln (außer vielleicht mit brute force/a Drittanbieter-Tool ). Es reicht nicht aus, ein neues Windows-Konto mit demselben Benutzernamen/Kennwort (oder wahrscheinlich sogar mit denselben SIDs) zu haben.

221
rkagerer

Anhand der folgenden Informationen scheint es möglich zu sein, sie lokal auf irgendeine Weise zu entschlüsseln ...

PDATE: Definitive Antwort von der TortiseSVN-Community

Wenn sie verschlüsselt über das Kabel gesendet werden, werden sie zum Zeitpunkt der Verbindung mit einem Handshake und/oder einem vereinbarten Schlüssel verschlüsselt.

Wenn sie lokal gespeichert/gelesen werden, werden sie über die Windows Crypto-API, die einen an Ihr Windows-Konto gebundenen Schlüssel verwendet, verschlüsselt/entschlüsselt.

Die lokal verschlüsselte Kopie kann vom Server nicht entschlüsselt werden, da die Schlüssel für Ihr Konto lokal sind.

Wenn Sie eine Verbindung herstellen (z. B. über HTTPS), werden die Anmeldeinformationen von Ihrem Client über die entsprechende Windows-API entschlüsselt und dann in die HTTPS-Übertragung einbezogen. HTTPS verschlüsselt die gesamte Kommunikation zwischen Client und Server mithilfe von SSL-Zertifikaten, nicht nur die Anmeldeinformationen.

8
Aaron McIver