Extraiga la contraseña guardada de TortoiseSVN

Respuestas:

226

Respuesta corta: puede usar TortoiseSVN Password Decrypter para mostrar fácilmente sus credenciales almacenadas en caché, incluidas las contraseñas.

Respuesta larga: así es como funciona la herramienta.

Las credenciales se guardan en subdirectorios de %APPDATA%\Subversion\auth\. Enumerados de esta respuesta anterior son:

  • svn.simple contiene credenciales para autenticación básica (nombre de usuario / contraseña)
  • svn.ssl.server contiene certificados de servidor SSL
  • svn.username contiene credenciales para la autenticación de solo nombre de usuario (no se necesita contraseña)

El primer directorio es el de interés. Parece contener archivos con nombres que parecen GUID; uno para cada repositorio para el que ha guardado credenciales.

Las contraseñas en estos archivos están encriptadas por la API de protección de datos de Windows . La herramienta anterior usa código de muestra de Obviex para interactuar con esta API y realizar el descifrado.

Para que funcione, debe tener acceso a la misma cuenta de usuario de Windows con la que estaba ejecutando cuando marcó la casilla de verificación "Guardar autenticación". Esto se debe a que la API de protección de datos de Windows usa una clave de cifrado vinculada a su cuenta de Windows. Si pierde esta cuenta (o, creo, si un administrador restablece su contraseña), ya no podrá descifrar las contraseñas (excepto quizás utilizando la fuerza bruta / una herramienta de terceros ). Tener una nueva cuenta de Windows con el mismo nombre de usuario / contraseña (o probablemente incluso SID) no es suficiente.

rkagerer
fuente
8

Según la información a continuación, parece que podría descifrarlos localmente de alguna manera ...

ACTUALIZACIÓN: respuesta definitiva de la comunidad TortiseSVN

Cuando se envían por cable cifrado, se cifran mediante un protocolo de enlace y / o una clave acordada en el momento de la conexión.

Cuando se almacenan / leen localmente, se cifran / descifran a través de la API de cifrado de Windows que utiliza una clave vinculada a su cuenta de Windows.

El servidor no puede descifrar la copia cifrada localmente porque las claves son locales de su cuenta.

Entonces, cuando se conecta (digamos a través de HTTPS), su cliente obtiene las credenciales descifradas a través de la API de Windows adecuada, luego las incluye en la transmisión HTTPS. HTTPS cifra toda la comunicación entre el cliente y el servidor utilizando certificados SSL, no solo las credenciales.

Aaron McIver
fuente
¿Está seguro de que la contraseña no se descifra en el extremo del cliente?
Jus12
Bastante seguro ... sin publicar una pregunta explícita a la gente de TortiseSVN, esto es lo que encontré ... tortoisesvn.net/docs/release/TortoiseSVN_en/ ... Además, si se descifró el lado del cliente, luego se presionó en texto plano para el servidor vencería el propósito. Supongo que podrías enviarlo a través de SSH.
Aaron McIver
pero, efectivamente, cualquiera podría enviar el texto cifrado al servidor y tortoiseSVN no proporciona ninguna seguridad adicional mediante cifrado.
Jus12
Cierto, es por eso que dan a conocer que eliminan los datos de autenticación de su PC al apagar o al menos de forma periódica si eso es una preocupación. Si la máquina que contiene los datos de autenticación se ha visto comprometida, entonces eso no es realmente un problema de TotoriseSVN per se.
Aaron McIver
Gracias por el trabajo Esperaba que ya haya una herramienta para eso.
Jus12