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

相关文章

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

C#从XmlDocument提取完整字符串的方法

《C#从XmlDocument提取完整字符串的方法》文章介绍了两种生成格式化XML字符串的方法,方法一使用`XmlDocument`的`OuterXml`属性,但输出的XML字符串不带格式,可读性差,... 方法1:通过XMLDocument的OuterXml属性,见XmlDocument类该方法获得的xm

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

C#实现添加/替换/提取或删除Excel中的图片

《C#实现添加/替换/提取或删除Excel中的图片》在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观,下面我们来看看如何在C#中实现添加/替换/提取或删除E... 在Excandroidel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用