20252901 2025-2026-2 《网络攻防实践》实践一报告

20252901 程宇 2025-2026-2 《网络攻防实践》实践一报告

一、知识点梳理与总结

虚拟化网络攻防实验环境的意义

  • 有限硬件资源下构建功能丰富且容易部署的实验环境
  • 深入理解与掌握虚拟化技术

实验环境组成部分

  • 靶机: 包含系统和应用安全漏洞并作为攻击目标的主机
  • 攻击机: 安装专用攻击软件用于发起网络攻击的主机
  • 蜜罐: 作为入侵诱饵吸引黑客攻击。通过监控入侵行为,可以了解攻击手段、最新漏洞,并收集黑客工具和社交网络信息

二、攻防环境拓扑结构设计

image

步骤 1:配置 VMware 虚拟网络编辑器(核心基础)

仅配置 VMnet1(仅主机)和 VMnet8(NAT),其余虚拟网络保持默认/禁用。

打开 VMware → 顶部菜单栏 编辑虚拟网络编辑器 → 点击右下角 更改设置 获取管理员权限。

配置 VMnet1(仅主机模式):

  • 勾选 将主机虚拟适配器连接到此网络
  • 子网 IP:192.168.32.128
  • 子网掩码:255.255.255.128
  • 取消勾选「使用本地 DHCP 服务将 IP 地址分配给虚拟机」(靶机手动配静态 IP)

image

配置 VMnet8(NAT 模式):

  • 勾选 将主机虚拟适配器连接到此网络 + 使用本地 DHCP 服务
  • 子网 IP:192.168.32.0
  • 子网掩码:255.255.255.128
  • 点击 NAT 设置 → 网关 IP 设为:192.168.32.1(攻击机默认网关)

image

  • 点击 DHCP 设置 → IP 地址池范围:192.168.32.2 ~ 192.168.32.120(攻击机自动分配的 IP 区间)
    image

点击 应用确定,完成虚拟网络配置。


步骤 2:配置蜜网网关 roo-1.4.hw-20090425114542(整套环境核心)

注意:在导入的页面,一定要选择稍后安装操作系统,否则,在配置的时候会发现找不到 menu 菜单,没有图形化页面。

Roo 是蜜网网关,需要 3 块网卡 分别连接攻击网段、靶机网段、管理网段。

给 Roo 添加 3 块网卡(关机状态下配置)

选中 Roo 虚拟机 → 右键 设置硬件添加 → 选择 网络适配器 → 下一步,共添加 2 块(默认 1 块,总计 3 块)。

3 块网卡的模式配置:

  • 网卡 1:自定义 → VMnet8(NAT 模式)(连攻击机网段)
  • 网卡 2:自定义 → VMnet1(仅主机模式)(连靶机网段,核心网关口)
  • 网卡 3:自定义 → VMnet8(NAT 模式)(管理口,用于主机/web 访问网关)

全部勾选 启动时连接 → 确定。

image


步骤三:攻击机完整配置(3 台,全部接入 VMnet8)

本次配置的攻击机为 3 台:WinXPattacker、Kali、SEEDUbuntu9

所有攻击机的虚拟机硬件第一步先做虚拟机网络适配器设置:

  • 关闭虚拟机 → 右键虚拟机 →「设置」→「硬件」→「网络适配器」
  • 网络连接选择「自定义 (U): 特定虚拟网络」→ 选中 VMnet8 (NAT 模式)
  • 勾选「已连接」、「启动时连接」→ 点击「确定」,开机配置系统内 IP。
    image

WinXPattacker

默认账号密码:administrator / mima1234

配置步骤:

  1. 开机登录系统 → 左下角「开始」→「控制面板」→「网络连接」
  2. 右键「本地连接」→「属性」→ 找到「Internet 协议 (TCP/IP)」→ 双击打开

image

  1. 点击属性,选择「使用下面的 IP 地址」,按以下参数填写:

    • IP 地址:192.168.32.4
    • 子网掩码:255.255.255.128
    • 默认网关:192.168.32.1
    • 首选 DNS 服务器:8.8.8.8(备用可留空)

image

  1. 点击「确定」→ 关闭属性窗口,配置生效。

验证:按 Win+R 输入 cmd 打开终端,输入 ipconfig,能看到刚才配置的 IP,说明配置成功。
image

Kali Linux(攻击机,参考文档标准配置)

默认账号密码:kali / kali,root 密码也是 root

开机登录系统 → 打开终端,先切换到 root 权限:

sudo su  # 输入 kali 的用户密码,回车

切换到 root 权限(输入后回车,密码是 kali):

sudo su

查看你的网络连接名称(通常是 Wired connection 1):

nmcli con show

按下面命令配置静态 IP(和 WinXPattacker 同网段):

