Marshalsec 工具详解

news/2026/1/18 18:46:02/文章来源:https://www.cnblogs.com/77burger/p/19498939

0x01.Marshalsec 是什么

Marshalsec 是一个用于研究和利用 Java 反序列化、JNDI 以及 RMI 安全问题的攻击与测试框架,由著名 Java 安全研究员 Moritz Bechler 开发。该工具并非传统意义上的“漏洞利用脚本”,而是一组可快速启动恶意服务端组件的集合,用于配合目标 Java 应用触发不安全的对象加载或反序列化行为。
从攻击视角看,Marshalsec 的核心价值在于:它实现了多种“恶意中间件服务”,用于在协议层面欺骗目标 JVM 主动执行攻击逻辑。

0x02 Marshalsec 解决的核心问题

在 Java 漏洞利用中,攻击者通常面临一个关键难点:如何让目标 JVM 在“看似正常的协议交互”中,执行攻击者的代码?
Marshalsec 的解决思路是:不直接向目标推送 payload 而是构造合法协议响应诱导 JVM 在反序列化 / JNDI 查找 / RMI 交互过程中自行加载并执行恶意对象或类。因此,Marshalsec 的本质并不是“发 payload”,而是扮演协议中的“可信服务端角色”。

0x03 Marshalsec 的整体架构思想

Marshalsec 采用模块化设计,不同模块对应不同的 Java 安全攻击面:

                 ┌────────────┐│  目标 JVM  │└─────▲──────┘│┌─────────────────┼─────────────────┐│                 │                 │
RMI Registry        LDAP Server       JRMP Listener(JNDI)              (JNDI)            (RMI 序列化)

攻击者通过 Marshalsec 启动其中某一类服务,等待目标 JVM 主动连接并触发漏洞。

0x04 Marshalsec 的主要模块详解

JNDI 相关模块

(1)RMIRefServer
作用:启动一个恶意 RMI Registry,在 JNDI lookup 时返回包含远程 Codebase 的 Reference 对象。
攻击条件:

  • JDK 版本允许远程 Codebase 加载
  • com.sun.jndi.rmi.object.trustURLCodebase = true
  • java.rmi.server.useCodebaseOnly = false

利用原理:

  • 返回 ReferenceWrapper
  • 指定 className
  • 指定 codebase URL
  • 目标 JVM 从 HTTP 服务器加载恶意类

(2)LDAPRefServer
作用:模拟一个恶意 LDAP 服务,在 JNDI 查询中返回可控的 LDAP Entry,触发远程类加载或对象实例化。
应用场景:

  • Log4j2 LDAP 利用
  • Spring JNDI 注入
  • Fastjson JNDI 场景

RMI 反序列化模块

(1)JRMPListener
作用:监听 RMI JRMP 协议请求,并在反序列化阶段发送恶意序列化对象。
特点:

  • 不依赖 JNDI
  • 利用原生 Java RMI 序列化机制
  • 常与 ysoserial gadget 链配合使用

HTTP Server 模块

作用:提供远程 Codebase,承载恶意 .class 文件。Marshalsec 本身并不强制内置 HTTP Server,通常配合:python3 -m http.server 8000或 Nginx / Apache 使用。

0x05 Marshalsec 与 ysoserial 的区别与关系

工具 关注点
ysoserial 构造反序列化 payload
marshalsec 承载与投递 payload 的服务端

ysoserial 负责“造炸弹”,marshalsec 负责“引爆环境”。在实际利用中,两者经常组合使用。

0x06 Marshalsec 的典型使用场景

1.JNDI注入漏洞复现:Log4j2 JNDI RCE、Spring JNDI 注入、Weblogic JNDI 利用
2.Java 反序列化漏洞研究:RMI 接口反序列化、T3 协议利用、JRMP 利用链测试
3.安全研究与防护验证:验证 JDK 补丁效果、验证 trustURLCodebase 默认关闭后的防护能力、测试 WAF / RASP 对 JNDI 行为的拦截能力

