WebLogic反序列化漏洞导致getshell

简介:

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

1.1    主机存活判断

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

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

wKiom1mhFm_CvnxuAACVItKjTLs162.jpg-wh_50

图1      主机存活判断

1.2    端口扫描

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

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

wKioL1mhFoWwsezCAABSu5H3quc190.jpg-wh_50

图2      端口扫描

1.3    获取服务器基本信息

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

wKiom1mhFruikufhAABlfm9yn9s769.jpg-wh_50

图3      获取服务器基本信息

1.4    wvs web漏洞扫描

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

wKiom1mhFs-QXPv2AAIHUrDFx88680.jpg-wh_50

图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反序列化工具看看有没有这个漏洞。

wKioL1mhFtXBFOo3AADdyWYByzo051.jpg-wh_50

图5      wvs扫描结果

1.5    发现weblogic反序列化漏洞

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

wKioL1mhFuyAO5nTAADMKOmKz3A417.jpg-wh_50

图6      验证漏洞存在

1.6    上传webshell

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

wKiom1mhFw6wm_HlAACKIQW-aJM348.jpg-wh_50

图7      上传需要物理路径

1.7    寻找web路径

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

wKiom1mhFymDMdIhAAIc8b61tVM603.jpg-wh_50

图8      扫描发现的目录

wKiom1mhF0jQWdVIAAJvmitPlzw782.jpg-wh_50

图9      无法判断具体目录

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

wKiom1mhF1qgsSH9AAK3xLRp5Rs591.jpg-wh_50

图10     web路径1

wKioL1mhF2GwkoZ9AAJU1v9kQhg491.jpg-wh_50

图11     web路径2

wKioL1mhF3LDgxe8AACLfHugnco741.jpg-wh_50

图12     目录扫描

1.8    查找绝对路径

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

wKiom1mhF5ShhZnCAAD_f1PKmDE420.jpg-wh_50

图13     获取绝对路径

1.9    上传webshell

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

wKiom1mhF6Sgc22HAACi2draeX0837.jpg-wh_50

  图14     小马连接失败

wKioL1mhF67jjN_5AAEfdQYiUW8661.jpg-wh_50

              图15     k200pxd马代码获取

wKiom1mhF83DECJcAAMUZ88MFVU871.jpg-wh_50

 图16     k200pxd马连接成功

1.10            成功获得webshell

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

wKiom1mhF9_wkDzUAAJ-vFL-JaU565.jpg-wh_50

 图17     上传大马成功

wKiom1mhF_Px4uLLAAOVGyALphw741.jpg-wh_50

图18     连接大马成功

1.11            总结

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

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




本文转自 eth10 51CTO博客,原文链接:http://blog.51cto.com/eth10/1959538
相关文章
|
Web App开发 安全 Java
WebLogic Server 远程代码执行漏洞(CVE-2021-2109)
WebLogic Server 远程代码执行漏洞,攻击者可通过使用恶意Payload对目标服务器实施攻击并接管服务器获取执行权限。
354 1
|
安全 Java 应用服务中间件
WebLogic Server 远程代码执行漏洞(CVE-2023-21839/CNVD-2023-04389)
WebLogic Server 存在远程代码执行漏洞,攻击者通过特定Payload对目标服务器进行恶意利用从而获取服务器控制权限,进一步操作。
320 1
|
5月前
|
安全 Oracle 关系型数据库
Oracle WebLogic Server远程代码执行漏洞 CVE-2020-14750 已亲自复现_cve-2020-14750漏洞复现
Oracle WebLogic Server远程代码执行漏洞 CVE-2020-14750 已亲自复现_cve-2020-14750漏洞复现
H8
|
安全 网络协议 Java
跨语言的艺术:Weblogic 序列化漏洞和 IIOP 协议
Weblogic序列化漏洞主要依赖于T3和IIOP协议,在通信交互方面存在诸多问题,如跨语言、网络传输等,给漏洞检测和利用带来诸多不便。在WhiteHat Labs的理念中,漏洞检测和利用是一项创造性的工作,应该以最简洁高效的方式实现,以保证漏洞的跨平台性和实用性。因此,我们实现了跨语言的IIOP协议通信方案来解决序列化漏洞问题。
H8
269 9
|
XML 安全 Java
WebLogic EJBTaglibDescriptor XXE漏洞(CVE-2019-2888)
WebLogic EJBTaglibDescriptor 在反序列化的同时会进行XML解析,通过重写EJBTaglibDescriptor中的writeExternal函数生成恶意的序列化数据。
236 1
|
XML 安全 Oracle
干货 | 最全最详细的Weblogic漏洞总结(建议收藏)
干货 | 最全最详细的Weblogic漏洞总结(建议收藏)
4235 0
|
安全 NoSQL Shell
Weblogic ssrf漏洞复现---从0到1
利用Ubuntu16.04,安装docker,要以root身份执行
270 0
Weblogic ssrf漏洞复现---从0到1
|
XML 安全 Oracle
Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
1124 0
|
XML 安全 Oracle
Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271 漏洞复现
Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271 漏洞复现
149 0
|
安全 Oracle 前端开发
(CVE-2018-2894)Weblogic任意文件上传漏洞复现 文末附演示视频
(CVE-2018-2894)Weblogic任意文件上传漏洞复现 文末附演示视频
243 0