0x01 前提
前两天在做某客户的渗透项目时遇到好几个业务系统都是使用WebLogic中间件架构,查看版本是10.3.6.0的,但是在验证Weblogic反序列化漏洞的时候一直没有成功,客户应该是已经打过远程代码执行漏洞(CVE-2015-4852)的补丁,今天刚好看到ThreatHunter社区的大神分享的文章,于是整理一下,也方便自己以后查阅。
0x02 WebLogic常见漏洞简介
1、WebLogic是一个Application Server,确切的说是一个基于JAVAEE架构的中间件。
2、WebLogic常用端口7001/7002,常见漏洞有弱口令导致上传任意war包、SSRF漏洞和反序列化漏洞。
先知社区上有一篇文章对上面几个漏洞总结得很好,包括测试环境的搭建等;链接:https://xianzhi.aliyun.com/forum/read/1736.html
0x03 WebLogic反序列化漏洞
其中CVE-2016-3510和CVE-2016-0638这两个漏洞是对CVE-2015-4852的绕过。
歪果仁的POC https://github.com/pwntester/SerialKillerBypassGadgetCollection 10.3.6.0,9.2.3.0版本shack2已测试成功
漏洞验证脚本我就不贴了,可直接到作者公布的源网站查看:https://threathunter.org/topic/594a9d6dde1d70c20885ccd2
0x04 根据0c0c0f大神提出的修复方案
1、升级weblogic、删除不需要的页面,清理不安全的第三方库。https://github.com/frohoff/ysoserial/tree/master/src/main/java/ysoserial/payloads
2、应用层:序列化数据采用对称加密进行传输,接口调用增加身份认证。网络层:序列化接口做严格的网络访问控制
3、升级JDK,使用序列化的过滤接口 JEP 290: Filter Incoming Serialization Data http://openjdk.java.net/jeps/290
4、contrast-rO0运行时防护 https://github.com/drosenbauer/contrast-rO0
0x05 补丁包
http://pan.baidu.com/s/1qXOrHVY 密码:i78x