0x07 Marshalsec 的安装方式

//源码编译
git clone https://github.com/mbechler/marshalsec.git
cd marshalsec
mvn clean package -DskipTests
//生成文件:target/marshalsec-*-SNAPSHOT-all.jar

0x08 Marshalsec的安全意义

Marshalsec 并非自动化攻击工具,而是 Java 安全研究中的基础设施组件。它通过实现恶意 RMI、LDAP、JRMP 等协议服务,揭示了 Java 在对象查找、远程加载和反序列化设计上的历史性安全问题。理解 Marshalsec 的工作原理,有助于从协议和 JVM 行为层面理解 JNDI 与反序列化漏洞的本质。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1179118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语音识别大模型原理 - 详解

语音识别大模型原理 - 详解2026-01-18 18:42 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; …

AI+时代:程序员必知的就业转型与技能提升指南

本文探讨"人工智能"如何促进高质量充分就业,从三方面展开:人工智能催生新产业、推动传统行业智能化创造新岗位;通过通识教育、高等教育和终身学习提升劳动者AI素养;赋能人岗匹配、工作执行和交付方式,增强职…

(6-4)常见类的继承关系

(15) (16) 谢谢

YOLOv11性能暴涨方案:Mamba-MLLA注意力机制实战集成,精度与速度双提升

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有! 文章目录 YOLOv11注意力机制革命:Mamba-MLLA注意力机制完全集成指南 技术突破与性能验证 Mamba-MLLA核心技术解析 状态空间模型与注意力机制融合 YOLOv11与MLLA深度…

2026年AI发展新主线:从模型到系统,小白到程序员的必学之路

2026年AI发展主线将从"模型时代"转向"系统时代",关键在于AI落地而非单纯提升模型参数。六大趋势包括:AI从顾问升级为执行负责人(Agentic AI);多模态能力成为基本门槛;自动化流程具备思考能力;小模…

针对Grok接入美国军方奇点先生分析后给出了三封公开信

X54先生抛出观点: 按人工智能底层是设计不得伤害人类,用在军事不就等于让人工智能给出伤害他国最佳方案吗,他国的人类就不是人类吗?今天可以给出威慑他国方案,明天人工智能就会自己得出结论只要为目标也可以伤害非控制…

大模型技术路线图:从Transformer到AI Agent的完整学习路径【珍藏版】

文章系统介绍大模型学习的三阶段路径:核心构建(理论架构与预训练)、效率提升(模型压缩与部署)、应用生态(提示工程与评估)。涵盖Transformer架构、预训练技术、对齐方法、模型优化、推理服务等关…

2026年大模型学习路线:从零基础到精通的全面指南_AI大模型应用开发学习路线(2026最新)

本文详细介绍了2025年大模型学习路线,从数学、编程基础开始,逐步深入Transformer模型、预训练技术等核心知识,通过实战项目巩固技能,最后掌握API应用、模型微调与部署等高级技术。文章强调持续学习前沿技术、参与社区交流的重要性…

YOLOv8科研级轻量化升级:基于SOTA ADown的高效下采样设计

文章目录 【YOLOv8科研级轻量化】集成SOTA轻量下采样ADown,让模型下采样效率跃升20%+ 一、为什么要做这个改进? 二、先搞懂原理:ADown的设计逻辑 1. ADown的核心设计 2. 替换YOLOv8下采样的思路 三、动手改造YOLOv8:从代码到训练的完整路径 步骤1:实现ADown的核心代码 步骤…

include文件包含及c底层调试

做题笔记&#xff1a; DeadsecCTF2025 baby-web ubuntu虚拟环境下安装中间件和php&#xff0c;这里我用的nginx和php8.3 在nginx的html目录下放两个php文件 update.php: <?php session_start(); error_reporting(0); ​ $allowed_extensions [zip, bz2, gz, xz, 7z];…

8大AI学术工具横向评测:写作与降重功能实测,助力高效论文产出

