PROXYCHAINS
FOR EDUCATIONAL PURPOSES ONLY
ProxyChains in Kali Linux is an essential tool for anonymity, evasion, and controlled traffic routing during offensive operations. It acts as a user-space preloader that forces any TCP connection made by a given program to follow a chain of proxies — usually SOCKS4, SOCKS5, or HTTP — without requiring modification to the source code of the target application.
ProxyChains intercepts outgoing TCP connections using LD_PRELOAD, dynamically hooking standard libc functions like connect() and redirecting them through one or more configured proxy servers. This lets you force any application — like nmap, sqlmap, curl, ssh, or even your custom tools — to route through anonymizing services.
Why Black Hats Use ProxyChains
Anonymity & IP Obfuscation Route your traffic through public or private proxies (including Tor), masking your real IP and making attribution difficult. This is particularly important when:
Fingerprinting a target before active exploitation.
Connecting to C2 infrastructure.
Scanning networks where logging and IP tracking are in place.
Bypassing Geo/IP Restrictions Use exit nodes in specific countries to spoof physical locations, avoid IP blocks, or simulate access from within a targeted region.
Evasion of IDS/IPS/WAFs When using distributed proxies, you can evade rate limits, avoid triggering IP-based alerts, and even spread out attack traffic.
Operational Security (OPSEC) Every touchpoint matters. ProxyChains is used to reduce the digital footprint, especially during early-stage reconnaissance or lateral movement across compromised infrastructure.
ProxyChains VS ProxyChains-ng
proxychains(classic): Older, rarely maintained.proxychains-ng: The improved version, supports dynamic chains and Tor better.
Configuration File
Key Sections
strict_chain: Forces the use of proxies in the exact order listed.
dynamic_chain: Skips dead proxies; good for stability.
random_chain: Randomizes the order — better for OPSEC if using multiple proxies.
Usage
Using ProxyChains with Nmap (Through Tor)
Using ProxyChains with Metasploit
Using ProxyChains with custom payloads
Launching browser for deep web access via proxies
Limitations and Considerations
Only supports TCP — UDP is untouched (use other tools for UDP obfuscation).
Latency increases — the more proxies, the more delay.
Does not encrypt traffic unless using a proxy type that inherently encrypts (e.g., SOCKS5 with SSL).
Your proxy list is only as good as your OPSEC — public proxies are often monitored or honeypots.
Advanced OPSEC Practices with ProxyChains
Combine with Tor (
service tor start) and setsocks5 127.0.0.1 9050.Chain public SOCKS proxies scraped from darknet forums.
Rotate proxies dynamically with custom scripts (e.g.,
proxychains + cron + torrc reload).Monitor leak paths — some applications may bypass ProxyChains by resolving DNS outside of it. Use
proxy_dnsto prevent this.
ProxyChains + Tor + SSH Tunnel + DNS Leak protection Setup
Make sure the essentials are installed
Proxychains4 is the -ng version
Configure ProxyChains
Choose dynamic or strict depending on whether you want stability or strict order
Ensure this is uncommented for DNS leak protection
Add Tor proxies
Add these if you want to route through multiple external SOCKS proxies
Start Tor service
Check if it's listening on 127.0.0.1:9050
Edit the Tor config if needed
Enable control port for advanced routing as an option
Restart Tor
Add SSH Tunneling to open a tunnel through a VPS or compromised server
-D 1337: Dynamic port forwarding (SOCKS5)-f -N: Run in background without executing commands
Add this within /etc/proxychains.conf
Testing the setup
DNS Leak Test
You should see Tor or your SSH host's IP - never your real one
If DNS leaks happen, ensure the /etc/resolv.conf isn't overridden by NetworkManager
Force it to use 127.0.0.1
Example Usages
Passive Recon
Enumeration
Exploitation
Custom Tools
Set up Multiple Tor clients on different ports
Then add
Rotate Tor Circuits and rotate Tor Dynamically
Full-Stack Layered Anonymity
Dynamic Public Proxy Scraper + Updater
This script scrapes live SOCKS5 proxies and updates proxychains.conf
Rotating Tor Circuit IP Address Automation
Rotates the IP Address every 10 minutes
Custom Proxychains Launcher with Randrom Proxy Mode
Usage
C2 Integration Concept with Metasploit
You can launch a Meterpreter reverse TCP payload through ProxyChains like so
Generate the Payload
Host Payload served from your hidden service or SSH tunnel
Set up listener with ProxyChains
Self-Healing Tor + Tunneling Watchdog
Last updated