渗透测试包括红盒测试吗(渗透测试中的SMB扫描)

SMB就是Server Message Block协议的缩写。与其他标准的TCP/IP协议不同,SMB协议是一种复杂的协议,因为随着Windows计算机的开发,越来越多的功能被加入到协议中去了,很难区分哪些概念和功能应该属于Windows操作系统本身,哪些概念应该属于SMB 协议。因为该协议很复杂,所以是微软历史上出现安全问题最多的协议。

SMB扫描:nmap

比较常用且简单的SMB扫描方案是使用nmap,扫描目标主机固定开放的139、445端口:

渗透测试包括红盒测试吗(渗透测试中的SMB扫描)(1)

nmap -v -p139,445 112.16.46.36-100 --open

从扫描结果中可以看到有三台机器开放了139和445端口,但这其实无法作为判断其为windows系统的依据。因为Linux有时候也会开这两个端口,这两个端口不是window专用的。

所以nmap提供了一种高级扫描方式,通过脚本进行扫描:

渗透测试包括红盒测试吗(渗透测试中的SMB扫描)(2)

nmap 112.16.46.38 -p139,445 --script=smb-os-discovery.nse

这次扫描出来的结果中就有明确的系统信息了。

但是我们拿到这个信息其实不能很直观的知道有没有漏洞可以利用,所以nmap很贴心的提供了另一个扫描方法,能直接把有没有漏洞的结果告诉操作者:

渗透测试包括红盒测试吗(渗透测试中的SMB扫描)(3)

nmap -v -p139,445 --script=smb-vuln-*.nse --script-args=unsafe=1 112.16.46.92 -Pn

其中--script-args=unsafe=1,起一个等号前面的表示会向脚本传递参数,后面的unsafe=1是作为一个参数的整体,可以理解成暴力扫描,还可以传safe=1,但是相对而言暴力扫描可靠性更强一点,但是耗时更久一些。

参数smb-vuln-*.nse其实指代了好几个脚本名字,分别是smb-vuln-conficker.nse、smb-vuln-cve2009-3103.nse、smb-vuln-cve-2017-7494.nse、smb-vuln-ms06-025.nse、smb-vuln-ms07-029.nse、smb-vuln-ms08-067.nse、smb-vuln-ms10-054.nse、smb-vuln-ms10-061.nse、smb-vuln-ms17-010.nse、smb-vuln-regsvc-dos.nse、smb-vuln-webexec.nse这11个脚本。当然这些脚本都是可以单独使用的,看具体的使用场景。这些脚本的存放地址都是在/usr/share/nmap/scripts/,如果对脚本具体内容感兴趣,也可以去阅读一下:

渗透测试包括红盒测试吗(渗透测试中的SMB扫描)(4)

more smb-vuln-ms06-025.nse

脚本里面都有对应的说明。

参数-Pn表示就算目标机器有防火墙过滤包,也继续扫描。有时候目标机器明明活着,但是去扫描SMB的时候,返回的结果里显示目标机器已经挂了,有可能就是扫描被防火墙拦截过滤了。

在扫描结果的Host script results里面可以看到一些smb的漏洞,具体能不能利用、怎么利用,其实可以去看前面提到的脚本文件里面的说明。

SMB扫描:nbtscan

还是先看一下这个工具的帮助文档:

渗透测试包括红盒测试吗(渗透测试中的SMB扫描)(5)

nbtscan -h

一般我们都会使用参数-r,可以扫描到比较老的系统版本:

渗透测试包括红盒测试吗(渗透测试中的SMB扫描)(6)

从扫描结果来看,没有很多有用的信息。

nbtscan有一个优点,就是可跨网段扫描mac地址,如果防火墙过滤不够好的话。

SMB扫描:enum4linux

看一下这个工具的帮助文档:

渗透测试包括红盒测试吗(渗透测试中的SMB扫描)(7)

enum4linux -h

enum4linus这个工具不支持网段扫描,但结果非常详细:

渗透测试包括红盒测试吗(渗透测试中的SMB扫描)(8)

enum4linux -a 112.16.46.36

从结果中可以看到很多分类,例如用户名、工作域、smb提供的服务、系统信息、服务器类型、密码策略等等。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页