Summary: Route tool commands through a proxy using either a wrapper command or tool-specific placeholders.

Proxy Integration

pwnity can route tool commands through a proxy. There are two main methods to achieve this. Proxy settings are session-specific, meaning you can have different proxy configurations for different projects.

Method 1: Wrapper Command (e.g., proxychains-ng)

This method forces all network traffic from a tool through the proxy. When the proxy is enabled, pwnity prepends a "wrapper command" (defined in etc/config.json) to your tool command. The default is proxychains-ng.

Method 2: Placeholders for Tool-Specific Flags

Many tools (like curl, sqlmap, ffuf) have their own flags to specify a proxy (e.g., --proxy). This is the most flexible method. You can use $proxy placeholders in your tool definition.

Example: Configuring ffuf to use the proxy

tool update ffuf fuzz param "--proxy $proxy.type://$proxy.username:$proxy.password@$proxy.host:$proxy.port"

When you run ffuf, pwnity will substitute the placeholders with the currently active proxy settings.

NOTE
If username or password are not set, they will be replaced with an empty string. Most tools handle URLs like http://:@host:port correctly, but some may not.

Enabling and Disabling the Proxy

  • proxy on: Enables the proxy for the current session.
  • proxy off: Disables the proxy for the current session.

When the proxy is on, the symbol in your prompt will turn green.

Configuration

You can set global defaults in etc/config.json. To override these for the current session, use the proxy set command.

Example: Setting up a Burp Suite proxy

proxy set host 127.0.0.1
proxy set port 8080
proxy on

After this, you can use Method 1 (if proxychains-ng is configured for Burp) or Method 2 with placeholders like $proxy.host.

Resetting Configuration

To revert a session-specific setting back to the global default, use proxy reset.

proxy reset host
proxy reset all

Sudo and Proxy Wrappers

If your wrapper command (Method 1) needs root privileges, set wrapper_needs_sudo to true. pwnity will handle the sudo prompt automatically.

proxy set wrapper_needs_sudo true