PS:本文验证仅用于学习与研究,请勿非法利用。
一、漏洞概要
北京时间4月18日凌晨,Oracle官方发布了4月份的关键补丁更新CPU(CriticalPatchUpdate),其中包含一个高危的Weblogic反序列化漏洞(CVE-2018-2628),通过该漏洞,攻击者可以在未授权的情况下远程执行代码。攻击者只需要发送精心构造的T3协议数据,就可以获取目标服务器的权限。攻击者可利用该漏洞控制组件,影响数据的可用性、保密性和完整性。
二、漏洞影响范围
漏洞影响范围包括:
OracleWebLogicServer10.3.6.0
OracleWebLogicServer12.1.3.0
OracleWebLogicServer12.2.1.2
OracleWebLogicServer12.2.1.3
三、漏洞验证现状
目前github上已经出现不少用于检测此漏洞的验证代码,但是绝大多数代码中PAYLOAD字段都包含一个归属为美国的IP地址104.251.228.50,如下所示:
四、我的漏洞验证
对此,我搭建实验环境进行了测试,与大家分享一下心得(整个测试中涉及到的IP地址均为实验环境中的地址)
4.1 漏洞验证代码
先贴上我的代码,仅为单线程示例代码,多线程的请各位大神自己修改
4.2 PAYLOAD字段修改
对于如何修改代码中的PAYLOAD字段中的地址,可以使用ysoserial获取,命令为:
注意ysoserial需要依赖JDK,运行上述命令可以得到自己的PAYLOAD(这里是
),替换代码中的PAYLOAD内容即可。
4.3 漏洞验证
通过ysoserial设置JRMPListener主机,并输入回传的待执行命令,命令如下:
运行上述命令后可以正式进行试验。为了验证此漏洞远程代码执行的效果,以安装Weblogic的Linux服务器为例,可以执行curl命令测试,让其访问我们自己搭建的Web服务器并查看Web日志,如果日志中有目标机器的IP地址,并表明存在此漏洞并已经成功利用。最后贴下漏洞验证效果。本次测试的攻击机为11.10.67.83 (实验室私有IP),RMPListener与Web服务均在此服务器启用
目标靶机为11.10.138.61(实验室私有IP)
在攻击机上执行以下命令对靶机11.10.138.61进行攻击
在攻击机11.10.67.83上显示
在11.10.67.83的Web日志中可以看到结果
可以看到利用此漏洞让目标靶机11.10.138.61访问了攻击机11.10.67.83的Web服务。
五、结论
通过上述实验可以看到,此漏洞确实具备远程代码执行的能力,请安全与运维人员提高警惕,尽快修复此漏洞。对于此漏洞,Oracle官方已经给出了相应补丁,强烈建议受影响的用户尽快升级更新进行防护。
以上验证仅用于学习与研究,请勿非法利用。
*本文作者:kaixin3000,转载请注明来自FreeBuf.COM
领取专属 10元无门槛券
私享最新 技术干货