Rasta Mouse 38eae0ef48 improve ExitThread code
thanks 5pider
2025-11-05 21:07:11 +00:00
2025-11-05 21:07:11 +00:00
2025-11-05 21:07:11 +00:00
2025-10-12 15:38:03 +01:00
2025-10-12 15:38:03 +01:00
2025-10-15 17:50:02 +01:00
2025-10-15 17:50:02 +01:00
2025-10-30 14:12:00 +00:00
2025-10-12 19:43:42 +01:00

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

  1. 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";
}
  1. Copy crystalpalace.jar to your Cobalt Strike client directory.
  2. 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 (smartinject is not yet supported in stage for prepended loaders).
  • Add AMSI & ETW bypasses to the postex loader.
  • Add memory freeing code on ExitThread.
S
Description
Automated archival mirror of github.com/nickswink/Crystal-Kit-Xenon
Readme MIT 211 KiB
Languages
C 76.5%
Assembly 9.8%
YARA 7%
Ruby 5.3%
Makefile 1.4%