Pivoting
SSH Local Port Forwarding
Forwarding one port on the client system to exactly one port accessible from the SSH pivot server. It's still confusing no matter how many times I read it.
# Below sets up local port 8123 forwarded thru victim to reach port 80 on target.local
ssh -L 8123:target.local:80 pwner@victim
curl localhost:8123
attacker:8123 -> 10.0.0.1:22 -> 10.0.0.5:80
# Below creates a tunnel with the established private key. Creates tunnel on https://localhost:4443
sudo ssh -i ~/.ssh/id_rsa -X -Y -C -g -L 4443:1.1.1.1:443 [email protected]
# Below forwards a port on the victim localhost to be accessible (i.e. MySQL for localhost only)
ssh -L 3306:localhost:3306 pwnt@victim
mysql -u root -pSSH Dynamic Port Forwarding
SOCKS Proxy used to forward several ports. Can use proxychains to help non-proxy aware programs to reach the intended destination. Do not try to port scan through a SOCKS proxy, it is VERY SLOW!!
ssh -D 9123 pwnt@victimSSH Remote Port Forwarding
A port on the pivot system is forwarded to a local port, not commonly used.
Meterpreter/MSF Forwarding
Can use built in mechanisms in meterpreter/msf to port forward or route easily
Socat
We can use socat to forward to new machines easily
IPtables
Iptables can be used to forward connections if we have root level access
Windows Portproxy
This is a lesser-known function of netsh where we can redirect ports on a windows box
Ngrok
We can use ngrok to forward our own local connections to exploited machines
Last updated
Was this helpful?