10.-Attacking-jenkins
1. Jenkins Version Detection
HTTP Headers:
Nmap Version Detection:
Jenkins CLI Detection:
2. Jenkins Port Enumeration
Default HTTP: 8080
Slave Communication: 5000
3. Jenkins CLI Enumeration
Help:
List Plugins:
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