SMB HASH 喷射,应该注意的细节
SMB HASH 喷射,应该注意的细节

SMB HASH 喷射,应该注意的细节

本文涉及到的部分工具文末有下载

现实场景

2023 年各个地区护网又开始了,我个人每年始终保持对护网攻击手法和细节的关注,最近一个接护网单子的兄弟在做 SMB 喷射的时候因为错失了一台 03 机器而失去了整个 DC 的控制权,导致整个内网渗透失败,在信息搜集阶段,他抓的几台机器的 hash 中已经有这台 03 机器的 hash,那为什么会喷射失败呢?windows 各个系统对 SMB 版本的支持不一样,大部分 SMB 喷射工具只支持 smb2/3 两个版本。 以下是结合微软官方文档的梳理。

https://learn.microsoft.com/zh-cn/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3?tabs=server

各常用 SMB 喷射工具/方法测试

这里测试个人常用的工具集,形成一个汇总表,以方便后续测试内网的时候根据场景,最优适配工具。

虚拟机配置(测试扫描中的其它干扰 IP 忽略):
密码:123456 hash:32ed87bdb5fdc5e9cba88547376818d4
192.168.31.146 windows server 2003
192.168.31.111 windows 10
192.168.31.124 windows server 2016

1、fscan

密码和 hash 喷射都不支持 SMB1.0

2、超级弱口令

支持 SMB1.0 且仅支持 windows server 类型操作系统

3、crack

仅支持 SMB2/3,不支持 SMB1.0

4、impacket

该工具不用测试,支持 SMB 1/2/3 全部协议。

5、mimikatz

mimikatz 注入 hash 到 cmd 中实现喷射

如果本机没有安装 SMB1,那么也只能喷射 SMB2/3 版本支持的系统

开启 SMB 1.0 之后,重启系统再次测试,可对 windows 2003 这种老系统的SMB1 进行协商和SMB喷射

6、runas

某些情况下,windows 自带的 SMB 认证命令工具 runas 大有可为之处,如下在新启动的 cmd 中注入用户为 administrator,密码为 123456 的权限上下文,通过该权限去喷射。

新启动的窗口中执行喷射测试成功,该方式只要本机系统支持,那么就可以和低版本 SMB 进行通讯。

7、cme

cme 调用的是 impacket 包中的模块,肯定是支持的SMB1/2/3的,扫描速度慢一些(提速需要提前扫描好 445 开放的IP)

8、snow_wolf

snow_wolf 是个人自研红队工具,SMB全版本协议支持

9、smb_pth

smb_pth 是个人采用 golang 开发支持 smb hash 喷射的工具,支持 smb2/3,主打速度快,C段喷射,命令输入完毕后回车即出结果,B段20多秒喷射完成,目前也融合到snow_wolf 中。

10、MSF smb_login 模块

smb_login 模块是 SMB 全版本支持,该模块也支持 NT HASH 喷射。

测试汇总表

通过 SMB 密码或者 hash 的各种喷射方式,最终汇总成如下表格,建议平时做渗透的时候仅支持 SMB1的系统一定采用支持的工具再走一遍,以免遗漏重要的突破点。

相关工具下载

含 drawin、linux、windows 三个版本