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)
У цьому блозі можна знайти чудовий спосіб перетворити вразливість Local File Inclusion у Jenkins на RCE: https://blog.securelayer7.net/spring-cloud-skipper-vulnerability/
Це підсумок, створений штучним інтелектом, частини посту, де зловживання створенням довільного cookie використовується для отримання RCE, зловживаючи читанням локальних файлів, поки я не матиму часу створити підсумок самостійно:
Feature Requirement: "Remember me" має бути увімкнено (налаштування за замовчуванням).
Access Levels: Зловмисник потребує загальних/читальних дозволів.
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 може бути використаний для виконання команд на рівні системи або інших операцій у середовищі Jenkins.
Приклад команди curl демонструє, як зробити запит до Jenkins з необхідними заголовками та cookie для безпечного виконання довільного коду.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)