20253918 2025-2026-2 《网络攻防实践》第7次作业
20253918 2025-2026-2 《网络攻防实践》第7次作业
1.实践内容
本实践属于网络攻防技术中的渗透测试与流量分析综合训练,核心围绕“攻击利用—防御监测”双向视角展开,涵盖以下核心知识点:
1.1 渗透测试全流程实践
通过 Metasploit 框架完成从漏洞发现到权限获取的标准化渗透流程:
- 掌握漏洞扫描与模块选型逻辑(针对 Samba 服务
usermap_script漏洞,理解老旧服务版本的安全缺陷); - 理解 Payload 工作机制(
bind_netcat反向/绑定式 Shell 的区别、端口监听与交互原理); - 验证权限提升本质(通过
whoami等系统命令反馈,理解 Linux 下 Root 权限的控制意义)。
1.2 攻防对抗与流量解析
模拟真实网络环境中的攻防博弈:
- 攻击侧:学习靶机环境适配(当预设漏洞不匹配时,切换可利用漏洞的应急思路);
- 防御侧:掌握流量捕获与分析技术(使用
tcpdump抓包、Wireshark 追踪 TCP 流还原攻击会话、Snort 规则匹配检测攻击特征); - 理解攻击痕迹留存(漏洞触发时的异常协议字段、Shell 交互的命令明文传输特性),建立“攻击可感知、行为可追溯”的防御认知。
2.实践过程
2.1 使用Metasploit进行Linux远程渗透攻击
重新查询所有ip地址,修改回最初的模式:
kali IP地址 192.168.200.64
Metasploitable IP地址为192.168.200.134


输入命令msfconsole

成功启动 msfconsole,进入 Metasploit 控制台,并使用 use exploit/multi/samba/usermap_script 选择 Samba Usermap_script 漏洞利用模块,为后续攻击做准备。
使用命令use exploit/multi/samba/usermap_script选择攻击模块

终端提示符变为 msf exploit(multi/samba/usermap_script) >,说明已经成功进入指定漏洞模块。Metasploit 默认选择了 cmd/unix/reverse_netcat payload,但后续可根据实验需要进行更换。
使用命令show payloads和命令set payload cmd/unix/bind_netcat
![]() |
![]() |
|---|
使用命令show options

通过 show options 查看当前模块参数,确认目标端口 RPORT 为 139,payload 为 cmd/unix/bind_netcat,监听端口 LPORT 为 4444。此时还需要继续设置目标主机 IP。
使用命令set rhost 192.168.200.134来设置目标地址,使用命令set LHOST 192.168.200.64来设置本地地址

设置靶机地址为 192.168.200.134。由于当前使用的是 bind shell,主要参数是目标主机地址、目标端口和 LPORT,LHOST 对该 payload 不是必需项,因此出现相关提示不影响实验。
使用命令run开始

执行 run 后,Metasploit 显示 Command shell session 1 opened,说明远程 shell 会话建立成功。随后执行 ifconfig 确认目标 IP 为 192.168.200.134,执行 whoami 返回 root,证明已经获得目标 Linux 靶机的 root 权限。
综上所述,本次实验使用 Metasploit 对 Linux 靶机 Samba 服务的 Usermap_script 漏洞进行远程渗透攻击。实验中选择了 exploit/multi/samba/usermap_script 模块,并使用 cmd/unix/bind_netcat 作为远程 shell payload。设置目标主机 IP、目标端口和监听端口后执行攻击,Metasploit 成功建立 Command shell session。进入远程 shell 后,通过 ifconfig 确认当前主机为目标靶机,通过 whoami 查看权限,返回结果为 root,说明本次攻击成功获得了目标 Linux 靶机的 root 权限,任务一完成。
2.2 实践作业:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
Metasploitable IP地址为192.168.200.134
kali IP地址为192.168.200.64
使用命令msfconsole再次开启

使用命令search vsftp和命令use exploit/unix/ftp/vsftpd_234_backdoor启用vsftp服务进行攻击实践

使用命令show payloads和命令set payload payload/cmd/unix/interact选择攻击

