Estrai la password salvata di TortoiseSVN


Risposte:


226

Risposta breve: puoi utilizzare TortoiseSVN Password Decrypter per visualizzare facilmente le tue credenziali memorizzate nella cache, comprese le password.

Risposta lunga: ecco come funziona lo strumento.

Le credenziali vengono salvate nelle sottodirectory di %APPDATA%\Subversion\auth\. Elencati da questa risposta precedente sono:

  • svn.simple contiene le credenziali per l'autenticazione di base (nome utente / password)
  • svn.ssl.server contiene certificati server SSL
  • svn.username contiene le credenziali per l'autenticazione solo nome utente (nessuna password necessaria)

La prima directory è quella di interesse. Sembra contenere file con nomi che assomigliano a GUID; uno per ogni repository per cui hai salvato le credenziali.

Le password in questi file vengono crittografate dall'API di protezione dei dati di Windows . Lo strumento sopra utilizza il codice di esempio di Obviex per interfacciarsi con questa API ed eseguire la decrittografia.

Affinché funzioni, devi avere accesso allo stesso account utente di Windows con cui stavi eseguendo quando hai spuntato la casella di controllo "Salva autenticazione". Questo perché l'API di protezione dei dati di Windows utilizza una chiave di crittografia legata al tuo account Windows. Se perdi questo account (o, credo, se un amministratore reimposta la tua password), non sarai più in grado di decrittografare le password (tranne forse usando la forza bruta / uno strumento di terze parti ). Avere un nuovo account Windows con lo stesso nome utente / password (o probabilmente anche SID) non è sufficiente.


8

Sulla base delle informazioni di seguito, sembra che tu possa decrittarli localmente in qualche modo ...

AGGIORNAMENTO: Risposta definitiva dalla comunità TortiseSVN

Quando vengono inviati tramite cavo crittografato, vengono crittografati utilizzando una stretta di mano e / o una chiave concordata al momento della connessione.

Quando vengono archiviati / letti in locale, vengono crittografati / decrittografati tramite l'API di Windows Crypto che utilizza una chiave collegata al tuo account Windows.

La copia crittografata localmente non può essere decrittografata dal server perché le chiavi sono locali per il tuo account.

Quindi, quando ti connetti (diciamo tramite HTTPS), il tuo client ottiene le credenziali decrittografate tramite l'appropriata API di Windows, quindi le include nella trasmissione HTTPS. HTTPS crittografa l' intera comunicazione tra client e server utilizzando certificati SSL, non solo le credenziali.


sei sicuro che la password non sia decifrata dal client?
Jus12

Abbastanza certo ... senza inviare una domanda esplicita alla gente di TortiseSVN, ecco cosa ho trovato ... tortoisesvn.net/docs/release/TortoiseSVN_en/… Inoltre se fosse stato decrittografato lato client, quindi spinto in testo normale a il server annullerebbe lo scopo. Immagino che potresti inviarlo tramite SSH.
Aaron McIver

ma poi effettivamente chiunque potrebbe inviare il testo cifrato al server e tortoiseSVN non fornisce alcuna sicurezza aggiuntiva tramite crittografia.
Jus12

È vero, motivo per cui rendono noto di eliminare i dati di autenticazione dal PC all'arresto o almeno in modo periodico se questo è un problema. Se la macchina che contiene i dati di autenticazione è stata compromessa, non si tratta di un problema di TotoriseSVN di per sé.
Aaron McIver

Grazie per il lavoro. Speravo che ci fosse già uno strumento per questo.
Jus12
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.