Kirø~$

🇳🇴 NO|🇬🇧 EN
IT/DevOps consultant
Cloud/Solution Architect
Board gamer and sci-fi fan
Ponderer of life mysteries
House owner and Handyman

Dekryptere Jenkins Passord (Bookmarklet & Groovy Console)

⚠️ Sikkerhetsadvarsel:
Denne metoden krever at du har administrative rettigheter i Jenkins-instansen din (Administer tilgang til Groovy script console). Metoden må kun benyttes til lovlige forvaltningsformål, som for eksempel gjenoppretting av tapte legitimationsopplysninger i et kontrollert miljø.

I eldre Jenkins-instanser kan administrative brukere ha behov for å hente ut et passord eller en token som er lagret i Jenkins Credentials Store, men som kun vises som maskerte prikker (••••••••) i brukergrensesnittet.


🛠️ Bookmarklet for automatisk ekstraksjon

Du kan opprette et “bookmarklet” i nettleseren din med følgende JavaScript-kode:

javascript:(function(){
  var passwordInput = document.querySelectorAll('input[type="password"]')[0];
  if (!passwordInput) {
    alert('Ingen passordfelt funnet på denne siden.');
    return;
  }
  var encryptedPassword = passwordInput.value;
  prompt(
    'Kopier Groovy-skriptet nedenfor og kjør det i /script (Jenkins Groovy Console):',
    'println( hudson.util.Secret.decrypt("' + encryptedPassword + '") )'
  );
  location.href = '/script';
})();

📋 Steg-for-steg instruksjoner

  1. Naviger til Credentials-siden i Jenkins hvor passordet er lagret (oppdateringssiden).
  2. Klikk på bookmarklet-en i nettleseren din.
  3. Koden henter ut den krypterte strengen fra passordfeltet og genererer en Groovy-kommando.
  4. Lim inn kommandoen i Jenkins Script Console (/script) og trykk Run.
  5. Jenkins vil dekryptere strengen ved hjelp av instansens master-nøkkel (master.key / hudson.util.Secret) og vise det klartekstige passordet i utskriften.

🔐 Best Practice for moderne CI/CD

Manuell lagring av passord i Jenkins krever nøye oppfølging. I moderne CI/CD-arkitekturer anbefales det å benytte eksterne secrets managers: