StayKit is an extension for Cobalt Strike persistence by leveraging the execute_assembly function with the Sharp Stay .NET assembly. The aggressor script handles payload creation by reading the template files for a specific execution type.
IMPORTANT: To use the script a user will only need to load the StayKit.cna
aggressor script. Additionally, the SharpStay assembly will need to be compiled and placed into the directory where StayKit.cna
is located. Finally, if selecting a template for the payload some may require dynamic compiling which will uses Mono.
The persistence menu will be added to the beacon. Due to the nature of how each technique is different there is only a GUI menu and no beacon commands.
Available options:
- ElevatedRegistryKey
- UserRegistryKey
- UserInitMprLogonScriptKey
- ElevatedUserInitKey
- ScheduledTask
- ListScheduledTasks
- ScheduledTaskAction
- SchTaskCOMHijack
- CreateService
- ListRunningServices
- WMIEventSub
- GetScheduledTaskCOMHandler
- JunctionFolder
- StartupDirectory
- NewLNK
- BackdoorLNK
- ListTaskNames
Dependencies
- Mono (MCS) for compiling .NET assemblies (Used with dynamic payload creation)