Skip to content

About

Evasion for Cobalt Strike

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

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";
}
  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 for Beacon.
  • 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.

About

Evasion for Cobalt Strike

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages