与 SMB 协议相关的漏洞有哪些
1. 永恒之蓝
这是最著名的 SMB 漏洞,没有之一。它利用了 SMBv1 协议中的一个远程代码执行漏洞(CVE-2017-0144)
- 漏洞原理: 攻击者通过向目标主机发送特制的数据包,利用 SMBv1 协议中处理内核模式下数据包的方式中的一个缓冲区溢出漏洞。一旦利用成功,攻击者便可以在目标主机上以系统权限远程执行代码
2. 永恒之蓝的变种与相关漏洞
永恒之蓝并非单一漏洞,而是与一系列相关漏洞紧密相连的武器库的一部分,其中一些同样非常危险
- 永恒之红(EternalRed): 利用 SMBv1 协议中的另一个漏洞(CVE-2017-0143),用于侦测目标主机是否可被利用
- 永恒之黑(EternalBlack): 同样是 SMBv1 协议的漏洞,用于窃取目标主机的哈希密码
这些漏洞通常与永恒之蓝协同工作,构成一个完整的攻击链,用于信息收集和代码执行
3. SMBGhost(SMBv3中的远程代码执行)
SMBGhost(又称 SMBleed)是针对较新版本 SMB 协议(SMBv3.1.1)的漏洞
- 漏洞编号: CVE-2020-0796
- 漏洞原理: 该漏洞是由于SMBv3协议处理压缩数据的方式存在一个整数溢出,导致内核模式下的远程代码执行。这个漏洞的危险之处在于它无需身份验证,只要目标主机的 445 端口开放,攻击者就可以直接利用
4. SMB中继攻击
SMB 中继攻击不是一个具体的代码漏洞,而是一种利用 SMB 协议设计缺陷的逻辑漏洞
- 漏洞原理: 当一个用户尝试访问攻击者控制的 SMB 服务器时,攻击者可以捕获用户的 SMB 认证请求,并将其“中继”到另一个目标服务器。由于 SMBv2/v3 使用 NTLMv2 认证,攻击者可以不破解密码,而是直接利用用户的凭证哈希在目标服务器上进行身份验证
- 影响: 攻击者可以绕过密码,以受害者的身份访问其他服务器,通常用于内网横向移动
- 防范: 主要的防御措施是启用 SMB 签名。SMB 签名可以验证 SMB 数据包的完整性和来源,从而防止中继攻击
5. SMB1 远程代码执行(CVE-2017-0147)
这是一个在 SMBv1 中处理特殊数据包时存在的另一个漏洞,与永恒之蓝密切相关
- 漏洞编号: CVE-2017-0147
- 漏洞原理: 这是一个在
Srvnet.sys
驱动程序中处理 SMB 报文时存在的漏洞,攻击者可以发送一个恶意的 SMB请求来触发内核崩溃,从而导致远程代码执行