Jenkins Arbitrary File Read to RCE via "Remember Me"
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Σε αυτή την ανάρτηση blog είναι δυνατή η εύρεση ενός εξαιρετικού τρόπου για να μετατραπεί μια ευπάθεια Local File Inclusion στο Jenkins σε RCE: https://blog.securelayer7.net/spring-cloud-skipper-vulnerability/
Αυτή είναι μια περίληψη που δημιουργήθηκε από AI του μέρους της ανάρτησης όπου η δημιουργία ενός αυθαίρετου cookie κακοποιείται για να αποκτήσει RCE εκμεταλλευόμενη μια τοπική ανάγνωση αρχείου μέχρι να έχω χρόνο να δημιουργήσω μια περίληψη μόνος μου:
Feature Requirement: "Remember me" πρέπει να είναι ενεργοποιημένο (προεπιλεγμένη ρύθμιση).
Access Levels: Ο επιτιθέμενος χρειάζεται δικαιώματα Overall/Read.
Secret Access: Δυνατότητα ανάγνωσης τόσο δυαδικού όσο και κειμενικού περιεχομένου από βασικά αρχεία.
User Information Retrieval
Πρόσβαση στη διαμόρφωση χρηστών και μυστικά από $JENKINS_HOME/users/*.xml
για κάθε χρήστη για να συγκεντρωθούν:
Username
User seed
Timestamp
Password hash
Secret Key Extraction
Εξαγωγή κρυπτογραφικών κλειδιών που χρησιμοποιούνται για την υπογραφή του cookie:
Secret Key: $JENKINS_HOME/secret.key
Master Key: $JENKINS_HOME/secrets/master.key
MAC Key File: $JENKINS_HOME/secrets/org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices.mac
Token Preparation
Calculate Token Expiry Time:
Concatenate Data for Token:
MAC Key Decryption
Decrypt MAC Key File:
Signature Computation
Compute HMAC SHA256:
Cookie Encoding
Generate Final Cookie:
Session Authentication
Fetch CSRF and Session Tokens:
Κάντε ένα αίτημα στο /crumbIssuer/api/json
για να αποκτήσετε Jenkins-Crumb
.
Συλλέξτε το JSESSIONID
από την απόκριση, το οποίο θα χρησιμοποιηθεί σε συνδυασμό με το cookie "remember-me".
Command Execution Request
Send a POST Request with Groovy Script:
Το Groovy script μπορεί να χρησιμοποιηθεί για την εκτέλεση εντολών σε επίπεδο συστήματος ή άλλων λειτουργιών μέσα στο περιβάλλον Jenkins.
Η παραδείγματος curl εντολή που παρέχεται δείχνει πώς να κάνετε ένα αίτημα στο Jenkins με τις απαραίτητες κεφαλίδες και cookies για να εκτελέσετε αυθαίρετο κώδικα με ασφάλεια.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)