Jenkins

Jenkins exploitation

Discovery/Footprinting

Jenkins runs on Tomcat port 8080 by default. It also utilizes port 5000 to attach slave servers.

Open Registration

/signup
/jenkins/signup

Enumeration

http://jenkins.inlanefreight.local:8000/configureSecurity/

http://jenkins.inlanefreight.local:8000/login?from=%2F

Default credentials such as admin:admin or does not have any type of authentication enabled. It is not uncommon to find Jenkins instances that do not require any authentication during an internal penetration test

Admin access - Script Console

Before 2.0: Admin access

Groovy scripts could be executed: https://www.labofapenetrationtester.com/2014/06/hacking-jenkins-servers.html

Linux

http://jenkins.inlanefreight.local:8000/script

Windows

Reverse Shell

Linux

Metasploit

msf > use exploit/multi/http/jenkins_script_console

Windows

Retrieve AWS credentials

Access to Groovy Console

No admin access but could add or edit build steps

Add a build step, add "Execute Windows Batch Command" and enter:

CVE-2025-53652 - Command Injection via Git Parameter

CVE-2024-23897 - Arbitrary File Read Vulnerability Leading to RCE

CVE-2024-43044 - Arbitrary file read that allows an agent to fetch files from the controller

Resources

Interesting Books

Interesting Books

Disclaimer: As an Amazon Associate, I earn from qualifying purchases. This helps support this GitBook project at no extra cost to you.

Last updated