Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
execute-assembly-pico — 一个用于 Crystal Palace 的 PICO,实现 CLR 托管以在内存中执行 .NET 程序集。 | Kitploit
工具/GitHubGitHub/ofasgard/execute-assembly-pico
Shellcode后渗透利用渗透测试红队Payload 开发
GitHubofasgard/execute-assembly-pico

execute-assembly-pico

一个用于 Crystal Palace 的 PICO,实现 CLR 托管以在内存中执行 .NET 程序集。

查看仓库
142186个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

执行程序集 PICO

一个用于 Crystal Palace 的 PICO,实现原生 CLR 托管,以在内存中执行附加的 .NET 程序集,采用与 donut shellcode 生成器相同的技术。这使你可以从位置无关代码中加载 Rubeus 或 Seatbelt 等 .NET 工具,而无需将其写入磁盘。

PICO 运行中执行附加的 Seatbelt 程序集的截图

构建

你需要 MinGW GCC、zip 工具,以及链接项目所需的 CPL 可执行文件。修改 config.spec 以指定要与项目链接的 .NET 程序集以及要传递的命令行参数。修改 Makefile 以指定 crystalpalace.jar 的位置。

要单独构建 PICO(作为 COFF),请运行 make pico。要构建示例运行程序并将其与 PICO 链接,请运行 make runner。

示例运行程序输出到 out/runner.bin。默认配置会在执行时调用附加的 Rubeus 程序集,以使用一些通用的虚拟凭据执行 "asktgt":

PICO 运行中执行附加的 Rubeus 程序集的截图

使用 PICO

PICO 入口点的签名是:

root@kitploit:~
HRESULT (*EXECUTE_ASSEMBLY_PICO)(char *assembly, size_t assembly_len, WCHAR *argv[], int argc);

前两个参数应包含指向原始 .NET 程序集的指针及其大小。后两个参数用于在调用程序集时向其传递字符串参数。

捕获输出

此 PICO 仅使用你提供的参数调用程序集。它不会尝试捕获输出。

如果你需要通过 STDIN 提供输入或从 STDOUT 捕获输出,则应修改你的加载器,使用 CreatePipe() 和 SetStdHandle() 等 WIN32 API 调用,并将进程的标准 I/O 设备连接到匿名管道。然后你就可以像平常一样从中读取和写入。

致谢

  • Raphael Mudge 感谢其开发的 Crystal Palace 和 LibTCG。
  • XPNSec 感谢这个 gist,它帮助我理解了 CLR 托管的基本过程。
  • TheWover 感谢 Donut 生成器/加载器。我大量参考了它的内存程序集执行实现,并在 PICO 中直接使用了 clr.h。
下载工具