Jenkins 任意文件读取(CVE-2024-23897)+后台用户密码提取哈希破解+反弹Shell 一条龙

本文主要是介绍Jenkins 任意文件读取(CVE-2024-23897)+后台用户密码提取哈希破解+反弹Shell 一条龙,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言

本文将深入研究一项涉及Jenkins的安全漏洞(CVE-2024–23897),将在实验室中介绍这些概念,这些技能对于渗透测试期间有效管理输出至关重要,而在本次漏洞利用中,更显得尤为关键。

本文还涉及Jenkins凭证管理,针对Jenkins部署,指导参与者如何查找存储的用户和密码信息。更加刺激的是,我们将引导参与者使用Hashcat破解这些凭据,进一步揭露其中的安全挑战。

实验的一大亮点是反向Shell测试,要求学员使用Jenkins内置的Groovy脚本控制台建立反向Shell。通过一个非常典型的试错过程,参与者将亲身体验实现远程命令执行的刺激和挑战。

最后,我们将探讨权限升级,一旦shell访问得到保护,参与者将识别并利用设置了SUID位的二进制文件进行权限升级。

二、 Jenkins (CVE-2024–23897) 靶机主题

此次靶场攻击主题内容:

  • 了解 CI / CD:参与者将从基础知识开始,了解 Jenkins 是什么及其通过持续集成/持续部署 (CI/CD)(Security+
    认证的基本概念)实现软件开发自动化方面的作用。 文件描述符:实验室介绍了文件描述符,重点关注 STDOUT 和
    STDERR,教参与者如何操作这些流。这些知识对于有效管理渗透测试期间的输出至关重要。
  • 输出抑制和重定向:以文件描述符为基础,参与者将练习根据所涉及的文件描述符抑制和重定向输出,这是任何有抱负的渗透测试人员工具包中的一项重要技能。
  • Jenkins 凭证:该活动针对 Jenkins 部署,指导参与者如何查找存储的用户和密码信息。 使用 Hashcat
    破解密码:参与者提取凭据并使用 Hashcat 破解它们。
  • 反向Shell测试:本实验的一大亮点,本部分要求学员使用Jenkins内置的Groovy脚本控制台建立反向Shell,通过一个非常典型的试错过程来实现远程命令执行。
  • 权限升级:一旦 shell 访问得到保护,参与者将识别并利用设置了 SUID 位的二进制文件来进行权限升级,了解 SUID
    位的重要性及其在类 Unix 操作系统中的作用。

三、靶机配置

下载靶机:
https://drive.google.com/file/d/1YD7fyJIjPCV3FtUfnK7UbxlMnUdrvA6X/view

下载后给靶机生成一个MAC地址:

00:50:56:3D:BD:9B

在这里插入图片描述
配置之后开机,你是没有密码进行登陆的所以这个不理它
在这里插入图片描述
我们给靶机生成过了MAC,这个需要进行定义MAC,必须也要在一个局域网里!要不然找不到

sudo arp-scan --localnet | grep 00:50:56

在这里插入图片描述

┌──(kali㉿kali)-[~]
└─$ nmap -Pn -sC -sV 192.168.207.132
Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-04 11:15 CST
Nmap scan report for 192.168.207.132
Host is up (0.00082s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT     STATE SERVICE VERSION
8080/tcp open  http    Jetty 10.0.18
| http-open-proxy: Potentially OPEN proxy.
|_Methods supported:CONNECTION
| http-robots.txt: 1 disallowed entry 
|_/
|_http-server-header: Jetty(10.0.18)
|_http-title: Dashboard [Jenkins]Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.61 seconds

在这里插入图片描述
我们需要从靶机系统下载一个Jenkins客户端,这个客户端后面用于利用,先创建一个文件夹
在这里插入图片描述
然后执行wget把jenkins-cli.jar提取到文件里面,如果出现错误多尝试几次,把它提取出来!

┌──(kali㉿kali)-[~/jenkins-exploit]
└─$ wget http:

这篇关于Jenkins 任意文件读取(CVE-2024-23897)+后台用户密码提取哈希破解+反弹Shell 一条龙的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/776357

相关文章

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

使用Java实现Navicat密码的加密与解密的代码解析

《使用Java实现Navicat密码的加密与解密的代码解析》:本文主要介绍使用Java实现Navicat密码的加密与解密,通过本文,我们了解了如何利用Java语言实现对Navicat保存的数据库密... 目录一、背景介绍二、环境准备三、代码解析四、核心代码展示五、总结在日常开发过程中,我们有时需要处理各种软