使用命令set RHOST 192.168.200.134 和set LHOST 192.168.200.64来配置内容,最后使用命令show options展示配置结果

此时发现重大漏洞,之后会在下面的遇到问题详细叙述,这里重新进行第二个实践:
大致内容相同
![]() |
![]() |
|---|
与第一个任务相同进行攻击,与此同时另外新开一个kali终端窗口用于抓包:
使用命令sudo tcpdump -i eth0 -nn -s0 -w samba_usermap_attack.pcap host 192.168.200.134进行抓包,不要关闭该终端窗口。

防守方在攻击开始前使用 tcpdump 对目标主机 192.168.200.134 的通信流量进行监听,并将抓包结果保存为 samba_usermap_attack.pcap。该文件后续用于 Wireshark 分析攻击过程。抓包完成后,把生成的文件复制到桌面,在桌面就能看到这个抓包文件。

在 Wireshark 中打开 samba_usermap_attack.pcap 文件,可以看到攻击机 192.168.200.64 与靶机 192.168.200.134 之间的通信流量。前期主要是攻击机访问靶机 139 端口的 Samba 流量,随后出现与 4444 端口相关的 shell 连接流量。之后查看追踪tcp:
![]() |
![]() |
|---|
通过过滤 tcp.stream eq 1 可以看到攻击成功后的 bind shell 通信内容。流量中包含攻击者在远程 shell 中输入的命令,例如 ifconfig、ls 等,以及靶机返回的执行结果。通过跟踪 tcp.stream eq 0 可以看到 Samba 协议交互过程中的异常命令内容,其中包含利用漏洞触发的命令执行语句。该流量体现了 usermap_script 漏洞利用过程中通过 Samba 会话传递恶意命令的特征。

在 Follow TCP Stream 中可以清楚看到攻击成功后输入的命令和返回结果,包括 whoami 返回 root,id 返回 uid=0(root) gid=0(root),hostname 返回 metasploitable,说明攻击者已经获得目标主机 root 级别的远程控制权限。

使用 Snort 对 samba_usermap_attack.pcap 抓包文件进行离线检测,并加载自定义检测规则。检测结果显示,Snort 成功识别出 Samba usermap_script 漏洞利用流量、bind shell 中的 whoami 命令,以及靶机返回的 uid=0(root) 权限验证结果,说明 IDS 能够对本次攻击过程进行有效告警。
3.学习中遇到的问题及解决
3.1 问题一:无法成功实现攻击

问题描述以及解决方案:在实验过程中,教程中使用的靶机 FTP 服务为 VSFTPD 2.3.4,因此可使用 exploit/unix/ftp/vsftpd_234_backdoor 模块进行攻击。但本实验环境中,老师提供的 Metasploitable-ubuntu 靶机 FTP 服务为 ProFTPD 1.3.1,与 VSFTPD 2.3.4 漏洞模块不匹配,Metasploit 中也未找到适用于该服务版本的对应利用模块。因此本次攻防对抗实践选择靶机中已确认开放的 Samba 服务,使用 exploit/multi/samba/usermap_script 模块完成远程渗透攻击。
4.学习感想和体会
通过本次网络攻防实践,我对渗透测试和防御分析有了更加直观的认识。实验中,我使用 Metasploit 对 Metasploitable 靶机的 Samba usermap_script 漏洞进行利用,成功获得远程 Shell,并通过 whoami、id 等命令验证了 root 权限。这让我认识到,老旧服务版本和不安全配置会给系统带来严重安全风险。
在防守方分析过程中,我使用 tcpdump 抓取攻击流量,并通过 Wireshark 追踪 TCP 流,还原了攻击过程和命令交互内容。随后使用 Snort 对抓包文件进行检测,进一步理解了 IDS 如何根据规则识别攻击行为。实验中也遇到了 FTP 服务版本与教程不一致的问题,通过排查发现靶机实际运行的是 ProFTPD 而非 VSFTPD,这让我体会到实际攻防中不能机械照搬教程,而要结合服务版本和环境具体分析。总而言之,本次实践不仅提升了我对漏洞利用流程的理解,也增强了我从攻击和防御两个角度分析问题的能力。







浙公网安备 33010602011771号