码迷,mamicode.com
首页 > Web开发 > 详细

WebLogic反序列化漏洞导致getshell

时间:2017-08-26 18:43:15      阅读:550      评论:0      收藏:0      [点我收藏+]

标签:weblogic   getshell   反序列话   locate   

本文主要是讲述在主机渗透中我们经常使用的一条路径(存活判断-端口扫描-端口删选(web端口)-针对性渗透(web渗透))进行渗透,其中主要涉及发现漏洞、利用漏洞、获取上传位置等过程中自己的一点经验技巧。简单来说,本文主要是对某主机进行渗透的全过程记录!如有不合理或错误的地方,烦请各位多多指教,谢谢!

1.1    主机存活判断

当我们得到一个主机IP时,我们首先对它进行存活判断,最简单的就是通过ping命令,但是如果主机是禁ping那么我们可能会判断失误,因此我们需要使用nmap来再次进行存活判断(命令格式为:nmap –sn [ip])。

通过使用ping命令,如图1所示,我们可以判断主机是存活的。

技术分享

图1      主机存活判断

1.2    端口扫描

通过主机存活判断,我们知道主机是存活的,接下来就是对主机进行端口扫描,查看主机开放了哪些端口,端口扫描工具可以使用nmap、御剑等工具进行扫描,而nmap对于扫描全端口来说,我觉得很慢(可能是我的带宽渣吧),因此我几乎都是使用御剑进行端口扫描,而御剑对服务的识别却没有nmap那么好,看情况选择。在主机渗透方面,主要是扫描一些控制类端口或者web类端口,对于控制类端口主要是使用暴力破解工具探测弱口令,运气好的话可能就能直接获取服务器的控制权,而我运气一向不好,所以本文主要是选择web类端口进行着手渗透。另外我们可以使用nmap对主机进行漏洞检查(命令格式:nmap –script=vuln [ip]),但是看运气好不好,好的话直接扫出一个远程命令执行的漏洞,然后可以使用但不限于metaspolit进行利用!

如图2,通过端口扫描我们发现主机开放了如下端口,我一般选择后面带->符号的端口,这类端口多数为web类端口(个人经验,仅供参考),可以得到2个端口,我们随便选择一个8008进行渗透(后来才发现2个端口的漏洞是一样的)。

技术分享

图2      端口扫描

1.3    获取服务器基本信息

获取服务器基本信息的方法很多,本次将使用nc进行获取服务器基本信息,使用方法为:nc [ip] [port] ,然后输入 HEAD HTTP/1.0 ,按enter将回显服务器基本信息,如果没有回显,可以将1.0改为1.1试试,如图3所示,网站使用jsp脚本,另外还有servlet可知该网站主要是java开发。(以后再遇到这种情况先使用反序列化工具验证下)

技术分享

图3      获取服务器基本信息

1.4    wvs web漏洞扫描

虽然通过访问可知,http响应码为404,但是依旧可以进行扫描,看能不能发现目录等相关信息。

技术分享

图4      http响应码404

wvs是一个自动化的web应用程序安全测试工具,它可以扫描可以通过web浏览器和遵循httphttps规则的web站点和应用程序。通过wvs可以扫描SQL注入、XSS、目录检测、版本检测、源代码泄露等诸多漏洞。

通过wvs扫描,如图5可知该站点是oracleweblogic server,且存在weblogic ssrf漏洞,由于本人实在是一个菜鸟,对ssrf漏洞利用只能探测内网端口,无法反弹shell,路过的大神求指点,如何利用weblogic ssrf进行反弹shell,小的在此先谢过了。因此发现既然是weblogic,还是java开发的(上面初步判断的),那就用java反序列化工具看看有没有这个漏洞。

技术分享

图5      wvs扫描结果

1.5    发现weblogic反序列化漏洞

通过java反序列化漏洞利用工具验证,如图6可知,该漏洞是存在的,并且知道了当前用户及用户的当前目录等信息。

技术分享

图6      验证漏洞存在

1.6    上传webshell

漏洞是存在的,并且可以利用,通过该漏洞,我们可以执行命令、文件管理、webshell上传,我们就选择webshell上传吧(增加工作量呀),但是上传我们需要一个我们能进行web访问的路径,如图7,但是路径在哪找呢?

技术分享

图7      上传需要物理路径

1.7    寻找web路径

通过wvs,我们可以获取到相关路径,如图8,但是我们需要绝对路径,我们选择了其中一个使用locate进行查找,发现太多了,根本不好判断是哪一个,如图9所示。

技术分享

图8      扫描发现的目录

技术分享

图9      无法判断具体目录

这样就结束了吗?当然没有,在上次的文章中我说过,我们可以通过查看页面中的图片属性,然后来进行web路径的寻找。通过F12源码审查,我们可以获取到相关图片的路径,如图10,图11所示,此处选择图11的图片路径(因为我最先扫描目录扫出来的只有console,如图12)。

技术分享

图10     web路径1

技术分享

图11     web路径2

技术分享

图12     目录扫描

1.8    查找绝对路径

通过获取到的图片名称及对应的目录,我们使用locate[图片名]进行查看,如图13,对比发现即可获取到绝对路径(图中第二条)。

技术分享

图13     获取绝对路径

1.9    上传webshell

通过获取到的绝对路径及web路径,我们即可上传webshell,先上传一个小马试试(忘记截图了,参考下面的上传大马),但是我们连接不上,免杀的小马也试过了,就是不行,如图14,服务器500错误。不是k8上面有现成的k200pxd马吗,如图15,上传试试发现成功了,如图16k200pxd马连接成功!但是操作很不方便,可能一时脑壳宕了,小马不行干嘛不上传大马,为啥总想中国菜刀呢(太爱国了),真是丢了西瓜捡了芝麻。

技术分享

  图14     小马连接失败

技术分享

              图15     k200pxd马代码获取

技术分享

 图16     k200pxd马连接成功

1.10            成功获得webshell

通过获取的物理路径及web路径,重新尝试上传大马,如图17所示,上传成功,最后访问大马成功,如图18所示。

技术分享

 图17     上传大马成功

技术分享

图18     连接大马成功

1.11            总结

在本次渗透中,主要是对weblogic反序列化漏洞进行利用获取webshell,而上传的webshell要我们能访问,所以我们就需要获取web路径及web路径对应的物理路径,获取web路径一是可以扫目录看能不能发现,二可以查看源代码,看有没有相关信息,另外还有报错信息泄露路径等手段,本文主要是根据页面中图片的属性结合locate命令来寻找对应的关系。

另外在我上传小马过程中,总是不成功,虽然小马上传成功了(通过ls可以查看对应目录中的文件),但是访问不了,总是报500错误,菜刀也连接不上,于是想到使用k200pxd马进行上传(之前遇到过上传小马大马都不行,就上传k200pxd马可以),发现成功了,可能是固定思维,发现小马不能上传,一开始就没想到要上传大马,连上k200pxd马之后,感觉操作很不喜欢,才想到上传大马试试,最后上传大马成功!


本文出自 “eth10” 博客,请务必保留此出处http://eth10.blog.51cto.com/13143704/1959538

WebLogic反序列化漏洞导致getshell

标签:weblogic   getshell   反序列话   locate   

原文地址:http://eth10.blog.51cto.com/13143704/1959538

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!