• 主页
  • 相册
  • 随笔
  • 目录
  • 存档
Total 244
Search AboutMe

  • 主页
  • 相册
  • 随笔
  • 目录
  • 存档

VirtualBox网络攻防环境搭建

2019-07-18

1. 实验目的

  • 实现虚拟硬盘的多重加载

  • 搭建虚拟机之间的拓扑网络

  • 完成以下网络连通性测试;

    • 靶机可以直接访问攻击者主机
    • 攻击者主机无法直接访问靶机
    • 网关可以直接访问攻击者主机和靶机
    • 靶机的所有对外上下行流量必须经过网关
    • 所有节点均可以访问互联网

2. 实验环境

  • VirtualBox版本 6.0.11
  • 虚拟机os:
    • 攻击主机及靶机 kali-linux-2019.3-amd64
    • 网关 Debian10
    • 靶机 windows_xp_sp3_base

3. 实验过程

3.1. 虚拟机的多重加载

  • 目的:

    • 省去再次安装系统的麻烦

      该介质是间接分配的,多个虚拟机可共用一个基础介质,每个虚拟机各自存储一个差分介质

    • 注意:多重加载时要为每台VM配置特定的端口转发,否则会有”Permission Denied”错误(_端口占用_)。
  • 实现:

    • 对未注册的虚拟硬盘文件,选择 管理 -> 虚拟介质管理 -> 注册,找到待注册的虚拟硬盘进行注册
    • 对非多重加载的虚拟硬盘文件,选择 管理 -> 虚拟介质管理 -> 属性, 在 类型 中改为 多重加载
    • 选择新建虚拟电脑 ->…-> 选择虚拟硬盘 ,在 使用已有的虚拟硬盘文件 中选择需要多重加载的虚拟硬盘文件,即完成了虚拟硬盘的多重加载
    • 注意:在vbox安装完记得把iso解除挂载,不然有可能能下次开启还是进入安装界面

4. 虚拟机网络预设置

4.1. 回环网卡(Loopback adaptor)

Implementations of the Internet Protocol Suite include a virtual network interface through which network applications can communicate when executing on the same machine. It is implemented entirely within the operating system’s networking software and passes no packets to any network interface controller. Any traffic that a computer program sends to a loopback IP address is simply and immediately passed back up the network software stack as if it had been received from another device.

Unix-like systems usually name this loopback interface lo or lo0.

4.2. 网络(Networking)^1:

  • NAT网络(NAT Network):一种允许出站连接的内部网络,防止外部系统直接访问该系统,并向内提供内部网络的相互访问,和向外使用TCP/IP网络
  • 内部网络(Internal networking):对选定的虚拟机可见,但对宿主机上的应用程序或外部世界是不可见的
  • 仅主机网络(Host-only networking):在主机上创建一个类似于环回接口的虚拟网络接口,提供虚拟机和宿主机之间的连接
  • 当为一台虚拟机设置多网卡(multiple NICs),那它就同时具有了那些功能

4.3. 混杂模式

混杂模式(英语:promiscuous mode)是电脑网络中的术语。是指一台机器的网卡能够接收所有经过它的数据流,而不论其目的地址是否是它。

一般计算机网卡都工作在非混杂模式下,此时网卡只接受来自网络端口的目的地址指向自己的数据。当网卡工作在混杂模式下时,网卡将来自接口的所有数据都捕获并交给相应的驱动程序。

4.4. 设置

  • attacker-kali:
    • 设置网卡1 NAT网络,网卡2、3 仅主机网络
  • debian:
    • 设置网卡1 NAT网络,网卡2 仅主机网络,网卡3、4 内部网络 intnet-1 内部网络 intnet-2(即 debain 同时属于内网1与内网2)
  • victim-xp、victim-kali:
    • 分别设置设置为 内部网络 intnet-1 内部网络 intnet-2

4.4.1. 区别

在主机网络管理器中配置的是主机的host-only网卡地址(通过在宿主机ipconfig查看),与虚拟机的ip地址(通过虚拟机ip/ifconfig查看)相区别

kali网络配置

为端口分配ip address

