Me hice cargo del proyecto donde muchas credenciales de Jenkins tienen contraseñas o cadenas de frase de contraseña que necesito saber para avanzar con el proyecto, desafortunadamente no se documentaron en ninguna parte.
He comprobado el credentials.xml
archivo donde se almacenan estas credenciales, pero no están en texto plano, por ejemplo:
<passphrase>{AAAAAAAAAAAANzxft/rDzyt8mhxpn3O72dxvVqZksL5vBJ4jNKvAjAA=}</passphrase>
Nota: lo he cambiado ligeramente por razones de privacidad.
¿Cómo puedo descifrar su contraseña original basada en la cadena anterior?
jenkins
encryption
kenorb
fuente
fuente
"{...}"
elimine el extra una vez.Respuestas:
Afortunadamente, hay una
hudson.util.Secret.decrypt()
función que se puede usar para esto, así que:/script
página.Ejecute el siguiente comando:
o:
¿Dónde
{XXX=}
está tu contraseña cifrada? Esto imprimirá la contraseña simple.Para hacer lo contrario, ejecute:
Fuente: gist at
tuxfight3r/jenkins-decrypt.groovy
.Alternativamente, verifique los siguientes scripts:
tweksteen/jenkins-decrypt
,menski/jenkins-decrypt.py
.Para obtener más detalles, consulte: Almacenamiento de credenciales en Jenkins .
fuente
Aquí hay un breve fragmento que puede ejecutar desde la consola de script jenkins para volcar todas sus credenciales en texto sin formato.
Una versión más complicada que enumera los proveedores de credenciales que no son del sistema:
fuente
Para el registro, el siguiente fragmento que se pegará en la consola también hace el trabajo:
fuente