标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2024-2557] 作者: 浩丶轩 发表于: [2020-02-07] [2020-02-07]被用户:浩丶轩 修改过
本文共 [494] 位读者顶过
SMB(服务器消息块)是一种协议,它允许同一网络上的资源共享文件,浏览网络并通过网络进行打印。它最初用于Windows,但是Unix系统可以通过Samba使用SMB。今天,我们将使用名为Enum4linux的工具从目标中提取信息,并使用smbclient连接到SMB共享并传输文件。[出自:jiwo.org]
通常,服务器上有SMB共享驱动器,可以连接到该驱动器并用于查看或传输文件。对于想要发现敏感信息的攻击者来说,SMB通常可以是一个很好的起点–您会惊讶地发现这些共享中有时包含什么。在极少数情况下,例如当SMB共享目录和Web服务器根目录相同时,攻击者甚至可能利用这种错误配置来实现代码执行。
一、使用Enum4linux收集信息我们需要做的第一件事是确定目标上是否存在SMB。通常可以确信,如果打开了端口139和445,则SMB正在运行。让我们做一个简单的NMAP扫描以查看打开了什么服务:
我们可以看到SMB已经开放
我们可以看到,这为我们提供了有关工作组名称,服务器是否允许空会话(空用户名和密码-稍后将派上用场)以及系统中存在用户的信息。 该-S标志给我们介绍一下机器上的SMB共享的信息:
我们可以看到存在一些共享,例如print $,IPC $和ADMIN $之类的默认共享,还有opt和tmp之类的自定义共享。甚至似乎对其中之一发表了评论,以后可能会很有用。 它还尝试映射共享,告诉我们是否可以访问特定共享。我们可以使用-P标志查看目标上的密码策略:
这为我们提供了有关当前所有密码策略的信息。在这种情况下,我们可以看到“ METASPLOITABLE”域的一些信息。我们可以看到诸如最小密码长度,密码期限和复杂性要求之类的信息。这对于攻击的信息收集阶段可能非常有用,因为这可以帮助缩小以后的密码暴力尝试范围。
在这里,我们可以看到Samba版本号,并且该服务器是基于Debian的。 如果目标是域控制器,则-l标志将尝试获取有关服务器上运行的LDAP的一些有限信息:
在这种情况下,我们的目标不是DC,因此它不返回任何内容。 打印机通常是在网络上共享的,并且通常是被忽视的攻击媒介。我们可以使用-i标志来查看任何打印机信息:
此工具最有用的选项可能是一次运行所有这些测试的选项。这样,我们可以一次扫描快速获得所需的所有SMB信息-使用-a标志运行所有简单的枚举:
通常,这是枚举目标上SMB的最快方法,并且由于将结果全部集中在一个位置,因此可以轻松地保存它们以备后用。 现在,我们已经使用Enum4linux收集了有关目标的一些信息,我们可以使用一种基础工具来与系统上的SMB进行实际交互。 Smbclient是一种用于访问服务器上SMB资源的工具,就像FTP客户端用于访问文件一样。它提供了一个简单的命令行界面,如果您完全熟悉FTP的话,可以轻松使用。 我们可以使用以下命令查看帮助和用法选项: ~# smbclient --help 连接和身份验证有很多不同的选项,但是今天我们将使其保持简单。我们可以通过使用-L标志后跟服务器的IP地址来获取目标上的共享列表,就像我们之前对Enum4linux所做的一样。
连接到SMB时,我们需要在地址周围使用斜杠。现在,它将提示我们输入root的密码,但如果配置不正确,我们只需在提示符下按Enter键即可匿名登录。 前面我们看到了允许空会话,这意味着我们也可以使用空白的用户名和密码登录。使用-U标志指定用户名(在这种情况下为空白字符串),使用-N标志指定无密码:
现在,我们列出了共享,但未提供任何凭据,并且现在可以通过指定主机IP地址和共享名称来连接到共享。关于tmp共享有一个文件,我们能够更早地成功映射它,因此让我们连接到它:
我们可以使用空白的root密码登录,也可以使用空白的用户名和密码登录,就像之前一样。连接后,我们可以键入help以获得可用命令的列表。 使用dir命令列出当前目录的内容:
|