# 配置 IP 地址和子网掩码(/25 对应 255.255.255.128)
nmcli con mod "Wired connection 1" ipv4.addresses 192.168.32.2/25
# 配置网关(VMware NAT 网关)
nmcli con mod "Wired connection 1" ipv4.gateway 192.168.32.1
# 配置 DNS(用谷歌公共 DNS)
nmcli con mod "Wired connection 1" ipv4.dns 8.8.8.8
# 切换为静态 IP 模式
nmcli con mod "Wired connection 1" ipv4.method manual
# 激活配置
nmcli con up "Wired connection 1"

image

验证网络是否通了:

ping 192.168.32.1   # ping 网关,看能不能通
ping 8.8.8.8        # ping 外网,验证能连互联网

image

验证:ip a 查看 eth0 地址是否为 192.168.32.2

image

附:我在官网下的最新的 amd 处理器的版本,在页面中会出现找不到鼠标光标的情况,尝试多种方式都无法解决。所以本处不附上解决方法。

SEEDUbuntu9(攻击机,参考文档专用实验机)

默认账号密码:seed / dees

配置步骤(和参考文档完全一致):

开机登录系统 → 打开终端,切换到 root 权限:

sudo su  # 输入密码 dees,回车

编辑网络配置文件:

vim /etc/network/interfaces

i 进入编辑模式,修改/添加 eth0 的配置:

auto eth0
iface eth0 inet static
address 192.168.32.3
gateway 192.168.32.1
netmask 255.255.255.128

image

Esc,输入 :wq 回车保存退出,重启生效:

验证:重启后登录,终端输入 ifconfig eth0,看到配置的 IP,说明成功。

注意:此时发现 SEEDUbuntu9 的网卡名称不是 eth0,所以提示 Device not found 需要查看当前系统的网卡名称。输入 ifconfig 发现网卡名称为 eth5,因此重新编辑。

image

输入 ifconfig eth5 配置成功。
image


靶机配置

所有靶机都要接入 VMnet1(仅主机模式):

  • 关闭靶机虚拟机 → 右键 →「设置」→「硬件」→「网络适配器」
  • 网络连接选择「自定义 (U): 特定虚拟网络」→ 选中 VMnet1 (仅主机模式)
  • 勾选「已连接」「启动时连接」→ 点击「确定」,开机配置系统内 IP
    image

Metasploitable_ubuntu(Linux 靶机)

默认账号密码:msfadmin / msfadmin

步骤 1:登录并编辑开机自启配置

开机登录系统(账号:msfadmin,密码:msfadmin)

打开终端,执行:

sudo vim /etc/rc.local

输入密码 msfadmin 回车

i 进入编辑模式,在 exit 0 之前添加:

# 配置靶机静态 IP 和网关(网关是蜜网网关 eth1 地址)
ifconfig eth0 192.168.32.130 netmask 255.255.255.128 up
route add default gw 192.168.32.129

image

Esc → 输入 :wq! 回车保存退出

步骤 2:赋予执行权限并重启生效

sudo chmod +x /etc/rc.local
sudo reboot

步骤 3:验证配置

重启后登录,执行:

ifconfig eth0

看到 inet addr:192.168.32.130 就说明配置成功!
image

Win2kServer_SP0_target 靶机配置

注意:群内提供的百度网盘文件,名为 Win2kServer_SP0_target 压缩包的系统实则为专业版 XP。密码并不是 mima1234。因此放弃,改用真正的 2k 系统。

  • 接入虚拟网卡:VMnet1(仅主机模式)
  • 静态 IP:192.168.32.131
  • 子网掩码:255.255.255.128
  • 网关:192.168.32.129(蜜网网关 eth1 地址)

步骤 1:虚拟机硬件绑定

  • 关闭 Win2kServer_SP0_target 虚拟机
  • 右键 →「设置」→「网络适配器」
  • 选择「自定义 (U): 特定虚拟网络」→ VMnet1 (仅主机模式)
  • 勾选「已连接」「启动时连接」→ 确定,开机

由于快捷键冲突,不能直接定向到虚拟机之后操作。

在 VMware 顶部菜单栏操作:

  • VMware Workstation:点击「虚拟机」→「发送 Ctrl+Alt+Delete」
    image

虚拟机内会立即弹出登录窗口,不会触发主机的任务管理器或鼠标脱离。

步骤 2:密码登录

密码:mima1234

登录成功后进入桌面。

步骤 3:配置静态 IP

  1. 右键桌面「网上邻居」→「属性」
  2. 右键「本地连接」→「属性」
  3. 双击「Internet 协议 (TCP/IP)」
  4. 选择「使用下面的 IP 地址」,填写:
    • IP 地址:192.168.32.131
    • 子网掩码:255.255.255.128
    • 默认网关:192.168.32.129
    • 首选 DNS 服务器:8.8.8.8(备用留空)
  5. 点击「确定」→「确定」,IP 配置生效

