|
22561 | 22561 |
|
22562 | 22562 | ]
|
22563 | 22563 | },
|
| 22564 | + "auxiliary_gather/jenkins_cli_ampersand_arbitrary_file_read": { |
| 22565 | + "name": "Jenkins cli Ampersand Replacement Arbitrary File Read", |
| 22566 | + "fullname": "auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read", |
| 22567 | + "aliases": [ |
| 22568 | + |
| 22569 | + ], |
| 22570 | + "rank": 300, |
| 22571 | + "disclosure_date": "2024-01-24", |
| 22572 | + "type": "auxiliary", |
| 22573 | + "author": [ |
| 22574 | + "h00die", |
| 22575 | + "Yaniv Nizry", |
| 22576 | + "binganao", |
| 22577 | + "h4x0r-dz", |
| 22578 | + "Vozec" |
| 22579 | + ], |
| 22580 | + "description": "This module utilizes the Jenkins cli protocol to run the `help` command.\n The cli is accessible with read-only permissions by default, which are\n all thats required.\n\n Jenkins cli utilizes `args4j's` `parseArgument`, which calls `expandAtFiles` to\n replace any `@<filename>` with the contents of a file. We are then able to retrieve\n the error message to read up to the first two lines of a file.\n\n Exploitation by hand can be done with the cli, see markdown documents for additional\n instructions.\n\n There are a few exploitation oddities:\n 1. The injection point for the `help` command requires 2 input arguments.\n When the `expandAtFiles` is called, each line of the `FILE_PATH` becomes an input argument.\n If a file only contains one line, it will throw an error: `ERROR: You must authenticate to access this Jenkins.`\n However, we can pad out the content by supplying a first argument.\n 2. There is a strange timing requirement where the `download` (or first) request must get\n to the server first, but the `upload` (or second) request must be very close behind it.\n From testing against the docker image, it was found values between `.01` and `1.9` were\n viable. Due to the round trip time of the first request and response happening before\n request 2 would be received, it is necessary to use threading to ensure the requests\n happen within rapid succession.\n\n Files of value:\n * /var/jenkins_home/secret.key\n * /var/jenkins_home/secrets/master.key\n * /var/jenkins_home/secrets/initialAdminPassword\n * /etc/passwd\n * /etc/shadow\n * Project secrets and credentials\n * Source code, build artifacts", |
| 22581 | + "references": [ |
| 22582 | + "URL-https://www.jenkins.io/security/advisory/2024-01-24/", |
| 22583 | + "URL-https://www.sonarsource.com/blog/excessive-expansion-uncovering-critical-security-vulnerabilities-in-jenkins/", |
| 22584 | + "URL-https://github.com/binganao/CVE-2024-23897", |
| 22585 | + "URL-https://github.com/h4x0r-dz/CVE-2024-23897", |
| 22586 | + "URL-https://github.com/Vozec/CVE-2024-23897", |
| 22587 | + "CVE-2024-23897" |
| 22588 | + ], |
| 22589 | + "platform": "", |
| 22590 | + "arch": "", |
| 22591 | + "rport": 8080, |
| 22592 | + "autofilter_ports": [ |
| 22593 | + 80, |
| 22594 | + 8080, |
| 22595 | + 443, |
| 22596 | + 8000, |
| 22597 | + 8888, |
| 22598 | + 8880, |
| 22599 | + 8008, |
| 22600 | + 3000, |
| 22601 | + 8443 |
| 22602 | + ], |
| 22603 | + "autofilter_services": [ |
| 22604 | + "http", |
| 22605 | + "https" |
| 22606 | + ], |
| 22607 | + "targets": null, |
| 22608 | + "mod_time": "2024-03-28 15:54:58 +0000", |
| 22609 | + "path": "/modules/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read.rb", |
| 22610 | + "is_install_path": true, |
| 22611 | + "ref_name": "gather/jenkins_cli_ampersand_arbitrary_file_read", |
| 22612 | + "check": true, |
| 22613 | + "post_auth": false, |
| 22614 | + "default_credential": false, |
| 22615 | + "notes": { |
| 22616 | + "Stability": [ |
| 22617 | + "crash-safe" |
| 22618 | + ], |
| 22619 | + "Reliability": [ |
| 22620 | + |
| 22621 | + ], |
| 22622 | + "SideEffects": [ |
| 22623 | + |
| 22624 | + ] |
| 22625 | + }, |
| 22626 | + "session_types": false, |
| 22627 | + "needs_cleanup": false, |
| 22628 | + "actions": [ |
| 22629 | + |
| 22630 | + ] |
| 22631 | + }, |
22564 | 22632 | "auxiliary_gather/jenkins_cred_recovery": {
|
22565 | 22633 | "name": "Jenkins Domain Credential Recovery",
|
22566 | 22634 | "fullname": "auxiliary/gather/jenkins_cred_recovery",
|
|
0 commit comments