SMB协议(445)

SMB服务大多运行在windows系统上,SMB通信协议协议在网络上的端点之间提供对文件、打印机和串行端口的共享访问。在扫描过程中,我们通常会看到目标上的 445 TCP 端口打开,为 SMB 协议保留。通常,SMB 运行在 OSI 模型的应用层或表示层,如下图所示。 正因为如此,它
依赖于较低级别的传输协议。 Microsoft SMB 协议是传输层协议最常使用的是基于 TCP/IP (NBT) 的 NetBIOS。 这就是为什么在扫描过程中,我们很可能会同时看到具有在目标上运行的开放端口的协议。

使用 SMB 协议,应用程序(或应用程序的用户)可以访问远程服务器上的文件,以及打印机等其他资源。 因此,客户端应用程序可以读取、创建和更新文件远程服务器。 它还可以与任何设置为接收 SMB 客户端的服务器程序通信要求。

网络上启用 SMB 的存储称为共享。 任何拥有服务器的地址和正确的凭据。 与许多其他文件访问协议一样,SMB 需要一些安全层在网络拓扑中正常运行。 如果 SMB 允许客户端创建、编辑、
检索和删除共享上的文件,显然需要一种身份验证机制。 在用户层面,SMB 客户端需要提供用户名/密码组合才能查看内容或与内容交互SMB共享

nmap -sV {target_IP}   #扫描目标的开放端口的服务版本

如果扫描得到目标IP的TCP445开放,为了成功枚举远程系统上的共享内容,我们可以使用一个名为smb客户端。 如果您的虚拟机上不存在该脚本,您可以通过键入以下命令来安装它终端中的命令(对于基于 Debian 的操作系统)。

apt-get install smbclient

Smbclient 将尝试连接到远程主机并检查是否需要任何身份验证。 如果有,它会要求您输入本地用户名的密码。 我们应该注意到这一点。 如果我们不尝试连接到远程主机时,为 smbclient 指定一个特定的用户名,它只会使用您的本地机器的用户名。 那是您当前登录到虚拟机的那个。 这是因为 SMB 身份验证总是需要用户名,所以不要明确地给它一个尝试登录与,它只需要传递您当前的本地用户名,以避免引发协议错误。

smbclient -L {target_IP}  #通过smbclient工具连接SMB共享

SMB协议(445)_第1张图片

 上述表示连接成功!!!四个值

SMB协议(445)_第2张图片

“\\\\”表示转义

 SMB协议(445)_第3张图片

 成功连接smb之后,可以采用linux命令查看目录文件:ls、cd、get、exit。

你可能感兴趣的:(计算机网络,渗透工具,安全)