mirror of
https://github.com/nickswink/Crystal-Kit-Xenon
synced 2026-06-21 14:02:19 +00:00
38eae0ef483ca16e36736b22ab097ccfee30fddd
Crystal Kit
This repo is a technical and social experiment to see if replacing Cobalt Strike's evasion primitives (Sleepmask/BeaconGate) with Crystal Palace PIC(O)s is feasible (or even desirable) for advanced evasion scenarios. Also see the accompanying blog post.
Usage
- Disable the Sleepmask and stage obfuscations in Malleable C2.
stage {
set rdll_loader "PrependLoader";
set sleep_mask "false";
set cleanup "true";
transform-obfuscate { }
}
post-ex {
set cleanup "true";
set smartinject "true";
}
- Copy
crystalpalace.jarto your Cobalt Strike client directory. - Load
crystalkit.cna.
TODO
There are lots of improvements that can be made to this codebase. Some that come to mind include:
- Add BUD-style structures to track memory allocations.
- Don't use RWX memory.
- Add GMA & GPA patching to the postex loader (
smartinjectis not yet supported instagefor prepended loaders). - Add AMSI
& ETWbypassesto the postex loader. - Add memory freeing code on ExitThread.
Languages
C
76.5%
Assembly
9.8%
YARA
7%
Ruby
5.3%
Makefile
1.4%