image

步骤 4:关闭防火墙/安全策略

Windows 2000 Server 没有图形化防火墙,需要关闭 IP 安全策略:

  1. 「开始」→「程序」→「管理工具」→「本地安全策略」

image

  1. 展开「IP 安全策略,在本地机器」
  2. 右键「Secure Server(Require Security)」→「所有任务」→「不分配」

image

  1. 重启系统(可选,确保策略生效)

配置完成,使用 ipconfig 命令即可验证成功。
image


开机配置 Roo 网关核心参数

Roo 是老旧系统,无图形化,全程命令行操作,按回车进入,账号密码为:roo/honey,提权密码也是 honey。
image

  1. 启动 Roo 虚拟机,等待加载完成,出现登录提示时,输入账号密码
  2. 提权到 root(新博客解决命令找不到的核心步骤),输入命令:
su -
  1. 输入提权密码 honey,回车后提示符变为 [root@localhost ~]# 即提权成功
  2. 进入新博客的可视化配置菜单(核心,避免手动配网络出错),输入命令:
cd /usr/sbin
./menu
  1. 进入菜单后,按步骤依次操作:选择 4. Honeywall Configuration → 选择 YES → 选择默认配置(defaults)→ 选择 YES,加载基础配置
  2. 再次进入 4. Honeywall Configuration,开始按旧网段 192.168.32.x 配置核心参数

配置蜜罐(靶机)信息(菜单路径:1. Mode and IP Information)

  • Honeypot IP Address:输入靶机 IP,多个用空格分隔 → 192.168.32.130 192.168.32.131
    image

  • LAN Broadcast Address:蜜网广播地址 → 192.168.32.255

  • LAN CIDR Prefix:蜜网网段 → 192.168.32.128/25

配置完成后返回上一级菜单。

配置远程管理(菜单路径:2. Remote Management,新博客核心,管理口 IP)

  • Management IP:网关管理口 IP → 192.168.32.8
  • Management Netmask:管理口子网掩码 → 255.255.255.128
  • Management Gateway:管理口默认网关 → 192.168.32.1(VMnet8 的 NAT 网关)
  • Manager:允许管理的 IP 范围 → 192.168.32.0/25(攻击机网段都能访问)

配置完成后返回上一级菜单。

配置 Sebek 流量监控(菜单路径:11. Sebek)

  • Sebek 目标 IP:192.168.32.8(与管理口 IP 一致)
  • Sebek 端口:1101,默认即可
  • Sebek 包处理方式:选择 1. Drop(丢弃,Snort 仍会监控流量,新博客默认)

所有参数配置完成后,保存并退出菜单,重启网关使配置生效:输入 reboot 命令等待重启。

重启后 su - 提权到 root,输入 ifconfig 验证,看到 eth2=192.168.32.8(管理口)即配置成功(全网通的核心)。
image


阶段 1:攻击机网段内部互通(VMnet8)

目标:确认攻击机之间能正常通信,排除网段本身问题

在 Kali 中测试:

ping 192.168.32.3 -c 3   # ping SEEDUbuntu9
ping 192.168.32.4 -c 3   # ping WinXPattacker

image

预期:看到 64 bytes from ...,丢包率 0%

在 SEEDUbuntu9 中测试:

ping 192.168.32.2 -c 3   # ping Kali
ping 192.168.32.4 -c 3   # ping WinXPattacker

image

在 WinXPattacker 中测试(cmd):

ping 192.168.32.2 -n 3   # ping Kali
ping 192.168.32.3 -n 3   # ping SEEDUbuntu9

image


阶段 2:靶机网段内部互通(VMnet1)

目标:确认靶机之间能正常通信

在 Metasploitable 中测试:

ping 192.168.32.130 -c 3   # ping Win2kServer

image

在 Win2kServer 中测试(cmd):

ping 192.168.32.130 -n 3   # ping Metasploitable

image


阶段 3:HoneyWall 网关连通性测试

目标:确认网关能分别访问攻击机和靶机

在 HoneyWall 中测试到攻击机:

ping 192.168.32.2 -c 3   # ping Kali

在 HoneyWall 中测试到靶机:

ping 192.168.32.130 -c 3   # ping Metasploitable

经检查发现通不了。

查阅资料,是图形化配置与系统文件不同步的 Bug。我尝试多种方式,最终选择放弃图形页面,直接修改配置文件。

在 roo-1.4.hw 的图形菜单(menu)中完成所有配置并点击 Commit Changes 后,执行 cat /etc/honeywall.conf 无任何自定义参数输出,且 14 Reconfigure system 会恢复默认配置。

