Skip to content

Commit d8d018b

Browse files
committed
v1.0
0 parents  commit d8d018b

34 files changed

Lines changed: 2205 additions & 0 deletions

.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/artifacts/JenkinsExploit_GUI_jar.xml

Lines changed: 35 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/compiler.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/jarRepositories.xml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# JenkinsExploit-GUI
2+
![img.png](img/img.png)
3+
# 使用
4+
从release下载windows_tools或linux_tools并放在与JenkinsExploit-GUI-*-SNAPSHOT.jar相同的目录
5+
![img_1.png](img/img_1.png)
6+
或者可以自行打包tools_source中的python源码文件
7+
# 支持检测:
8+
- CVE-2015-8103/CVE-2016-0788 Jenkins 反序列化远程代码执行 https://github.com/Medicean/VulApps/tree/master/j/jenkins/1
9+
- CVE-2016-0792 Jenkins XStream反序列化远程代码执行 https://github.com/jpiechowka/jenkins-cve-2016-0792
10+
- CVE-2017-1000353 Jenkins-CI 远程代码执行漏洞 https://github.com/vulhub/CVE-2017-1000353
11+
- CVE-2018-1000600 Jenkins GitHub SSRF+信息泄露
12+
- CVE-2018-1000861 Jenkins 绕过Groovy沙盒未授权命令执行漏洞 https://github.com/orangetw/awesome-jenkins-rce-2019
13+
- CVE-2018-1999002 Jenkins 任意文件读取 https://mp.weixin.qq.com/s/MOKeN1qEBonS8bOLw6LH_w
14+
- CVE-2019-1003000 Jenkins 远程代码执行 https://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc
15+
- CVE-2019-1003005/CVE-2019-1003029 远程代码执行(Script Security Plugin沙箱绕过) https://github.com/orangetw/awesome-jenkins-rce-2019
16+
- CVE-2024-23897 Jenkins CLI 接口任意文件读取漏洞 https://github.com/vulhub/vulhub/blob/master/jenkins/CVE-2024-23897
17+
# 未完待续:
18+
- CVE-2016-9299 Jenkins ldap反序列化远程代码执行
19+
- 修复进行all检测后还得在单独检测CVE的bug
20+
- 再添加一个dnslog的api设置,使得能够自动化检测无回显的命令执行
21+
- 添加获取Jenkins版本的功能
22+
- 继续尝试把外置的payload接入到java代码中
23+
# 源码打包
24+
```
25+
mvn clean package -DskipTests
26+
zip -d JenkinsExploit-GUI-*-SNAPSHOT.jar target/'META-INF/*.SF' 'META-INF/*.RSA' 'META-INF/*DSA'
27+
```
28+
# Bug反馈
29+
https://github.com/thebeastofwar/JenkinsExploit-GUI 提交issues
30+
# 开发日志
31+
## V1.0
32+
以yhy0师傅的模板项目 https://github.com/yhy0/ExpDemo-JavaFX 为模板,写出了jenkins综合漏洞利用工具
33+
部分python的poc还未转成java代码接入到工具中,就打包成可执行文件

img/img.png

89.8 KB
Loading

img/img_1.png

42.8 KB
Loading

pom.xml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>org.example</groupId>
8+
<artifactId>JenkinsExploit-GUI</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
11+
<properties>
12+
<maven.compiler.source>8</maven.compiler.source>
13+
<maven.compiler.target>8</maven.compiler.target>
14+
</properties>
15+
16+
<dependencies>
17+
18+
<dependency>
19+
<groupId>com.jfoenix</groupId>
20+
<artifactId>jfoenix</artifactId>
21+
<version>8.0.10</version>
22+
</dependency>
23+
24+
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
25+
<dependency>
26+
<groupId>com.alibaba</groupId>
27+
<artifactId>fastjson</artifactId>
28+
<version>1.2.78</version>
29+
</dependency>
30+
31+
<!-- log4j support -->
32+
<dependency>
33+
<groupId>log4j</groupId>
34+
<artifactId>log4j</artifactId>
35+
<version>1.2.17</version>
36+
</dependency>
37+
38+
<!--CVE-2017-1000353 support-->
39+
<dependency>
40+
<groupId>com.offbytwo.jenkins</groupId>
41+
<artifactId>jenkins-client</artifactId>
42+
<version>0.3.8</version>
43+
</dependency>
44+
45+
<!--CVE-2016-9299 support-->
46+
<dependency>
47+
<groupId>org.bouncycastle</groupId>
48+
<artifactId>bcprov-jdk15on</artifactId>
49+
<version>1.68</version>
50+
</dependency>
51+
52+
</dependencies>
53+
54+
<build>
55+
<finalName>JenkinsExploit-GUI-1.0-SNAPSHOT</finalName><!-- 导出jar的名字 -->
56+
<plugins>
57+
<plugin>
58+
<groupId>org.apache.maven.plugins</groupId>
59+
<artifactId>maven-shade-plugin</artifactId>
60+
<version>3.2.0</version>
61+
<executions>
62+
<execution>
63+
<phase>package</phase>
64+
<goals>
65+
<goal>shade</goal>
66+
</goals>
67+
<configuration>
68+
<transformers>
69+
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
70+
<mainClass>fun.fireline.AppStartUp</mainClass>
71+
</transformer>
72+
</transformers>
73+
</configuration>
74+
</execution>
75+
</executions>
76+
</plugin>
77+
</plugins>
78+
</build>
79+
80+
81+
</project>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package fun.fireline;
2+
3+
import javafx.application.Application;
4+
import javafx.event.EventHandler;
5+
import javafx.fxml.FXMLLoader;
6+
import javafx.scene.Parent;
7+
import javafx.scene.Scene;
8+
import javafx.scene.image.Image;
9+
import javafx.stage.Stage;
10+
import javafx.stage.WindowEvent;
11+
12+
13+
public class AppStartUp extends Application {
14+
15+
@Override
16+
public void start(Stage primaryStage) throws Exception{
17+
Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("fxml/Main.fxml"));
18+
primaryStage.setTitle("JenkinsExploit-GUI");
19+
primaryStage.setScene(new Scene(root));
20+
// 退出程序的时候,子线程也一起退出
21+
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
22+
@Override
23+
public void handle(WindowEvent event) {
24+
System.exit(0);
25+
}
26+
});
27+
//设置窗口不可拉伸
28+
primaryStage.setResizable(false);
29+
30+
primaryStage.getIcons().add(new Image(getClass().getClassLoader().getResource("img/sec.png").toString()));
31+
32+
primaryStage.show();
33+
}
34+
35+
36+
public static void main(String[] args) {
37+
// try {
38+
// URL iconURL = AppStartUp.class.getClassLoader().getResource("img/sec.png");
39+
// java.awt.Image image = new ImageIcon(iconURL).getImage();
40+
// com.apple.eawt.Application.getApplication().setDockIconImage(image);
41+
// } catch (Exception e) {
42+
// // Won't work on Windows or Linux.
43+
// }
44+
45+
launch(args);
46+
}
47+
}

0 commit comments

Comments
 (0)