20251912 2025-2026-2 《网络攻防实践》实践七报告
1.实践内容
1.1 Metasploit 框架基础
Metasploit 是一个开源的渗透测试框架,提供了大量漏洞利用模块、有效载荷和辅助工具。核心概念包括:
- exploit(渗透攻击模块):针对特定漏洞的攻击代码
- payload(攻击载荷):成功利用漏洞后在目标系统上执行的代码,如反弹 shell、绑定 shell 等
- RHOST(目标主机):被攻击的靶机 IP 地址
- LHOST(本地主机):攻击机的 IP 地址,用于反向连接
1.2 查找和使用攻击模块
当不知道使用什么攻击模块时,可以使用 show exploits 查看所有可用模块,但由于列表很长,更高效的方式是使用 search 命令搜索关键词。例如本实验中搜索 search usermap_script 或 search samba,找到与 Samba 服务相关的漏洞模块 exploit/multi/samba/usermap_script。
1.3 攻击载荷(Payload)配置
使用 show payloads 查看当前模块可用的载荷,选择 cmd/unix/bind_netcat 作为攻击载荷。bind_netcat 是正向连接载荷,在靶机上开启一个监听端口,攻击机主动连接该端口获取 shell。需要设置 RHOST 为靶机 IP。另一种是 reverse_netcat(反向连接),靶机主动连接攻击机,需要设置 LHOST。
2.实践过程
2.1使用Metasploit进行Linux远程渗透攻击:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。
-
首先查看kali的IP地址为192.168.200.128,Metasploitable的IP地址为192.168.200.123
-
启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一,这里我们选择msfconsole。
![84a24178-3956-4c44-a13d-2b02e0b034f6]()
-
命令行输入search usermap_script 查找漏洞信息,然后输入use exploit/multi/samba/usermap_script使用exploit渗透攻击模块。
![5a3d0747-3ebb-4231-86ea-fd2829365522]()
-
命令行输入show payloads 显示有效的攻击载荷,然后输入set payload cmd/unix/bind_netcat选择攻击PAYLOAD为远程shell(正向反向都可以,此处选择6号载荷),同时设置RHOST为靶机IP,LHOST为攻击机IP。
![153cde28-fa82-4b3a-bfcb-df7872272e9a]()
![dc3d26f1-f827-42d4-81ea-d544239d928b]()
-
参数设置完成后运行命令run开始渗透攻击,成功拿到靶机控制权,ifconfig验证一下确实显示靶机ip,whoami测试发现已提权为管理员
![576be893-dca0-41ae-932a-8e82e82e6f90]()
2.2攻防对抗实践
(1)攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
(2)防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
-
实验环境:攻击机kali的IP地址为192.168.200.128,靶机Metasploitable的IP地址为192.168.200.123,确保二者互通
-
在攻击机上打开wireshark抓包,同2.1一样对靶机进行攻击后获取靶机的root权限。
![83ec66ce-aa72-4810-adfc-d27508269c93]()
-
打开wireshark进行分析,追踪TCP数据流,可以从SMB数据包中找到shellcode如图所示;其中nohup是no hang up的缩写,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系;4444表明数据是通过4444号通信端口管控传入攻击机的
![72ad9d34-5ccc-493b-b6a2-e269d41a0d66]()
-
继续追踪tcp流可以看到我们控制靶机后使用了哪些命令
![cbe83729-69e7-4944-82c6-af81b49788e1]()
3.学习中遇到的问题及解决
- 问题1:使用工具攻击靶机失败了
- 问题1解决方案:发现靶机和攻击机根本没有互通,靶机因为一些原因恢复了实验一中掩码为255.255.255.128的设置,与攻击机并不在一个网段。以后不能理所当然认为互通,实验前一定要检查好!
4.实践总结
通过本次实验,我深入理解了 Metasploit 渗透测试框架的基本使用方法,掌握了 exploit(攻击模块)和 payload(攻击载荷)的区别与配置方法。实验中使用的 Samba usermap_script 漏洞是一个典型的远程命令注入漏洞,让我认识到不安全的输入处理可能造成的严重后果。这次实验不仅锻炼了我的动手能力,也让我对网络安全有了更全面的认识。以后在面对网络故障时,我会更系统地排查——先确认基础连通性,再分析协议细节,而不是盲目猜测。








浙公网安备 33010602011771号