user_binaries section and configure them for automatic or manual execution.
Understanding user_binaries
Custom tools are defined in theuser_binaries section of conf.json. Each tool has a unique identifier and configuration properties.
Tool configuration structure
name- Short identifier for the tooltext- Description shown in context menusdetached- Run in background (true) or wait for completion (false)in_terminal- Launch in a new terminal windowedit_before_launch- Prompt user to modify command before executionbinary- Full path to executableicon- (Optional) Path to icon fileargs- Array of command-line arguments
Using variable substitution
QtRecon replaces special variables in your arguments at runtime:Network variables
%%%IP%%%- Target IP address%%%PORT%%%- Target port number%%%PROTO%%%- Protocol (http/https)%%%LHOST%%%- Local IP from preferred interfaces%%%LPORT%%%- Preferred local port
Credential variables
%%%DOMAIN%%%- Domain name%%%USERNAME%%%- Username%%%PASSWORD%%%- Password%%%HASH%%%- Hash value%%%SSH_KEY%%%- SSH key path
Custom variables
%%%VARIABLE_NAME%%%- User-defined variables fromuser_variables
Example: Adding a custom tool
Define the tool configuration
Add to This configuration:
user_binaries in conf.json:- Uses protocol and IP variables for the target URL
- Specifies a wordlist path
- Filters by HTTP status codes
- Runs attached (shows progress in real-time)
Associate with port numbers
Add your tool to Your tool now appears in the context menu when right-clicking web service ports.
ports_associations to make it available for specific ports:Real-world examples from conf.json
Netcat listener
Authenticated SMB enumeration
Browser with custom profile
Custom script with multiple arguments
scripts/redis.sh:13-15:
Associating with “any” port
Some tools work on any port:Best practices
Use descriptive names
Use descriptive names
Make
text field clear about what the tool does. Users see this in menus.Test before adding to autorun
Test before adding to autorun
Run tools manually first to verify they work correctly with your variables.
Handle credentials gracefully
Handle credentials gracefully
Tools with credential variables will prompt when credentials are available for a host.
Consider resource usage
Consider resource usage
Set
detached: false for resource-intensive tools to prevent running too many simultaneously.Organize by service type
Organize by service type
Group related tools under logical port associations (web tools on 80/443, DB tools on database ports).
