哈哈哈,终于等到我复现一个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解析,从而造成反序列化远程代码执行。

参考资料:

【高危漏洞】Weblogic反序列化远程代码执行漏洞

【处置建议】Oracle WebLogic反序列化漏洞(CVE-2018-2628)安全处置建议

最新文章

  1. ffmpeg音频编码
  2. 8.12 CSS知识点5
  3. Android保存图片到系统图库
  4. josephus问题
  5. 【Linux高频命令专题(5)】rmdir
  6. HDU4864:Task(贪心)
  7. 京东UED招聘web前端开发工程师(中/高级)
  8. eclipse 修改编码
  9. idea历史版本下载
  10. HDU6235-Permutation-水题-2017中国大学生程序设计竞赛-哈尔滨站-重现赛
  11. 基于Multiple treatment的营销评估算法
  12. SpringBoot cache-control 配置静态资源缓存 (以及其中的思考经历)
  13. RandomAccessFile出现中文乱码问题
  14. Day 23 面向对象(二)
  15. SQL总结——存储过程
  16. Can't connect to MySQL server (10065)
  17. nodejs -- event 模块, 事件模块.
  18. ping命令流程详解
  19. 【C#】 增加多个分部类
  20. 用Git发布版本笔记

热门文章

  1. django之表多对多建立方式、form组件、钩子函数 08
  2. 【Springboot】Springboot整合Ehcache
  3. C#与数据库有关的控件和属性
  4. 内存拷贝函数 memcpy
  5. 数位dp入门(内容一样,新版格式)
  6. 第03组 Alpha冲刺(3/4)
  7. [CSP-S模拟测试]:Blue(贪心)
  8. Java并发编程的艺术笔记(十)——Semaphore详解
  9. SQL optimizer -Query Optimizer Deep Dive
  10. 本地oracle可以通过localhost连接,无法通过ip地址连接解决方法,oracle远程连接配置