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.
Command Overview
Demon implements a comprehensive command set organized by functionality. All commands are dispatched through a central command dispatcher and executed based on the command ID.Session Management
checkin
Request a full checkin from the Demon agent.Demon Metadata
Demon Metadata
- Magic values for verification
- First and last call timestamps
- AES encryption key and IV
- Current sleep delay and jitter
- Request ID tracking
Host Information
Host Information
- Computer hostname
- Current username and domain
- Internal IP addresses
- Network adapter information
Process Information
Process Information
- Process name and path
- Process architecture (x86/x64)
- Process ID (PID)
- Parent Process ID (PPID)
- Elevated/Integrity level
Operating System
Operating System
- Windows version
- Build number
- OS architecture
sleep
Modify the agent’s sleep interval and jitter.- With jitter, actual sleep time varies:
sleep ± (sleep * jitter / 100) - Sleep of 0 enables interactive mode for real-time operations
- Sleep obfuscation only occurs when sleep > 0 and no jobs running
Working hours and kill date restrictions still apply even with modified sleep values.
exit
Terminate the Demon agent.- Closes all handles
- Frees allocated memory
- Terminates all job threads
- Exits process cleanly
Process Management
proc list
Enumerate running processes on the target system.- Process Name
- PID (Process ID)
- PPID (Parent Process ID)
- Architecture (x86/x64)
- Username (if accessible)
- Session ID
CreateToolhelp32Snapshot and Process32FirstW/Process32NextW
proc kill
Terminate a process by PID.PROCESS_TERMINATE access and calls NtTerminateProcess (via syscall if configured).
proc create
Spawn a new process in suspended or running state.suspended- Process created in suspended statenormal- Process starts immediately
- Suspended: For process injection targets
- Normal: Execute commands and capture output
proc module
List loaded modules in a target process.- Module name
- Base address
- Module size
- Full path
proc grep
Search for processes by name.proc memory
Query memory regions in a target process.PAGE_EXECUTE_READ(0x20)PAGE_EXECUTE_READWRITE(0x40)PAGE_READWRITE(0x04)
File System Operations
fs dir
List directory contents.- File/Directory name
- Size
- Last modified time
- Attributes (Hidden, System, Archive, etc.)
fs cd
Change current working directory.fs pwd
Print current working directory.fs download
Download a file from the target to the teamserver.- Chunked transfer (configurable chunk size)
- Progress tracking
- Automatic resumption on failure
Large files are automatically split into chunks. Check download progress with the
transfer command.fs upload
Upload a file from the teamserver to the target.fs cat
Read and display file contents.fs remove
Delete a file.fs mkdir
Create a directory.fs copy
Copy a file or directory.fs move
Move or rename a file.Token Management
token getuid
Display current user context.- Username
- Domain
- SID
- Integrity level
- Token type
token list
List all tokens in the token vault.- Token ID (for impersonation)
- Username
- Domain
- Token type (Primary/Impersonation)
- Session ID
token find-tokens
Scan the system for accessible tokens.- Enumerate all running processes
- Attempt to open process token
- Query token information
- Display accessible tokens
token steal
Steal a token from a process and add to vault.- Open target process
- Open process token or duplicate specified handle
- Duplicate token with
SecurityIdentificationandSecurityImpersonation - Store in token vault
- Return token ID
token impersonate
Apply a token from the vault to the current thread.Impersonation affects the current thread. Use
token revert to return to the original token.token revert
Revert to the default process token.RevertToSelf() to remove thread impersonation
token remove
Remove a token from the vault.token clear
Remove all tokens from the vault.token make
Create a token from credentials.LogonUserWwithLOGON32_LOGON_NETWORK(Type 3)- Token added to vault automatically
token privs-get
Attempt to enable all privileges on current token.- SeDebugPrivilege
- SeImpersonatePrivilege
- SeLoadDriverPrivilege
- SeTcbPrivilege
- SeBackupPrivilege
- SeRestorePrivilege
token privs-list
List all privileges and their states.- Privilege name
- State (Enabled/Disabled)
- Attributes
Code Execution
inline-execute
Execute a Beacon Object File (BOF) in-memory.- COFF parsing and linking
- Beacon API compatibility
- Output capture
- Optional VEH crash protection
- Thread-based execution (if configured)
Execution Modes
Execution Modes
Inline Mode (
CoffeeThreaded: false)- Executes in current thread
- Fastest performance
- No job management
- Crash will terminate agent
CoffeeThreaded: true)- Executes in separate thread
- Manageable via job commands
- Isolated from main agent
- VEH can catch crashes
dotnet inline-execute
Execute a .NET assembly in-memory.- Initialize CLR (if not already loaded)
- Patch AMSI in
amsi.dll - Create AppDomain
- Load assembly from memory
- Invoke entry point with arguments
- Capture console output
dotnet list-versions
List installed .NET Framework versions.shellcode inject
Inject shellcode into a remote process.shellcode spawn
Spawn a sacrificial process and inject shellcode (fork & run).- Spawn configured process in suspended state
- Allocate memory in target
- Write shellcode
- Create remote thread
- Resume process
Network Commands
net domain
Query domain information.- Domain name
- Domain controller
- Forest information
net dclist
Enumerate domain controllers.net logons
Enumerate logged-on users.NetWkstaUserEnum
net sessions
Enumerate active sessions on a computer.NetSessionEnum
net localgroup
Enumerate local groups.NetLocalGroupEnum
net group
Enumerate domain groups.net user
Enumerate users.net share
Enumerate shares on a computer.NetShareEnum
Job Management
job list
List all running jobs.- Job ID
- Job type (BOF, Download, etc.)
- State (Running, Suspended)
- Thread ID
job suspend
Suspend a running job.NtSuspendThread on the job’s thread
job resume
Resume a suspended job.NtResumeThread
job kill
Terminate and remove a job.- Suspend thread
- Terminate thread
- Free allocated resources
- Remove from job list
Sleep obfuscation is disabled while jobs are running. Kill or suspend jobs to enable sleep obfuscation.
Transfer Management
transfer list
List active file transfers.- Transfer ID
- Filename
- Size
- Progress
- State
transfer stop
Pause a file transfer.transfer resume
Resume a paused transfer.transfer remove
Cancel and remove a transfer.Miscellaneous Commands
screenshot
Capture a screenshot of the desktop.- Get desktop device context
- Create compatible DC
- BitBlt to copy screen
- Convert to BMP format
- Send to teamserver
config
View or modify agent configuration.injection technique: 1 (Win32), 2 (Syscall), 3 (APC)memory alloc/execute: 1 (Win32), 2 (Syscall)
pivot
Manage SMB pivot connections.kerberos
Kerberos ticket operations.Kerberos functionality requires appropriate privileges and network access to domain controllers.
Next Steps
Sleep Obfuscation
Configure sleep techniques for evasion
Injection Methods
Process injection techniques and OPSEC
Features Guide
Explore all Demon capabilities
Generate Payloads
Create configured Demon agents
