# **Basic Information** # **Linux** ## **iptables** ```bash # check if iptables kernel modules are loaded (ip_tables, ip_tables_nat, etc.) lsmod # check status of IP forwarding sysctl net.ipv4.ip_forward cat /proc/sys/net/ipv4/ip_forward # enabled IP forwarding sysctl -w net.ipv4.ip_forward=1 echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward # show current rules sudo iptables -t filter -nvL --line-numbers sudo iptables -t nat -nvL --line-numbers # create DNAT rule sudo iptables -t nat -A PREROUTING -p tcp --dport <REDIR_PORT> -j DNAT --to-destination <TGT_IP>:<TGT_PORT> # create SNAT rule sudo iptables -t nat -A POSTROUTING -p tcp --dport <TGT_PORT> -d <TGT_IP> -j SNAT --to-source <REDIR_IP> # delete DNAT rule sudo iptables -t nat -D PREROUTING -p tcp --dport <REDIR_PORT> -j DNAT --to-destination <TGT_IP>:<TGT_PORT> # delete SNAT rule sudo iptables -t nat -D POSTROUTING -p tcp --dport <TGT_PORT> -d <TGT_IP> -j SNAT --to-source <REDIR_IP> ``` ## **SSH** ```bash # ensure ControlMaster is enabled for the ssh client # echo " ControlMaster auto" | sudo tee -a /etc/ssh/ssh_config # sudo systemctl restart ssh ssh -M -S /tmp/socket_name -p <TGT_PORT> <USER>@<TGT_IP> -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no # create local port forward ssh -S /tmp/socket_name dummy -O forward -L <REDIR_IP>:<REDIR_PORT>:<TGT_IP>:<TGT_PORT> # delete local port forward ssh -S /tmp/socket_name dummy -O cancel -L <REDIR_IP>:<REDIR_PORT>:<TGT_IP>:<TGT_PORT> # create remote port forward ssh -S /tmp/socket_name dummy -O forward -R <TGT_IP>:<TGT_PORT>:<REDIR_IP>:<REDIR_PORT> # delete remote port forward ssh -S /tmp/socket_name dummy -O cancel -R <TGT_IP>:<TGT_PORT>:<REDIR_IP>:<REDIR_PORT> ``` # **Windows** ## **netsh** ```cmd # check port intended for port proxy is available netstat -anob # list current port proxies netsh interface portproxy show all # create port proxy netsh interface portproxy add v4tov4 listenport=<REDIR_PORT> listenaddress=<REDIR_IP> connectport=<TGT_PORT> connectaddress=<TGT_IP> protocol=tcp # delete port proxy netsh interface portproxy delete v4tov4 listenport=<REDIR_PORT> listenaddress=<REDIR_IP> # list current port proxies netsh interface portproxy show all ``` # **References** - [Using the SSH "Konami Code" (SSH Control Sequences)](https://www.sans.org/blog/using-the-ssh-konami-code-ssh-control-sequences) # **Practical Application** | Platform | Name | Notes | | -------- | ---- | ----- | | | | |