当前最实用的8款AI论文工具综合排名为&#xff1a;ChatGPT&#xff08;语言生成&#xff09;、Elicit&#xff08;文献综述&#xff09;、QuillBot&#xff08;文本润色&#xff09;、Semantic Scholar&#xff08;语义分析&#xff09;、DeepL&#xff08;跨语言处理&#xff…

一文吃透图像超分辨率:SRResNet核心原理与实战实现

文章目录 一、 引言:揭秘图像超分辨率的奥秘 二、 SRResNet算法原理:深度学习赋能图像超分辨率 1. 深度残差网络:突破传统网络的瓶颈 1.1 残差学习的核心思想 1.2 SRResNet中的深度残差模块 2. 子像素卷积:高效且可学习的上采样方案 2.1 子像素卷积的优势 2.2 子像素卷积的…

SpringMVC的处理流程

一张图搞懂 SpringMVC 完整请求流程&#xff1a;从浏览器到页面响应的全链路拆解作为 Java 后端开发者&#xff0c;SpringMVC 的请求处理流程是日常开发的核心逻辑&#xff0c;但很多时候我们只知其然不知其所以然。今天&#xff0c;我就通过这张经典的 SpringMVC 处理流程图&a…

从曲面到清晰文字:工业视觉如何实现酒瓶标签100%可读

文章目录 毕设突围:酒瓶标签曲面展平+文字识别全流程实战,从传统方法到AI落地 一、先搞懂“酒瓶标签处理”的业务价值 二、传统图像处理:先从“基础玩法”入手 1. 图像预处理:灰度化与二值化 2. 轮廓检测:定位标签的大致区域 三、深度学习进阶:用U-Net精准分割标签 1. 数…

Jenkins 流水线全流程实战笔记

Jenkins 流水线全流程实战笔记 核心架构思路 宿主机 (VPS)&#xff1a;只安装 Docker&#xff0c;作为底层基座。Jenkins 容器&#xff1a;作为“指挥官”。 特权&#xff1a;挂载 /var/run/docker.sock&#xff0c;使其拥有调用宿主机 Docker 的能力&#xff08;即 Docker-in-…

可直接商用的疲劳驾驶检测系统:基于 YOLOv10 的完整实战(源码 + UI 全开)

文章目录 基于YOLOv10的疲劳驾驶检测系统实战教程:UI界面+模型训练+实时部署,让你的项目从“Demo”到“产品” 一、为什么选YOLOv10做疲劳驾驶检测? 二、系统架构与技术拆解 (一)系统核心流程 (二)技术选型逻辑 三、实战:从数据到系统的全流程构建 步骤1:数据集准备与…

WPF资源系统

文件资源 程序集资源 例如一些图片、音频、字体等,将这些文件导入到项目中,就可以在代码中使用这些资源 图片资源将资源复制到项目中。右键设计文件属性的生成操作为资源在xaml中使用图片资源<Window x:Class=&qu…

RK3588端实时人体姿态识别方案:YOLOv11-Pose高精度落地,推理速度直接拉满

【YOLOv11-pose姿态识别部署至RK3588:模型训练到RKNN落地,让人体姿态分析精度与边缘推理速度双突破】 在人体姿态识别场景中,传统模型在复杂动作下的关键点漏检率高达20%以上,而基于YOLOv11-pose的改进方案可将关键点平均精度(mAP)提升至91.3%;通过RK3588边缘平台与RKNN…

union 和 union all的区别

1、union和union all UNION对两个结果集进行并集操作&#xff0c;不包括重复行&#xff0c;相当于使用distinct关键字。而UNION ALL则对两个结果集进行并集操作&#xff0c;包括重复行&#xff0c;即所有结果全部显示&#xff0c;不管是否重复。 UNION操作会去除重复的记录&…

Flutter 3.22+ 高性能开发实战:从状态管理到原生交互全解析 - 指南

Flutter 3.22+ 高性能开发实战:从状态管理到原生交互全解析 - 指南2026-01-18 18:25 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !…