Oracle官方发布了4月份的关键补丁更新CPU(Critical Patch Update),其中包含一个高危的远程代码执行漏洞(CVE-2018-2628),通过该漏洞,攻击者可以在未授权的情况下远程执行任意代码。
第一步发送测试PoC,PoC中远程连接的服务器地址就是第二步中所使用的服务器,攻击的ip是192.168.3.103的7001端口上的T3服务,该服务会解包Object结构,通过一步步的readObject去第二步服务器上的1099端口请求恶意封装的代码,然后在本地弹出计算器。
第二步在远程服务器上启用ysoserial.exploit.JRMPListener,JRMPListener会将含有恶意代码的payload发送回请求方。
查看weblogic的日志,可以看到如下错误,此时已经弹出计算器:
分析:
其实核心部分就是JRMP(Java Remote Method protocol),在这个PoC中会序列化一个RemoteObjectInvocationHandler,它会利用UnicastRef建立到远端的tcp连接获取RMI registry,加载回来再利用readObject解析,从而造成反序列化远程代码执行。
通过上述实验可以看到,此漏洞确实具备远程代码执行的能力,请安全与运维人员提高警惕,尽快修复此漏洞。对于此漏洞,Oracle官方已于2018.4.17发布已经给出了相应补丁,强烈建议受影响的用户尽快升级更新进行防护。
以上验证仅用于学习与研究,请勿非法利用。
领取专属 10元无门槛券
私享最新 技术干货