GadgetToJScript工具分析及使用

GadgetToJScript是一个能够将.Net程序转换为js、vbs脚本的工具,能绕过AMSI和.Net 4.8+的Assembly.Load阻止。它通过反序列化触发程序集加载/执行,包含多个组件用于绕过防护机制。与DotNetToJScript相比,GadgetToJScript提供了更高级的利用能力,适合在Windows 10环境中运行。
摘要由CSDN通过智能技术生成

0x1 介绍

GadgetToJScript工具能够将.Net程序封装在js或vbs脚本中,相比于James Forshaw开源的DotNetToJScript,修改了反序列化调用链,能够绕过AMSI,添加了绕过.Net 4.8+阻止Assembly.Load的功能。

该工具生成.NET序列化的小工具,当JScript,VBScript或VBA通过BinaryFormatter反序列化时,可以触发程序集加载/执行。

stage_1是用来绕过.Net 4.8+阻止Assembly.Load的XML代码,这里经过bash64加密。
stage_2是要执行的payload的硬编码,这里经过bash64加密
在这里插入图片描述

github:
https://github.com/med0x2e/GadgetToJScript

0x2 代码结构

(1)templates文件夹
保存js、vbs和hta的模板
模板文件同[DotNetToJScript]基本相同,区别如下:

  1. 添加了一些对.Net版本的判断,读取注册表HKLM\\SOFTWARE\\Microsoft\\.NETFramework\\v4.0.30319\\,如果成功,版本为4.0.30319,否则为2.0.50727
  2. 做了两次反序列化,第一次是禁用ActivitySurrogateSelector类型检查,用来绕过.Net 4.8+阻止Assembly.Load的功能,第二次用来加载.Net程序
    在这里插入图片描述

(2)Program.cs

主程序,替换模板中的变量,计算长度,生成最终的js、vbs和hta脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值