WebLogic反序列化漏洞导致getshell

本文主要是讲述在主机渗透中我们经常使用的一条路径(存活判断-端口扫描-端口删选(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浏览器和遵循http或https规则的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,上传试试发现成功了,如图16,k200pxd马连接成功!但是操作很不方便,可能一时脑壳宕了,小马不行干嘛不上传大马,为啥总想中国菜刀呢(太爱国了),真是丢了西瓜捡了芝麻。

图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马之后,感觉操作很不喜欢,才想到上传大马试试,最后上传大马成功!

时间: 2024-08-10 21:27:47

WebLogic反序列化漏洞导致getshell的相关文章

Weblogic反序列化漏洞补丁更新解决方案

第一种方案如下 使用SerialKiller替换进行序列化操作的ObjectInputStream类; 在不影响业务的情况下,临时删除掉项目里的 "org/apache/commons/collections/functors/InvokerTransformer.class"文件. ObjectInputStream类为JRE的原生类,InvokerTransformer.class为weblogic基础包中的类,对上 述两个类进行修改或删除,实在无法保证对业务没有影响.如果使用上述

weblogic反序列化漏洞 cve-2018-3245

weblogic反序列化漏洞 CVE-2018-3245 0x00 针对cve-2018-2893的修复 针对JRMP反序列化修复的方式依旧是增加黑名单:黑名单package:java.rmi.activation sun.rmi.server黑名单class:java.rmi.server.UnicastRemoteObject java.rmi.server.RemoteObjectInvocationHandler 0x01绕过方法 因为将java.rmi.server.RemoteObj

Typecho 反序列化漏洞导致前台 getshell

前言 最早知道这个漏洞是在一个微信群里,说是install.php文件里面有个后门,看到别人给的截图一看就知道是个PHP反序列化漏洞,赶紧上服务器看了看自己的博客,发现自己也中招了,相关代码如下: 然后果断在文件第一行加上了die: <?php die('404 Not Found!'); ?> 今天下午刚好空闲下来,就赶紧拿出来代码看看. 漏洞分析 先从install.php开始跟,229-235行: <?php$config = unserialize(base64_decode(T

weblogic AND jboss 反序列化漏洞

C:\Program Files\Java\jboss-4.2.3.GA\server\default\deploy\http-invoker.sar\invoker.war\WEB-INF server/$CONFIG/deploy/http-invoker.sar/http-invoker.war/WEB-INF/w eb.xml 文件,将标签中的 url-pattern 修改为/*,并注释掉其中的两个 http-method. 1.weblogic反序列化漏洞 通过java反序列化漏洞利用

weblogic新漏洞学习cve-2017-3506

一.原理: 很明显啦,readobject又出来背锅了,一个XML的反序列化漏洞导致的命令执行. 具体原理我看不懂java代码的我也只能学习别人的分析.给出一篇参考文章,写的非常详细: 漏洞原理 二.如何构造命令执行的payload-xml: 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 2 <soapenv:Header> 3 <work:Wo

Weblogic 历史漏洞回顾

时间线 从 2015-2018 <?xml version="1.0" encoding="GB2312"?> <rule> <readme><!-- 项目自述 --> <name>漏洞感知项目</name> <Initiator>Greekn fplythoner</Initiator> <emailone>[email protected] [email 

weblogic 安全漏洞问题解决

1 weblogic控制台地址暴露 ²  整改方法: 禁用weblogic控制台.在weblogic域(sguap-domain和base-domain)的config下的config.xml中 </security-configuration>下面添加<console-enabled>false</console-enabled>. 禁用成功后如下图所示: 2.1.2 存在Java反序列漏洞        ²  整改方法: 方法一.更新weblogic自带jar包.升

阿里云提出的漏洞(Phpcms V9某处逻辑问题导致getshell漏洞解决方法)的问题

最近从阿里云云盾检测流出来的,相比使用阿里云服务器的朋友已经收到漏洞提醒:Phpcms V9某处逻辑问题导致getshell漏洞解决方法,这个漏洞怎么办呢?CMSYOU在这里找到针对性解决办法分享给大家. 漏洞详情: 漏洞名称:phpcms某处逻辑问题导致getshell 补丁编号:7843523 补丁文件:/phpcms/libs/classes/attachment.class.php 补丁来源:云盾自研 更新时间:2016-09-20 13:03:10 漏洞描述:phpcms的/phpcm

weblogic打补丁修复JAVA反序列化漏洞 &nbsp; &nbsp; &nbsp;

之前一篇文章记录部署web代理修复漏洞通过部署web代理来修复JAVA反序列化漏洞,这篇通过打补丁来修复这个漏洞.详见(Doc ID 2075927.1) 系统环境如下所示: OS:Oracle Linux Server release 6.1 64bit Weblogic:10.3.6 具体操作如下步骤所示: 1.备份备份备份 2.一切操作安装补丁README来 2.1 更新PSU 2.2 打补丁 1.备份 做好备份工作,无论是否可以回退,保证有备份 2.上传PSU weblogic补丁上传,