0x00漏洞简介
CNVD-2020-10487 tomcat-ajp文件读取漏洞
0x01开始
某次对一个目标进行测试,用routerscan扫描搜集的C段资产,发现某个IP开放了22,6379,8009等端口
看到8009就想到了tomcat-ajp,于是使用nmap确认一下
接着直接用exp读取web.xml文件试试看,成功
想到开了redis,那会不会有redis配置文件呢
哦豁,密码错误,仔细一看,密码像是加过密的。到了这里还是没有放弃,找个了web.xml文件看了一下,listener-class这个标签就是标记的相应的类,可以直接去相应的目录下面就能找到.class文件
在github上找到一个可以下载class并且反编译的工具:
https://github.com/LandGrey/ClassHound
脚本已经跑完了,提示把文件都下载到了一个目录里面,但是并没有生成那个目录。这时候想到用wireshark抓ajp的数据包看看是什么情况,发现所有请求都是404,连web.xml都没有
是不是脚本使用姿势不对,漏掉了哪个参数还是怎么了,每次都是请求index.txt。猜测可能是遍历的目录不对,抱着试试的想法去改了一下代码,搜索index.txt,手动把index.txt改成了ROOT
ClassHound-masterthirdpartyghostcat.py
再次运行脚本,把xml里面的class文件给下回来了
把class文件拖入jd-gui直接搜索encrypt和decrypt,找到了对应的加解密类
是des加解密,还有密钥也在里面,代码看了一下,搞不清楚是怎么加解密的,但是看到了方法getDecryptString,就把加解密用到的代码都扣出来,直接调用这个方法进行解密,成功解出了redis密码
0x02结束
*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。
原文始发于微信公众号(雨笋君):一次CNVD-2020-10487漏洞利用
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/854149.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论