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