# **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 <target_ip>:<target_port>
# create SNAT rule
sudo iptables -t nat -A POSTROUTING -p tcp --dport <target_port> -d <target_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 <target_ip>:<target_port>
# delete SNAT rule
sudo iptables -t nat -D POSTROUTING -p tcp --dport <target_port> -d <target_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 <target_port> <user>@<target_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>:<target_ip>:<target_port>
# delete local port forward
ssh -S /tmp/socket_name dummy -O cancel -L <redir_ip>:<redir_port>:<target_ip>:<target_port>
# create remote port forward
ssh -S /tmp/socket_name dummy -O forward -R <target_ip>:<target_port>:<redir_ip>:<redir_port>
# delete remote port forward
ssh -S /tmp/socket_name dummy -O cancel -R <target_ip>:<target_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=<target_port> connectaddress=<target_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 |
| -------- | ---- | ----- |
| | | |