githubEdit

abuse

1. Jenkins Version Detection

  • HTTP Headers:

    curl -I http://target:8080/
  • Nmap Version Detection:

    nmap -sV -p 8080 <target_ip>
  • Jenkins CLI Detection:

    curl http://target:8080/jenkins/cli/ | grep -i "Jenkins CLI"

2. Jenkins Port Enumeration

  • Default HTTP: 8080

  • Slave Communication: 5000

    nmap -sV -p 8080,5000 <target_ip>

3. Jenkins CLI Enumeration

  • Help:

    java -jar jenkins-cli.jar -s http://target:8080/jenkins/ help
  • List Plugins:

    java -jar jenkins-cli.jar -s http://target:8080/jenkins/ list-plugins
  • List Jobs:

    java -jar jenkins-cli.jar -s http://target:8080/jenkins/ list-jobs
    • Enumerate jobs, plugins, users.


4. Jenkins Plugin Enumeration

  • List Installed Plugins:

    • Common vulnerability source.

    • Vulnerability Search: Inspect plugin names, search for CVEs on NVD/Exploit-DB.

    • Example: Pipeline: Groovy plugin (CVE-2019-10352) allows arbitrary code execution.

    • Exploitation Methods: Research specific plugin CVEs and exploitation methods.


5. Jenkins Security Realm Enumeration

  • Check Authentication Methods:

    • Jenkins DB, LDAP, etc.


6. Jenkins API Enumeration

  • API Endpoints:

  • API Token Enumeration:

    • Check for exposed tokens in API responses or configuration files.

    • Use API tokens for unauthorized access.

    • Enumerate API endpoints for sensitive data using tools like curl or python's request library.

  • API Endpoint Vulnerabilities:

    • Test API endpoints for vulnerabilities (fuzzing, parameter manipulation).

    • Check for endpoints allowing command injection or file read.


7. Jenkins Access Control Enumeration

  • Access Control Settings:


8. Exploiting Jenkins Script Console

  • Remote Command Execution:

  • Groovy Command Execution (Linux):

  • Groovy Command Execution (Windows):

  • Reverse Shell via Groovy (Linux):


9. Exploiting Build Job Misconfigurations

  • Create Malicious Job:


10. Exploiting Pipeline Misconfigurations

  • Inject Malicious Groovy Script:


11. Extracting Credentials from Jenkins

  • Extract Stored Credentials:


12. Persistence and Post-Exploitation

  • Create Backdoor User:


13. Unauthenticated Exploits (Public Jenkins)

  • Check for Anonymous Access:


14. Pipeline Script Injection (Groovy RCE)


15. Jenkins Slave Exploitation

  • Misconfigured Slave Nodes:

    • Check for misconfigured slave nodes.

    • Insecure communication protocols, lack of access control.

    • Exploit misconfigured slaves to gain access to the Jenkins master.


16. Exploiting Misconfigured Webhooks

  • Webhook-Triggered Jobs:

    • Identify webhook-triggered jobs.


17. Jenkins SSRF & External Service Interaction


18. Jenkins Reverse Shell via Build Step Manipulation

  • Modify Job Build Steps:

    • Modify job build steps for reverse shell.


19. Privilege Escalation via Misconfigured Agents

  • Elevated Privileges:

    • If Jenkins agents run with elevated privileges, execute commands as a higher-privileged user.


20. Arbitrary File Read via Plugin Vulnerabilities

  • Vulnerable Plugins:

    • Exploit vulnerable plugins like "Pipeline: Groovy" to read sensitive files.


Additional Exploitation Techniques

  • 21. CSRF Protection Bypass:

    • Jenkins has CSRF protection, but misconfigurations may allow bypassing.

    • Common bypass methods: Referer header manipulation, token manipulation.

  • 22. Authentication Bypass Details:

    • Expand on authentication bypass vulnerabilities and exploits.

    • Check for anonymous access misconfigurations.

    • Path traversal, header manipulation, session hijacking, default credentials.

  • 23. Jenkins Security Hardening:

    • Keep Jenkins and plugins updated.

    • Restrict access to the script console.

    • Use strong authentication and RBAC.

    • Strong passwords, MFA, network segmentation, regular security audits, principle of least privilege.

Last updated