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
Demon payloads are generated through the Havoc client UI. The generation process compiles the agent source code with your specified configuration options, producing a customized payload for your operation.Accessing Payload Generation
- Connect to your Havoc teamserver using the client
- Navigate to Attack → Payload from the menu bar
- The Payload Generation window will open
Payload Formats
Demon supports multiple output formats:- Windows EXE
- Windows DLL
- Shellcode
Portable Executable (EXE)
A standalone Windows executable that can be run directly on the target system.Use Cases:- Initial access via delivery mechanisms
- Execution through user interaction
- Service installation
MainExe.c- Standard WinMain entry pointMainSvc.c- Service control entry point
EXE payloads are larger than shellcode but easier to execute in many scenarios.
Configuration Options
Listener Selection
Architecture
x64 (64-bit)
x64 (64-bit)
Recommended for modern Windows systems
- Full feature support
- Sleep obfuscation techniques available
- Return address spoofing
- Hardware breakpoint engine
- Windows 10/11 (64-bit)
- Windows Server 2016/2019/2022
x86 (32-bit)
x86 (32-bit)
For legacy systems or specific scenarios
- Limited sleep obfuscation support
- No return address spoofing
- Compatible with WoW64
- 32-bit Windows systems
- WoW64 processes on 64-bit Windows
Implant Configuration
Sleep Settings
- Sleep Interval: Time between check-ins (in seconds)
- Jitter: Random variation applied to sleep time (percentage)
- Example: 2s sleep with 20% jitter = 1.6s to 2.4s actual sleep
Sleep Obfuscation Technique
WaitForSingleObjectEx
No obfuscation - Standard Windows sleep function. Fastest but most detectable.
Ekko
Timer-based sleep obfuscation using
RtlCreateTimer to encrypt memory during sleep.Zilean
Wait-based sleep obfuscation using
RtlRegisterWait with memory encryption.FOLIAGE
APC-based sleep obfuscation using fiber execution for advanced memory protection.
See Sleep Obfuscation for detailed information on each technique.
Advanced Options
Indirect Syscalls- ✅ Enable for maximum evasion
- ❌ Disable to use standard Win32 APIs (faster, more detectable)
- Enable return address stack spoofing on x64
- Makes call stacks appear legitimate during memory inspection
- Specifies which Windows API to abuse for proxy loading DLLs
- Options: RtlRegisterWait, RtlCreateTimer, RtlQueueWorkItem
None: No patchingHardware Breakpoints: Use VEH + HWBP for stealthy patchingMemory Patching: Direct memory modification (more detectable)
Injection Configuration
Spawn Processes
Configure sacrificial processes for fork-and-run operations:Injection Technique
- Syscall: Use indirect syscalls for injection operations (stealthy)
- Win32: Use standard CreateRemoteThread (faster, more detectable)
- APC: Queue APCs to existing threads (requires target process analysis)
Operational Controls
Kill Date
Kill Date
Set a date/time when the Demon will automatically terminate itself.Format:
YYYY-MM-DD HH:MM:SS (UTC)Example: 2024-12-31 23:59:59Working Hours
Working Hours
Define hours during which the Demon will check in with the teamserver.Format:
HH:MM-HH:MM (24-hour format)Example: 08:00-17:00 (8 AM to 5 PM)Outside working hours, the agent will sleep until the next working period begins.Build Process
When you click Generate, the Havoc teamserver:Source Compilation
Compiles the Demon source code using MinGW-w64:
- C source files compiled with specified flags
- Assembly files (syscalls, stack spoofing) assembled with NASM
- Linker combines all object files
Post-Processing
- Strips debug symbols
- Applies obfuscation (if configured)
- Packages with reflective loader (for shellcode)
Compilation typically takes 5-15 seconds depending on teamserver resources and configuration complexity.
Troubleshooting
Compilation Errors
Couldn't compile implant: exit status 1
Couldn't compile implant: exit status 1
Cause: MinGW-w64 or NASM not properly installed on teamserverSolution:Verify installation:
Missing dependencies
Missing dependencies
Cause: Required build tools not in PATHSolution: Ensure teamserver has all build dependencies:
- MinGW-w64 (x86_64-w64-mingw32-gcc)
- NASM (Netwide Assembler)
- Make utilities
Payload Issues
Next Steps
Quickstart Guide
Learn how to deploy and interact with your Demon payload
Configure Features
Explore Demon’s advanced capabilities
Injection Techniques
Understand injection methods and OPSEC considerations
Command Reference
Master Demon’s command set
