Home

Awesome

doxycannon

CodeFactor

Doxycannon uses docker to create multiple socks proxies where the upstream internet connections are either VPN connections or Tor nodes

In VPN mode, it takes a pool of OpenVPN files and creates a Docker container for each one. After a successful VPN connection, each container spawns a SOCKS5 proxy server and binds it to a port on the Docker host.

In Tor mode, containers initiate a connection to the Tor network.

Both VPN and Tor nodes can be rotated through, giving you a new egress IP with each request.

Combined with tools like Burp suite or proxychains, this creates your very own (small) private botnet on the cheap.

Password Spraying Blog Post Using DoxyCannon

Prerequisites

If using VPN mode, you'll need a VPN subscription to a provider that distributes *.ovpn files

Setup

Usage

note: Before 14 May 21, versions of rofl0r/proxychains-ng use a second-based seed for the PRNG that determines random proxy selection. Be sure to use a version based on or after this commit

One-off, random commands

While your containers are up, you can use proxychains-ng to issue commands through random proxies

proxychains4 -q curl -s ipconfig.io/json
proxychains4 -q hydra -L users.txt -p Winter2020 manager.example.com -t 8 ssh

GUI Tools

Use the --single flag to create a proxy rotator.

❯❯ ./doxycannon.py [vpn|tor] --single
[+] Writing HAProxy configuration
[*] Image doxyproxy built.
[*] Staring single-port mode...
[*] Proxy rotator listening on port 1337. Ctrl-c to quit
^C
[*] doxyproxy was issued a stop command
[*] Your proxies are still running.

To see what's happening, checkout out the haproxy folder. Essentially, the tool builds a layer 4 load-balancer between all the VPNs. This allows rotatation of proxies through a single port. One can then point browsers or BURPSuite at it and have every request use a different VPN.

Specific SOCKS proxies

Example: To make a request through Japan, use docker ps and find the local port to which the Japanese VPN is bound.

Configure your tool to use that port:

curl --socks5 localhost:50xx ipconfig.io/json

Interactive

Once you've started your containers, run the utility with the --interactive flag to get a bash session where all network traffic is redirected through proxychains4

./doxycannon.py --interactive

Credit

pry0cc for the idea

This was originally a fork of pry0cc's ProxyDock. It's been modified to an extent where less than 1% of the original code remains.