Use shell to build weblogic debug environment for CVE-2020-2551# CVE-2020-2551
该项目的搭建脚本在10.3.6版本经过测试,12版本未测试。
## 环境
kali+weblogic10.3.6+jdk6u25
> 保证部署`weblogic`的机器内存至少`1.5G`,因为脚本中参数指定的`-x1024m`。
## 使用方法
### 部署weblogic本地调试环境
进入到对应版本目录,详情查阅对应`READEME`。
### 尝试登陆
访问`http://ip:7001/console`,初次访问的时候有初始化过程!
> 默认用户名密码:`weblogic/admin@123`
### payload generate
使用项目[marshalsec_docker](https://github.com/cnsimo/marshalsec_docker/)搭建`marshalsec`的`docker`版本,也可以弄本地的。

`marshalsec_docker`默认的`payload`为`ExportObject.java`,利用成功之后会在`/tmp`目录下生成`poc-cve-2020-2551.x`空文件。
> 建议所有操作都在一台机器上复现,避免网络问题导致的复现失败!
### payload sender
使用`Y4er`的项目生成`weblogic_CVE_2020_2551.jar`包,这是一个`payload`发送器,这个`jar`发包之后肯定会报错`NamingServer`之类的错误,不用管,在`weblogic`日志中的报错信息比较重要。

`weblogic`报这两个错,大概率是成功了:

## 目录介绍
略。
## 已知问题
- 重启后,会导致环境变量丢失,因此导致`weblogic`无法启动,`java`找不到,自行解决!
- 其他问题,在`issue`提问,或到[blog1](https://scriptboy.cn)或[blog2](https://www.cnblogs.com/lxmwb)评论区提问。
## 注意事项
请严格按照文档中给出的版本进行测试,没有清理脚本,严重建议使用前打好系统快照!
> 所有操作尽量都在一台机器上操作,并且保证使用的`jdk`都是一个,避免出现网络问题、`java`版本不支持问题。
-----------
## 项目引用
- [WeblogicEnvironment](https://github.com/QAX-A-Team/WeblogicEnvironment/blob/master/scripts/jdk_install.sh)
- [CVE-2020-2551](https://github.com/Y4er/CVE-2020-2551/)
## 漏洞分析参考
- [WebLogic WLS核心组件RCE分析(CVE-2020-2551) - 安全客,安全资讯平台 ](https://www.anquanke.com/post/id/199695)
- [Weblogic CVE-2020-2551 IIOP协议反序列化RCE – Y4er的博客](https://y4er.com/post/weblogic-cve-2020-2551/)
- [漫谈 WebLogic-CVE-2020-2551 ](https://paper.seebug.org/1149/#_4)
[4.0K] /data/pocs/dcd1ad8b250c28b153465c4ab7346a1894bb0ca9
├── [1.0K] LICENSE
├── [2.4K] README.md
├── [4.0K] weblogic-env-scripts
│ ├── [4.0K] marshalsec
│ │ ├── [ 42] build.sh
│ │ └── [ 196] README.md
│ ├── [2.4K] README.md
│ ├── [4.0K] weblogic1036
│ │ ├── [ 701] create_domain11g.sh
│ │ ├── [ 255] jdk-bin-install.sh
│ │ ├── [ 296] open_debug_mode.sh
│ │ ├── [ 818] README.md
│ │ ├── [ 373] run_weblogic1036jdk6u25.sh
│ │ ├── [1.6K] weblogic_install11g.sh
│ │ └── [ 224] wls.sh
│ └── [4.0K] weblogic12013
│ ├── [ 752] create_domain12g.sh
│ ├── [ 216] jdk-install.sh
│ ├── [ 296] open_debug_mode.sh
│ ├── [ 882] README.md
│ ├── [ 371] run_weblogic12013jdk7u21.sh
│ ├── [1.2K] weblogic_install12g.sh
│ └── [ 224] wls.sh
├── [4.0K] weblogicPoc
│ ├── [4.0K] lib
│ │ ├── [ 53K] com.bea.core.repackaged.apache.commons.logging_1.2.1.jar
│ │ ├── [1.7M] com.bea.core.repackaged.springframework.spring_1.2.0.0_2-5-3.jar
│ │ └── [ 15K] permit-reflect-0.3.jar
│ ├── [ 469] README.md
│ ├── [4.0K] src
│ │ └── [2.9K] weblogicpoc.java
│ └── [ 546] weblogicPoc.iml
└── [4.0K] Y4er
└── [4.0K] CVE-2020-2551
9 directories, 25 files