CVE-2018-2628
哈哈哈,终于等到我复现一个CVE漏洞了。
漏洞描述
Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。Oracle WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。
攻击者可以在未授权的情况下,通过T3协议在WebLogic Server中执行反序列化操作,最终造成远程代码执行漏洞。
Oracle官方将该漏洞等级定义为“高危”
CVE-2018-2628漏洞影响范围
受影响的版本:
- Weblogic 10.3.6.0
- Weblogic 12.1.3.0
- Weblogic 12.2.1.2
- Weblogic 12.2.1.3
受影响的区域
根据NTI(绿盟威胁情报中心)统计结果,在全球范围内对互联网开放Weblogic服务的资产数量多达19,229,其中归属中国地区的受影响资产数量为1,787。
由于此漏洞产生于Weblogic T3服务,当开放Weblogic控制台端口(默认为7001端口)时,T3服务会默认开启,因此会造成较大影响,结合曾经爆出的Weblogic WLS 组件漏洞(CVE-2017-10271),不排除会有攻击者利用挖矿的可能,因此,建议受影响企业用户尽快部署防护措施。
漏洞复现
第一步发送测试PoC,PoC中远程连接的服务器地址就是第二步中所使用的服务器,攻击的ip是192.168.3.103的7001端口上的T3服务,该服务会解包Object结构,通过一步步的readObject去第二步服务器上的1099端口请求恶意封装的代码,然后在本地弹出计算器。
第二步在远程服务器上启用ysoserial.exploit.JRMPListener,JRMPListener会将含有恶意代码的payload发送回请求方。
查看weblogic的日志,可以看到如下错误,此时已经弹出计算器:
分析:
Weblogic已经将互联网暴露的PoC都已经加入了黑名单,如果要绕过他的黑名单的限制就只能自己动手构造。来看看InboundMsgAbbrev中resolveProxyClass的实现,resolveProxyClass是处理rmi接口类型的,只判断了java.rmi.registry.Registry,其实随便找一个rmi接口即可绕过。
其实核心部分就是JRMP(Java Remote Method protocol),在这个PoC中会序列化一个RemoteObjectInvocationHandler,它会利用UnicastRef建立到远端的tcp连接获取RMI registry,加载回来再利用readObject解析,从而造成反序列化远程代码执行。
参考资料:
【处置建议】Oracle WebLogic反序列化漏洞(CVE-2018-2628)安全处置建议
最新文章
- ffmpeg音频编码
- 8.12 CSS知识点5
- Android保存图片到系统图库
- josephus问题
- 【Linux高频命令专题(5)】rmdir
- HDU4864:Task(贪心)
- 京东UED招聘web前端开发工程师(中/高级)
- eclipse 修改编码
- idea历史版本下载
- HDU6235-Permutation-水题-2017中国大学生程序设计竞赛-哈尔滨站-重现赛
- 基于Multiple treatment的营销评估算法
- SpringBoot cache-control 配置静态资源缓存 (以及其中的思考经历)
- RandomAccessFile出现中文乱码问题
- Day 23 面向对象(二)
- SQL总结——存储过程
- Can't connect to MySQL server (10065)
- nodejs -- event 模块, 事件模块.
- ping命令流程详解
- 【C#】 增加多个分部类
- 用Git发布版本笔记
热门文章
- django之表多对多建立方式、form组件、钩子函数 08
- 【Springboot】Springboot整合Ehcache
- C#与数据库有关的控件和属性
- 内存拷贝函数 memcpy
- 数位dp入门(内容一样,新版格式)
- 第03组 Alpha冲刺(3/4)
- [CSP-S模拟测试]:Blue(贪心)
- Java并发编程的艺术笔记(十)——Semaphore详解
- SQL optimizer -Query Optimizer Deep Dive
- 本地oracle可以通过localhost连接,无法通过ip地址连接解决方法,oracle远程连接配置