Payloads
Attack -> Payload
General Settings
Agent: Payload agent chooser which allows you to choose between the default agent, known as "Demon", and any registered service agents. By default, only the "Demon" option is available, which serves as the default and primary agent within the Havoc Framework.
Listener: Specify the listener to which the payload should connect.
Arch: Chose architecture type of the payload.
Format: Chose beteween"Windows Exe", "Windows Dll", "Windows Shellcode", or "Windows Service Exe".
Runtime & In-memory Settings
- Sleep
Define in seconds how long the agent should pause after each tasking routine.
- Jitter
Percentage of variability applied to the agent's sleep time. Ex: 10% jitter and a sleep time of 60 seconds, the agent's sleep duration would range between 54 and 66 seconds.
- Indirect Syscalls
Chose if the agent should use indirect syscalls or not.
- Stack Duplication
Determines whether the agent should engage in stack duplication during sleep to obfuscate the stack of the agent thread. This option is only available and relevant when a specific sleep technique has been chosen, and therefore excludes the default WaitForSingleObjectEx.
- Sleep Technique:
Addresses whether the agent should implement sleep obfuscation to obscure its memory and delay execution during sleep. There are three available options:
Foliage --> Utilizes APC calls (NtQueueApcThread) in a chain to obfuscate the agent's memory during sleep.
Ekko --> Relies on timers API (RtlCreateTimer) to queue a chain of NtContinue calls, leading to memory obfuscation and delayed execution.
Zilean --> Leverages timers API (RtlRegisterWait) to queue a chain of NtContinue calls for memory obfuscation and execution delay.
- Proxy Loading
This feature enables the agent to proxy load specific modules that it needs to load and resolve. By default, the agent uses LdrLoadDll
to load modules without proxying the function call. However, if any other option is selected, the agent will proxy the call to LoadLibraryW
through the specified function. Available options for proxy functions include RtlRegisterWait
, RtlCreateTimer
, and RtlQueueWorkItem
.
- Amsi/Etw Patch
This option guides the agent on how to handle patching or evading AMSI and ETW functions.
- Injection
Alloc: This setting informs the agent about how to allocate local or remote memory. The options are "Native/Syscall", which employs syscalls if selected before and NtAllocateVirtualMemory
and "Win32", which employ VirtualAllocEx
.
Execute: This option guides the agent on how to execute local or remote threads. The choices are, which employs syscalls if selected before and NtCreateThreadEx
and "Win32", which employs CreateRemoteThread
.
Spawn64: Specifies which x64 sacrificial process the agent should use when performing spawning and injecting into processes for post-exploitation modules.
Spawn86: Specifies which x86 sacrificial process the agent should use when performing spawning and injecting into processes for post-exploitation modules.
Last updated