我正在负责一个渗透测试实验室。但在尝试从本地网络上的另一台计算机(即不是运行 VirtualBox 的计算机)访问易受攻击的网络时遇到了问题。
设置:
实验室由 1 台运行 win7
本地 IP 的计算机组成192.168.0.30
,VirtualBox 运行以下发行版:(
De-ICE Live CD Level 1
发行版的本地网络在192.168.1.x
范围内且不可编辑)
正在De-ICE Live CD Level 1
暴露一个易受攻击的网站192.168.1.100
(端口 80)
网络如下:
(所有网络掩码均为 255.255.255.0)
在 VirtualBox 上:
- VirtualBox 主机专用适配器设置为
192.168.1.1
使用 DHCP
服务器192.168.1.254
在Win7机器上:
- 访问互联网 192.168.0.30 的以太网适配器(并与 VirtualBox 主机专用适配器共享连接)
- VirtualBox Host-Only 适配器的静态 IP 设置为
192.168.1.1
、服务器 DHCP 服务器192.168.1.254
现在的问题是:
在 Windows 7 计算机上,我可以从浏览器访问子网 192.168.1.100 上的易受攻击的网站。
我的渗透测试工具位于运行 ubuntu 的笔记本电脑上,通过 wifi 连接访问 192.168.0.23 上的本地网络。
我如何从上述计算机访问 192.168.1.100 网站?
我尝试在 Win7 机器上使用 NetSH,并在路由器上使用端口转发,但它只允许在本地网络上转发192.168.0.x
不是子网192.168.1.x
在我看来,我必须找到一种方法将到达我的 Win7 机器的流量转发到本地子网。
在 WIN7 中有没有办法做到这一点:
将 192.168.0.30:[xyz] 转发至 192.168.1.100:80?
或者有没有更好的方法从本地网络访问子网?
答案1
一个快速而粗糙的解决方案是将子网从 255.255.255.0 更改为 255.255.0.0,但是,这听起来在实时 CD 上不起作用。
更好的解决方案是安装像 pfSense 这样的虚拟路由器,并在两个子网之间路由流量。
另一个选项是在 Windows 机器上通过 Putty 使用 SSH 隧道。这最接近您所要求的。
http://realprogrammers.com/how_to/set_up_an_ssh_tunnel_with_putty.html
更新 1
本地和远程转发在这里解释得很好:http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html
这个想法是创建一个从windows-ip:80
到 的转发localhost:9000
,并创建一个从localhost:9000
到 的第二个转发livecd-ip:80
。端口 9000 是任意的,可以是机器上任何未使用的端口。
这实际上将端口 80 上的传入流量重定向到端口 80 上的实时 CD。如果您在 Windows 计算机上已经有使用端口 80 的进程,则可以将其更改为windows-ip:1234
或任何其他未使用的端口,然后将您的笔测试指向该端口。流量仍将通过端口 80 到达实时 CD。
答案2
我找到了一种非常有效的方法。
1# 我更改了我的网络(192.168.0.x)以匹配虚拟机网络(192.168.1.x)
2# 我取消共享以太网适配器和虚拟适配器之间的连接
3# 我桥接了两个适配器
4# 我将 VirtualBox 连接适配器更改为 Bridged,并在列表中选择新创建的桥接连接。
5# 启动虚拟机
我现在可以从本地计算机访问 192.168.1.100,就像从网络上的任何计算机一样。
当我在 Linux 机器上运行 Netdiscover 时,我将 VM 视为本地计算机。