### 与 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请求来触发内核崩溃，从而导致远程代码执行