Documentation Index
Fetch the complete documentation index at: https://mintlify.com/HavocFramework/Havoc/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Theconfig command allows operators to modify the Demon agent’s configuration settings at runtime without regenerating payloads. This enables dynamic adaptation to operational requirements and defensive posture.
Syntax
Configuration Categories
Implant Settings
Enable or disable verbose output from the agent.
true- Enable detailed logging and outputfalse- Minimal output (default)
Set the sleep obfuscation technique.
0- WaitForSingleObjectEx (no obfuscation)1- FOLIAGE2- Ekko
Configure the return address for stack spoofing during sleep.Format:
library!function+0xoffsetExample: ntdll!NtAddBootEntry+0x14Enable or disable Vectored Exception Handler for BOF execution.
true- Use VEH for exception handlingfalse- Standard exception handling
Enable or disable threaded BOF execution.
true- Execute BOFs in separate threadsfalse- Execute BOFs in main thread
Memory Management
Set the memory allocation technique.
0- VirtualAllocEx (Win32 API)1- NtAllocateVirtualMemory (Indirect syscall)
Set the memory protection technique.
0- VirtualProtectEx (Win32 API)1- NtProtectVirtualMemory (Indirect syscall)
Injection Settings
Set the thread creation technique for injection.
0- Default (configured in profile)1- CreateRemoteThread2- NtCreateThreadEx (syscall)3- NtQueueApcThread (syscall)
Configure return address spoofing for injection.Format:
library!function+0xoffsetSet the 64-bit process to spawn for fork & run operations.Common options:
C:\Windows\System32\werfault.exeC:\Windows\System32\dllhost.exeC:\Windows\System32\RuntimeBroker.exeC:\Windows\System32\svchost.exe
Set the 32-bit process to spawn for fork & run operations.Common options:
C:\Windows\SysWOW64\werfault.exeC:\Windows\SysWOW64\dllhost.exeC:\Windows\SysWOW64\rundll32.exe
Operational Security
Set or update the agent’s self-destruct date (UTC).Format:
YYYY-MM-DD HH:MM:SS (UTC)When the kill date is reached, the agent will:- Clean up artifacts
- Exit the thread/process
- Stop communicating with teamserver
Set the hours during which the agent will callback.Format:
HH:MM-HH:MM (24-hour format)Outside working hours, the agent will not check in to the teamserver.Examples
Configure Maximum OPSEC
Configure for Speed (Less OPSEC)
Set Operational Timeframe
Configure BOF Execution
Modify Sleep Obfuscation
Configuration IDs (Internal)
These are the internal command IDs used by the agent (from commands.go:80-98):OPSEC Impact
- High OPSEC
- Balanced
- Speed
Recommended settings for evasion:Impact:
- Uses indirect syscalls to bypass usermode hooks
- Advanced sleep obfuscation (Ekko)
- APC-based injection
- Legitimate spawn process
Return Values
Configuration update status: Success or Error
The configuration key that was modified
The new value that was set
Verification
After changing configuration, usecheckin to verify settings:
Use Cases
Adapt to Detection
Operational Constraints
Performance Tuning
Debugging
Notes
- Configuration changes take effect immediately
- Settings do not persist across agent restarts
- Some settings only apply to future operations (e.g., spawn process)
- Kill date and working hours are checked during sleep cycles
- Invalid values may cause errors or be silently ignored
- Use
checkinto verify configuration changes - Profile defaults are used until explicitly changed with
config