vi /etc/network/interfaces

1
2
3
4
5
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp
  • 注意这里是动态分配

systemctl restart networking

更新

在ubuntu 18.04版本中(at least),若host-only网卡无ipv4(inet)地址,同时要分配静态地址:sudo vim /etc/netplan/0x.netcfg.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
# net
dhcp4: yes

# 添加上这段
enp0s8:
# host-only
addresses:
- 192.168.50.128/24
dhcp4: no
  • sudo netplan generate && sudo netplan apply

  • 注意静态地址不能和host-only地址重合

  • 参考:networking - In VirtualBox, how do I set up host-only virtual machines that can access the Internet? - Ask Ubuntu

4.5. 题外话

  • enp#s#: ethernet network peripheral # serial #(以太网网络外围#串行#”)
    • 看好是eth0还是enp0s3
  • ip addr看网卡是不DOWN了,sudo ifconfig enp0s8 up开启
  • ls /sys/class/net:看

    Each of the entries in this directory is a symbolic link rep‐resenting one of the real or virtual networking devices that are visible in the network namespace of the process that is accessing the directory. Each of these symbolic links refers to entries in the /sys/devices directory.

    这个目录中的每个条目都是一个符号链接,代表着访问该目录的进程的网络命名空间中可见的真实或虚拟网络设备之一。 这些符号链接中的每一个都指的是/sys/devices目录中的条目。

    1
    2
    $  ls /sys/class/net
    enp0s3 enp0s8 enp0s9 lo

kali源配置

vi /etc/apt/sources.list

1
2
3
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

kali配置ssh

更新参考:使用ssh连接VirtualBox虚拟机 - 简书

vi /etc/ssh/sshd_config

1
PermitRootLogin yes
  • systemctl enable ssh systemctl start ssh

  • sudo service ssh restart

  • 虚拟机配置ssh

    • Nat设置
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      Name: SSH

      Protocol: TCP

      Host IP:

      Host Port: 2222

      IP Guest:

      Port Guest: 22
  • 然后vim /etc/ssh/sshd_config,将其中的Port 22解除注释

    • 更多可参考
  • PS:在用sever版本的linux时也可用端口转发来实现在host访问vm本地页面

- 注意如果曾经装过虚拟机,用过该端口,再次装时就要避开使用该端口

结果示例

4.6. 虚拟机的连通性测试

攻击主机 attacker-kali,网关debian,靶机victim-xp-2

  • 靶机直接访问攻击者主机

    • ip a |grep eht0 查看攻击者地址
    • tcpdump -i eth0 监听ping包
    • 靶机 ping 对方ip,观察到 reply;同时攻击主机显示 icmp echo ,说明可以直接访问
  • 攻击者无法访问靶机

    • netstat -nr 检测网卡情况
    • ping xx.xx.xx.xx -w 10 设置10s超时ping靶机ip
    • 结果显示 100% packet loss ,说明无法访问
  • 网关可以直接访问攻击者主机和靶机

    • ping攻击者主机与靶机都有reply` 说明成立
  • 靶机的所有对外上下行流量必须经过网关

    • 简单测试:把网关debian开着,靶机可以ping攻击主机也可以上外网,关了debian就无法连接外网
  • 根据网络拓扑设置,在网关主机监听 enp0s10 网卡

    • 用 intnet-2 的主机 ping 外网,观察到网关同步显示 icmp echo 和 ARP ,说明结论成立
  • 所有节点均可以访问互联网

    • ping www.baidu.com 皆可通

5. 常见问题的解决

  • xp靶机无法联网:

    • 关闭防火墙
    • 在 本地连接 -> 属性 -> 常规 中,选择自动获取IP地址 、自动获取DNS服务器地址
  • kali攻击主机无法联网

    • netstat -nr 检查网卡端口情况
    • 如果网卡数量少于预设值, vim /etc/network/interfaces 添加 auto ethx iface ethx inet dhcp ,即将网卡 ethx 设置为DHCP自动获取
  • sec
  • Security
  • Network Security
实验:图像处理:pnsr~q曲线
哈希长度扩展攻击
© 2024 何决云 载入天数...