kapla0011/KaplaStrike

GitHub: kapla0011/KaplaStrike

基于 Crystal Palace 构建的 Cobalt Strike 反射式加载器,集成模块覆盖、调用栈欺骗、睡眠遮罩和静态特征清除等反 EDR 检测技术。

Stars: 226 | Forks: 41

# Crystal-Palace UDRL 一个基于 [Crystal Palace](https://tradecraftgarden.org) 构建的 Cobalt Strike Reflective Loader。 部分组件基于或取自 [@_RastaMouse](https://twitter.com/_RastaMouse) 的 [Crystal-Kit](https://github.com/rasta-mouse/Crystal-Kit)。 感谢他提供的 sleep masking 实现以及 loader 架构的重要部分。 去看看他的作品和他的 CRTL 课程吧。 要全面了解此处实现的每项技术,请阅读随附的博客文章:[以晶莹剔透的方式绕过 EDR](https://lorenzomeacci.com/bypassing-edr-in-a-crystal-clear-way) ## 它的功能 - 通过 `NtCreateSection` + `NtMapViewOfSection` 进行模块覆盖(无需 `LoadLibrary`,无需 CFG) - 通过 `RtlAddFunctionTable` 注册 `.pdata`,以获得干净的 beacon 调用栈帧 - 使用带有合成的 `BaseThreadInitThunk` / `RtlUserThreadStart` 帧的 `NtContinue` 进行入口转移 - 通过 Draugr 为 loader 设置进行 API 调用栈欺骗 - 在构建时对 beacon DLL 进行 XOR 加密 - 通过 `addhook` IAT hooking 和逐节 XOR 加密进行 Sleep masking - 通过 `ised` 移除 Crystal Palace 的 YARA 特征 ## 设置 ### 1. Malleable C2 profile ``` stage { set cleanup "true"; set sleep_mask "false"; set obfuscate "false"; } post-ex { set cleanup "true"; } ``` Sleep masking 完全由 loader 处理。不要在 profile 中启用它。 ### 2. CNA 脚本 在生成 payload 之前,在您的 Cobalt Strike 客户端中加载 `NOUDRL.cna`。这会从 beacon DLL 中剥离默认的 reflective loader,以便仅将原始 DLL 传递给 RL pipeline: ``` set BEACON_RDLL_SIZE { warn("Running 'BEACON_RDLL_SIZE' for DLL " .$1. " with architecture " .$2); return "0"; } set BEACON_RDLL_GENERATE { local('$arch $beacon $fileHandle $ldr $path $payload'); $beacon = $2; $arch = $3; return $beacon; } ``` ### 3. 构建 ``` make x64 ./link spec/loader.spec cobalt_strike_raw.dll output.bin ``` `output.bin` 是最终的 PIC blob。使用任何 shellcode loader 执行它。 ## 致谢 - [Daniel Duggan (@_RastaMouse)](https://x.com/_RastaMouse) — Crystal-Kit,CRTL 课程 - [Alex Reid (@Octoberfest7)](https://x.com/Octoberfest73) — NtContinue 入口转移方法 - [Alessandro Magnosi (@KlezVirus)](https://x.com/KlezVirus) — 研究及解答我的愚蠢问题 - [Codextf2](https://x.com/codex_tf2) - 解答我关于 CS 的愚蠢问题 - Raphael Mudge — Crystal Palace ## 免责声明 此工具仅供授权的安全测试和研究目的使用。
标签:Cobalt Strike, DNS 反向解析, EDR绕过, UML, 内存加载, 客户端加密, 攻击诱捕, 高交互蜜罐