一次CNVD-2020-10487漏洞利用

0x00漏洞简介

CNVD-2020-10487 tomcat-ajp文件读取漏洞

0x01开始

某次对一个目标进行测试用routerscan扫描搜集的C段资产发现某个IP开放了22,6379,8009等端口

看到8009就想到了tomcat-ajp,于是使用nmap确认一下

接着直接用exp读取web.xml文件试试看,成功

想到开了redis,那会不会有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-master\thirdparty\ghostcat.py

再次运行脚本,把xml里面的class文件给下回来了

把class文件拖入jd-gui直接搜索encrypt和decrypt,找到了对应的加解密类

是des加解密,还有密钥也在里面,代码看了一下,搞不清楚是怎么加解密的,但是看到了方法getDecryptString,就把加解密用到的代码都扣出来,直接调用这个方法进行解密,成功解出了redis密码

拿着解出来的密码连接redis

最后使用主从复制拿到了权限

0x02结束

更多渗透技术好文,持续关注!

*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。

学习渗透,安全服务课程,课程咨询:15386496074

 

 

 

posted @   小牛在行动  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示