Thursday, September 28, 2023

Jenkins: Recover Credentials

 Sometimes, we need to get the credentials that are stored in Jenkins in plaintext. Jenkins does not allow to view the credentials rather only update the credentials. So in this blog post we will go through the steps to recover the credentials from Jenkins.

 Credential Types


Jenkins gives the options of storing credentials in the following ways:
  1. Username with password
  2. GitHub App
  3. SSH Username with private key
  4. Secret file
  5. Secret text
  6. Certificate
Common key ids we are interested in that are used by Jenkins to store credentials:

  • hudson.util.Secret: used for generic secrets

  • com.cloudbees.plugins.credentials.SecretBytes.KEY: used for some credentials types

Recovering Credentials


In this section, we will be recovering each type of credential. I have created sample credentials for each type as shown below:


Script Console


Groovy scripts can be run in the script console with the URL: <https://jenkins-url:jenkins-port/script>

Running below one-liner will display all the saved credentials:

com.cloudbees.plugins.credentials.SystemCredentialsProvider.getInstance().getCredentials().forEach{println it.dump().replace(' ', '\n')}

<com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl@a13690e7
username=admin
password=JRINDIDK#KE#$23
usernameSecret=false
id=admin-creds
description=admin-creds
scope=GLOBAL>
<org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl@83e47679
fileName=secret.file
secretBytes={liIpkIvO5gUHlUwyMtt+SxDuIsFctDWUi+ftpLqdDUewWgcPU5+meBKANjBr+WiTDsaFm8nEPIW2rzD5Y5MCZA==}
data=null
id=secret-file
description=secret-file
scope=GLOBAL>
<org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl@83eac62a
secret=THIS_IS_A_SECRET_TEST
id=secret-text
description=secret-text
scope=GLOBAL>
<com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl@a976929b
keyStoreSource=UploadedKeyStoreSource{uploadedKeystoreBytes=******}
password=test@123
keyStore=java.security.KeyStore@2df6e05
keyStoreLastModified=0
id=cert-test
description=cert-test
scope=GLOBAL>
<com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey@21bc2d37
passphrase=pass@456$%
privateKeySource=com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey$DirectEntryPrivateKeySource@1fe33b71
privateKeys=null
privateKeysLastModified=0
username=local-admin
usernameSecret=false
id=ssh-test
description=ssh-test
scope=GLOBAL>
<org.jenkinsci.plugins.github_branch_source.GitHubAppCredentials@e24f2f68
appID=345123567
privateKey=null
apiUri=
owner=null
cachedToken=null
byOwner=null
id=github-app-test
description=github-app-test
scope=null>

As seen above the script shows all the credential details in plaintext. However, you must have noticed that some of the credential types like SecretBytes are still not shown in plain text. 

The XML file containing the credential details can be found at $JENKINS_HOME/credentials.xml

The credentials.xml file contents generated by Jenkins for this example:

