This project combines many Windows persistence techniques and aims to make it impossible for the user to prevent the binary from running. Note: Given the limited infratructure power of most cybersecurity competition VMs, try not to use this tool for more than 5 payloads
Two watchdog processes watch each other and a payload, constantly ensuring that everything is always running. Upon the first run as an administrator, it sets up all the persistence techniques, monitors them to ensure they remain in place, and grants permissions on the registry keys so they can be edited by anyone in the future.
-
Go to the
DeploymentDirectory then theConfigsDirectory Within the Configs Directory, there needs to be a folder (name can be arbitrary) for each payload you want to deploy with persistence: Config1, Config2, Config3, etc. Within each config folder you needconfig.csand any executable payload of your choiceFor Guidance see the
Deployment\Configs\DeployTemplateFolder, where you will find a config file that isn't filled out. Please copy this config and add the nessecary fields (see below), or use ones already in remote. It also contains TestPayload.exe that opens a terminal and says it running (for debugging). theDeployTemplatefolder is only a template and gets skipped by the deploy script in step 4 -
Set up
config.cs
Configure the values you want or are using for the payload. I set inconspicuous Windows names for the watchdogs, but this can be changed. The most important detail is the file path.- Set
Debuggingforfalseto disable console output - Set the
PortsToKeepOpenarray to have any ports you need to keep open for a C2. - Set
sleepTimeto the time between loops in milliseconds. A longer loop will be more stable and have less CPU usage for a competition, I go for around 45 seconds. Lower is better if you can manage. - All the other fields are self explanatory and should be set to unique values Note: Please do not choose any of the same values as what is being used in a competition to ensure there is no overlap
- Set
-
Run
Deployment\Windows Persistence Deploy.exeNow that you have created a unique config.cs file and add your desired payload to a folder underDeployment\Configs\, runDeployment\Windows Persistence Deploy.exe -
Deploy!
Go toDeployment\DeployBinsand copy ONLY the contents of each of those folders, excluding the .txt file, to the target machine. Then run the primary watchdog as labeled in DeployPath.txt in each deploy folder as administrator.RUN AS ADMINISTRATOR DO NOT FORGET