该版本镜像存在 双配置文件分离 Bug

  • 为此图形菜单将配置写入隐藏路径(如 /var/lib/honeywall/honeywall.conf)
  • 系统重配工具仅读取 /etc/honeywall.conf,两者完全脱节

除了转发链(FORWARD),roo 默认还会拦截 入站链(INPUT)出站链(OUTPUT),导致:

  • WinXPattacker 无法 ping 通管理口 192.168.32.8
  • HoneyWall 自身无法主动 ping 通攻击机/靶机(报错 ping: sendmsg: Operation not permitted

直接用命令行把所有参数写进系统文件

步骤 1:直接编辑系统配置文件,强制写入

退出图形菜单,回到命令行,用 vi 打开配置文件:

vi /etc/honeywall.conf

i 进入输入模式,直接在文件里添加/修改下面这些配置项(图形菜单里是什么值,就填什么值,其他没提到的保持默认不动):

HONEYPOT_IP="192.168.32.130 192.168.32.131"
HONEYWALL_MODE=bridge
BRIDGE_MODE=1
LAN_BROADCAST=192.168.32.255
LAN_CIDR=192.168.32.128/25
EXTERNAL_IFACE=eth0
INTERNAL_IFACE=eth1
MGMT_IP=192.168.32.8
MGMT_NETMASK=255.255.255.128
MGMT_GATEWAY=192.168.32.1
MGMT_ALLOWED="192.168.32.0/25"
ROACH_MOTEL=0
SNORT_INLINE_ENABLED=0
SEBEK_DEST_IP=192.168.32.8
SEBEK_PORT=1101
SEBEK_DROP=1

改完后,按 Esc,输入 :wq! 回车。

image

步骤 2:清空并重置 iptables 规则

# 清空所有链的规则
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# 重置所有链的默认策略为 ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# 放行已建立的连接响应
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

image

chmod +x /etc/rc.d/rc.local

手动配置网卡 IP(图形化失效时备用)

# 配置管理口
ifconfig eth2 192.168.32.8 netmask 255.255.255.128 up
# 配置攻击机侧网卡
ifconfig eth0 192.168.32.9 netmask 255.255.255.128 up
# 配置靶机侧网卡(靶机默认网关)
ifconfig eth1 192.168.32.129 netmask 255.255.255.128 up

蜜网网关测试

打开虚拟机 WinXPattacker,在其中打开一个浏览器并输入:

访问地址:https://192.168.32.8(证书有问题也选择点进去)

image

输入账号密码 roo/honey 进行登录:

根据提示的要求修改账号和密码(同时包含大小写字母和字符):

登陆成功进入界面,在这个页面可进行分析经过蜜网的流量,验证配置成功:

image


4.3 连通性测试

跳转回 HoneyWall 虚拟机,使用 tcpdump -i eth0 icmp 命令下面进行监听。

image

利用 kali 进行连通性测试:

先进入 WinXPattacker 查询地址为:192.168.32.4。

image

进入 kali 进行 ping 以下测试连通性。连通成功,有报文出现。

image

回到 HoneyWall 也有报文出现,可以监听到 icmp 包,则测试成功。

image


3.18更新(已做完实验二)

我通过在蜜罐命令行输入指令创建文件来配置网络信息,并设置开机自启,虽然能顺利通过实验一,但是在做实验二的时候依然存在问题。为此,我在我的宿舍和实验室电脑都进行尝试,目前推测仍然是图形化配置与系统文件不同步的Bug导致的。为此,最有效且最快速的解决方法是,在自己完成所有配置确认无误仍无法顺利进行的时候,找做完的同学拷贝配置好的honeywall虚拟机文件。如果其他同学能够正确配置,我们只需要保证虚拟机的虚拟网络编辑器以及其他攻击机与靶机的网络配置与同学保持一致即可。关键是不要动蜜罐!虽然我依然无法找到蜜罐编辑失效的原因,但希望这个更新能够给部分同学提供思路。

学习感悟与思考

这次的学习让我备受挫折。我最开始想用 mac 运行虚拟机(网上看到学长的帖子适配成功了),准备导入虚拟机的时候才发现不支持 arm 架构。我在配置环境的时候,总会出现奇奇怪怪的问题,无论是鼠标指针消失,蜜罐配置失灵,系统密码错误等环境配置的问题,还有在线排版 md 格式文档因内容过多导致无法打开等等问题。每一个问题都需要我进行深入的探究,花费了我大量的时间。好在最终将环境适配成功。我经常熬夜到凌晨一两点,就为了修复某一个 bug,对蜜罐重装重配超过五次。这个过程中,我不仅学到了基础的网络攻防知识点,还培养了我的抗压能力。万事开头难,希望接下来的实验我都能顺利完成。

参考资料

posted @ 2026-03-16 16:24  行走的yu  阅读(74)  评论(0)    收藏  举报