<?xml version='1.1' encoding='UTF-8'?>
<com.cloudbees.plugins.credentials.SystemCredentialsProvider plugin="credentials@1271.v54b_1c2c6388a_">
<domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash">
<entry>
<com.cloudbees.plugins.credentials.domains.Domain>
<specifications/>
</com.cloudbees.plugins.credentials.domains.Domain>
<java.util.concurrent.CopyOnWriteArrayList>
<com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>
<scope>GLOBAL</scope>
<id>admin-creds</id>
<description>admin-creds</description>
<username>admin</username>
<password>{AQAAABAAAAAQVuOX1eEHPfIccZePpiM0dzQpUzwEaHWQQjLGLf+gsAA=}</password>
<usernameSecret>false</usernameSecret>
</com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>
<org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl plugin="plain-credentials@143.v1b_df8b_d3b_e48">
<scope>GLOBAL</scope>
<id>secret-file</id>
<description>secret-file</description>
<fileName>secret.file</fileName>
<secretBytes>{liIpkIvO5gUHlUwyMtt+SxDuIsFctDWUi+ftpLqdDUewWgcPU5+meBKANjBr+WiTDsaFm8nEPIW2rzD5Y5MCZA==}</secretBytes>
</org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl>
<org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl plugin="plain-credentials@143.v1b_df8b_d3b_e48">
<scope>GLOBAL</scope>
<id>secret-text</id>
<description>secret-text</description>
<secret>{AQAAABAAAAAgz/HEpcKgi0OJaIQfIG/riXUHMqfxiphcS+V6NEmseyw6aEeEEOZEc3A67jq7TJAY}</secret>
</org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl>
<com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl>
<scope>GLOBAL</scope>
<id>cert-test</id>
<description>cert-test</description>
<keyStoreSource class="com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl$UploadedKeyStoreSource">
<uploadedKeystoreBytes>{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}</uploadedKeystoreBytes>
</keyStoreSource>
<password>{AQAAABAAAAAQbOBDcQye98wBa1vTXGb8//RgzUGaNKC5HdL1YY55bXg=}</password>
</com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl>
<com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey plugin="ssh-credentials@308.ve4497b_ccd8f4">
<scope>GLOBAL</scope>
<id>ssh-test</id>
<description>ssh-test</description>
<username>local-admin</username>
<usernameSecret>false</usernameSecret>
<passphrase>{AQAAABAAAAAQ7Q9S9E81HXmAn7z9aHREwUUMoEjc2wzm4SIMSDkkf9k=}</passphrase>
<privateKeySource class="com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey$DirectEntryPrivateKeySource">
<privateKey>{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}</privateKey>
</privateKeySource>
</com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey>
<org.jenkinsci.plugins.github__branch__source.GitHubAppCredentials plugin="github-branch-source@1741.va_3028eb_9fd21">
<id>github-app-test</id>
<description>github-app-test</description>
<appID>345123567</appID>
<apiUri></apiUri>
</org.jenkinsci.plugins.github__branch__source.GitHubAppCredentials>
</java.util.concurrent.CopyOnWriteArrayList>
</entry>
</domainCredentialsMap>
</com.cloudbees.plugins.credentials.SystemCredentialsProvider>%
view raw credentials.xml hosted with ❤ by GitHub

So we will go through each credential type and decrypt them. 

1. Username with password


The credential details for the id admin-creds is as follows:


<com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>
<scope>GLOBAL</scope>
<id>admin-creds</id>
<description>admin-creds</description>
<username>admin</username>
<password>{AQAAABAAAAAQVuOX1eEHPfIccZePpiM0dzQpUzwEaHWQQjLGLf+gsAA=}</password>
<usernameSecret>false</usernameSecret>
</com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>
view raw admin-creds.xml hosted with ❤ by GitHub

For decrypting the password we run the below script:

println(hudson.util.Secret.decrypt("{AQAAABAAAAAQVuOX1eEHPfIccZePpiM0dzQpUzwEaHWQQjLGLf+gsAA=}"))

The password is shown in plaintext:


2. Secret File


<org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl plugin="plain-credentials@143.v1b_df8b_d3b_e48">
<scope>GLOBAL</scope>
<id>secret-file</id>
<description>secret-file</description>
<fileName>secret.file</fileName>
<secretBytes>{liIpkIvO5gUHlUwyMtt+SxDuIsFctDWUi+ftpLqdDUewWgcPU5+meBKANjBr+WiTDsaFm8nEPIW2rzD5Y5MCZA==}</secretBytes>
</org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl>
view raw secret-file.xml hosted with ❤ by GitHub

The file contents are saved as SecretBytes. So to decrypt them we run the below script:

println(new String(com.cloudbees.plugins.credentials.SecretBytes.fromString("{liIpkIvO5gUHlUwyMtt+SxDuIsFctDWUi+ftpLqdDUewWgcPU5+meBKANjBr+WiTDsaFm8nEPIW2rzD5Y5MCZA==}").getPlainData(), "ASCII"))

The file contents are shown in plaintext:

3. Secret Text


<org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl plugin="plain-credentials@143.v1b_df8b_d3b_e48">
<scope>GLOBAL</scope>
<id>secret-text</id>
<description>secret-text</description>
<secret>{AQAAABAAAAAgz/HEpcKgi0OJaIQfIG/riXUHMqfxiphcS+V6NEmseyw6aEeEEOZEc3A67jq7TJAY}</secret>
</org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl>
view raw secret-text.xml hosted with ❤ by GitHub

The file contents are saved as Secret. So to decrypt them we run the below script:

println(hudson.util.Secret.decrypt("{AQAAABAAAAAgz/HEpcKgi0OJaIQfIG/riXUHMqfxiphcS+V6NEmseyw6aEeEEOZEc3A67jq7TJAY}"))

The file contents are shown in plaintext:

4. Certificate


<com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl>
<scope>GLOBAL</scope>
<id>cert-test</id>
<description>cert-test</description>
<keyStoreSource class="com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl$UploadedKeyStoreSource">
<uploadedKeystoreBytes>{U3UYQkP64q0HXi21gHXfan6BJXNDOPcKpUxzXP3/3uiaY6PeYq/CH7RMSUl8jdYIPP/0AcHc7W+TY/1wEnFoDg3DkNUxLKUm0azwbEycN0oozpR8hCZTCgSZTVW4QVEwCdVruVioQzyPd1PljWcx8hCMrZYC3nyr1Ngk6OZAcQlQT7kz1oOO3mlXELRuySES4QaiwuzxEqLpUQiTFEqiFS3LnMg7/lYOHJeb0zSlpui4i8n4pCHadxm+b4r9nB5KlzbXWemfAJoVM5cVVt/T9shM8tVm9hcLkenDG8rw0iwW/I5lZCFbk7LvGz3aEe+QzOTj5TmxBBONAlvTAi9xDdBGQju7BdPWVzznczO2Y+G9pxk7QEehI+f6ulVx8uqGL6/kkukMOgQqXZqhW6QwquKpPZRW0EFuVse00c5JvMgzM5gRx8QLz8oCvxRy/YU+3gimTucC12vwGszGuEFRbfiS5slXrDFudcKXq+FUQZRCVLIQY5t2kmdhdeZRBhkve+ALFuL1byalxviVA2W2vCRZ6tQ4bkBDy8ifm01rdv7nxASOmd0T0p32x2mVAIbzE/jD13B+3MH/6mIIt30aJLxVcQrmC3smPFqb+WlkDDXoSwloYHjmBsIK1UHItmK8DOKcIJSoyD0RmjWxzFzHin2TU0+CISmRVzGb2T//rGE16zr25AF8s495zdeGyh+0E/gYz45jIUul50XO7KMWUYXp0bNDIhWlmrhWIXkRArTbUc+TEuuTzh94vMMg1beGvkIw9fekjkU/Alg05XktKtgpRe/bKPOD41IXB3Rpf5LvjtmjQvtauvyOr2HjLbXpNzbUiDb9zAgTnPfAcLPkObD0kQoW6B4hEXMHyQ2n6RrjEpxY/fVS31RaFuue5HXK87nXmonNELY9BWGS3FhrQq3lAUX4rYlJaQ8xxu7V0gThYtyUoEjcW8x5nz4hqRRjHW03vRG3p/I1vGpX79XFWwF82u/qtgZqLBNB5xfxm2WJS1BR4zAau29Na0bwY+k6eS+3YkNttvmjh5tBjCNF7joirfy0sp080Y0RvSelEzFpLwTQRWrOWEHcELN2n7zgOeAwNRtCr2e8EOESTlCzqsvF4ckqDZmc9iNrxNEXtbjVosOVSXOlobTViA7TG+efG3dYTl6ZWyKhwwsq/hq8c43OimUt5LdXRWoT0Hz1M5oZgXHC5YZD25hZnhjGIJyE2o/tvvCjmxfX9nmL96ySPwVPeNpKvoMA7Lw/Q69aUh61agOsJ2qt/oQ+7gUmMAQ7jXMfhTO+B7tB47ucZVkvA7atH+dPhrdXsqCc9Rya8EGIBAIWsiHrmuw5jCt/d/B9bbnrntfSDyMwyEybJ58LxwBe4LBQpQAELdKlZtNV/qPhL3iybx40CAFctGgpecRifE1ylwOsfu/n80RQdGJEjiw8MgAexDrIMPxn6T4PWXce/yPIDhaZLOVaVbi2GO10NDFL2+SS84/RISaPCxCPs4n9g+BSqGN7buPWh3PDe+DFvCCVD4tyZk9za/3gqPSYGYoRySVgv9KHjXeu+zOuhUr27R+YlE0LACLZUceveyQF8OZeGdW54I9OKc3NK0Hh721IsImIOIkko6lJkgiIb0po/pLKn6lIaPy/KjHIrHwPi9d9Cf/hIx+h1Di2qDE/9eqnP52Shr+lYWQigjueoo7SxaYkABpMDmrwBnIeXd+C/AQiBMjcUA9qxoDkuGv6XqfvR7l3PCggTJ4qYJeqbeSDDyM4qwVpZBGK+qNeGSC9vNikchYTxhlV7ptcss3wNGbSG2dldj5qTiReWF479MFNIAUM3CXlyunlijO8IH2VupHSLsEqFu7cm53S+aSU5FstaVsuKtFSmH6fzA+qxAcZaxrrX4vJbkTeOBTGJ+DdkcTaxkbeR5vKtUiHyy9Pz/QWjWgLrnwyjvRu6Dx4NBdDuLHpwhKK6zRxQ4W31pTJP1RLtUTk4rYlPwabtBkRZrI1XfX2Izl0O/rZxzkavnGGmr1zAPP6bBF3PJNdBnAVPfqm1LhJZ9wGCUg5Ng3UNqFW5nYFqnczmnMSlG9K1uc/H8h+42Mmd5asYcsXRa39tQP05wNFSc4y00UziRLvolyVVfiH1Upj9jucdNWp04zw9jF6X3gf6Y2GC0CW8CuLcZMhEESJc8nP5qlhl0fTnAyxVOTWXx9sFapj4fzHBZEtyKz6YrqmSxiPFusr75GqvI79fbKT3LZHxy/2n4fD4DYIMC7yhNxHK848F/kp6xboorNDKANKHe6d5gvEWNXn+t0inFjdyWuznkWQv1F2QfIOiKnu6Nc5L8dcH2N+x+UQariojmB2tgsAzE8Q/gJvv4t+Bg0WveWz6zpVJgPxjVIjLo8OL7mrXO1ka+ShxDw7xVkNDwapk0c+F8kHBmHtvrKIGOfr6jQpPZRQBo4XLNe/ATxA/czAQIJWzHht2BjGwZZRqOEQ8cg43AK1ZLFnz/Id3fn6LuaxKhzYGbXXKpHopuwQMGiRCqyqXZLNiXazLKqtFOzT8xOsmMmrPp1rZmOgd3p6Fgo90ToZYZvWePNzNUi7TznJ3wMI0txY6KPcv+GgH5/6PDY3gdx2bxUqUJZyHHWvTVJ2Tx4vG98oK/l3l4UsJDL6BbniErMg3MdEy2VivB+4EwAZCsXbq820bsQFw2Phrpw2aakJwr8G4F5rWsCR6OM2ybxxNEgXfBJHywe/r6w10HI9j4A0oJo+4v3/qigW2NE8/B1QWa796FG4r1HJ3PAJnjgOy3QZkis1bqWjxBcp8Ys+XQ8ZVk6j38jQx2LkxBR1pDYGXGex6zrb7lpTQKWo+i3oxExEUkJlE3N70rUllxd+OkBR8EYMHhVZCtAO4c/D2m3qgansuy5hJO63X2h8keBr1hiFyZP+LwkuH78AxyB7ZhSzfimix8tsg6p5PJ7a/53pkk/pIMCXKyqoqwCJlKYxBeCMy5AoI6jU5DzIy1HxdeCVJbTfiYdAKuf72UJl7tAAYmn6iNIxv8CtDsfqQZst3dpvglfi/JVKeqAaNHHud/GariPf6He9grevC3ScgbGbc9PRbE6G/vk6Vae5YS/VaT2YcuzpBZGHTNPAE/nSe4WxxDQR1ESS2Jb2KysXYZhrWxorcIHCxqorRpF0OP1sjqdB8t4Y4gIrAz7zwyDGr+NhZLakeoF+Yz6tHBBoB+sRum1fmdhp/QBlj68vG8d5M7rfkaZTV9u7++fybkkAm8kHymie1F1jDTG5p1fIKlR26O57yQSTP1g1CseJx+re7wtzABuZ4nEt3U/vxxenIUo9rY6fp/Vxm8RBxjATxpa8lp4jctTCwYofOCPKUNgdNfApPgrvR9aMowc2t4c5dnb1hgEgIHBxYqs9Yl5QdgT5y7lRZQRp5JSxoOsDCocA79Tmb/l04KZOvrGW/Gig9IIKcYIrF14Ux80H0zNWTRhFNhrrrS7u5KZ7bDqEvIFzsJ0GKGBH4SgSUyYriuq79nXMHp8QDLvy/yXcil7Q/eu7WIlI1p5M6rTtCMNjO+29lWmftd/ncXo2CBiIHYxQmNDJsKhyNa+5rNGrLLUavYNfrSDNnEg7EwYLZ57iECMl3k/IuZIOpNdMlVZZYGBpQU13RWET+pt+LFbnu7H6QGumMzG8Dr/SLSqkMQEI2NtK8VVPEXC9A4xeFIhSHVZL4S7rA442yRFQhOXxuH0Y8nyGlGAMJFh1c8ZD92tcI4roP3oKZzJrqTmJKbzL1Nw6qQuOWadFLFIPfhdexGRBLjMKLaCYbSilcywmMI5D0ldbJiVXeqyuiZGF0MfIknPNn63250VavyLjKpJocgUfByKwNgDKY+zCd6TS0C9xUIFMEXIJOVV4QbVVZmfAUHRXXWUjLfYZliloWXHEc3RkfEzyBcYT3FW2MnCPpn5DdQuusLG9mQ94OPU1rxMxfhrBMKn5kk6UM7r8QnKD1UGoD/akY6+khfIE8ghWeT2ZU//FxWUUC28H+DUaHVWwmoesP8jaIL46uw2rUtVylX5L/7MCp3MBw052CDV56Z9H0N2bN2GDJjrkSB4WUMiEtFgJQJtc1tD/Bnwj/wSv0kcRrutRMVAJIUSuZt1QJjvSxtzXseLTKGRluHZFIwtiUx5gblhMFa6reskYYwpcmVIBIew9J+9VLMtGEDrXfCbAjm1zRcXsGzvZiJqQvqfpw56gNOMLw03KESn4isrD8e/P+WQ66M+4aUHrCdBLdDtQQBBChyYCE4vrGa6zzihaqejSkue0IkmAWalWB75uCU/PrxOibUD0CJ0JHRSXA1n8pcn0lqAVR2QwoyP0NUsUyF0ieJpIAyz9m6Jvz16gXxNjqSyHR/ej49npg6SOQijePqwwKxOrqF8z7JawsN+C6Ql3Ovo6XtWC+Kd4DwNKHteMObz3LbcqDt4+mPKzPBsojnxCJhunKg==}</uploadedKeystoreBytes>
</keyStoreSource>
<password>{AQAAABAAAAAQbOBDcQye98wBa1vTXGb8//RgzUGaNKC5HdL1YY55bXg=}</password>
</com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl>
view raw certificate.xml hosted with ❤ by GitHub

The file contents are saved as uploadedKeystoreBytes. So to decrypt them we run the below script:

println(new String(com.cloudbees.plugins.credentials.SecretBytes.fromString("{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}").getPlainData(), "ASCII"))

The file contents are shown in plaintext:


The password can be decypted as mentioned in 1-Username with password and 3-Secret Text.


5. SSH Username with private key


<com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey plugin="ssh-credentials@308.ve4497b_ccd8f4">
<scope>GLOBAL</scope>
<id>ssh-test</id>
<description>ssh-test</description>
<username>local-admin</username>
<usernameSecret>false</usernameSecret>
<passphrase>{AQAAABAAAAAQ7Q9S9E81HXmAn7z9aHREwUUMoEjc2wzm4SIMSDkkf9k=}</passphrase>
<privateKeySource class="com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey$DirectEntryPrivateKeySource">
<privateKey>{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}</privateKey>
</privateKeySource>
</com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey>
view raw ssh.xml hosted with ❤ by GitHub

The password and privatekey for SSH can be decrypted with:

println(hudson.util.Secret.decrypt("{passphrase}"))
println(new String(com.cloudbees.plugins.credentials.SecretBytes.fromString("{SSH-PrivateKey}").getPlainData(), "ASCII"))
view raw ssh.groovy hosted with ❤ by GitHub


6. GitHub App


<org.jenkinsci.plugins.github_branch_source.GitHubAppCredentials@e24f2f68
appID=345123567
privateKey=
apiUri=
owner=
cachedToken=
byOwner=
id=github-app-test
description=github-app-test
scope=null>
view raw github-app.xml hosted with ❤ by GitHub

To decrypt the github-app credentials we can follow the previous steps for cachedToken and privateKey using either Secret or SecretBytes decryption function.