# 历史漏洞的利用

### **CVE-2020-1472 ZeroLogon漏洞**

因为脆弱的密码学设计，攻击者可以绕过认证并模仿任何域主机，包括域控制器，以实现提权。

Zerologon 的核心问题是 Netlogon 远程协议的加密实现中存在缺陷。该协议使用 **AES-CFB8** 加密方案的自定义实现，这需要一个初始化向量 (IV)。Microsoft 的实现使用 **16 个零字节的固定 IV**，使其容易受到攻击。如下图所示，当全 0 的 IV 与全 0 的输入，即便密钥是随机的，有1/256 的概率得到 8 位的全 0 密文。空间为 256 的密钥空间是极小的，现在的计算机可以瞬间完成计算。

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/4lh2omD0vd0k2yOa-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/4lh2omD0vd0k2yOa-image.png)

该漏洞允许攻击者**模仿网络上的任何计算机**，包括域控制器本身，并在目标域控制器上执行远程过程调用 (RPC)。攻击者可以通过向域控制器发送一系列具有**全零客户端凭证的特制 Netlogon 消息**来利用此漏洞，这导致域控制器接受攻击者作为具有特权的有效用户，从而使攻击者可以完全接管域。

这里我们使用来自 [https://github.com/leitosama/SharpZeroLogon](https://github.com/leitosama/SharpZeroLogon) 的 exp。在之前的章节中，我们使用该工具的检测模式检测出了 dc01 受该漏洞影响。我们再来回顾一下：

在域内环境的话，我们只需要指定域控制器即可，发现该域控可被 zerologon 漏洞的攻击所接管。

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/QOZo7kZIC7qRnybZ-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/QOZo7kZIC7qRnybZ-image.png)

增加 **-reset** 选项，来重置 dc01 主机的凭证：

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/5a9m9XW68XDqSgem-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/5a9m9XW68XDqSgem-image.png)

这时，dc01 主机的哈希被重置为显示出的指定 NTLM。得到了 dc01 主机的新哈希后，我们可以使用 CobaltStrike 内置的 **pth** 命令。但是该命令需要当前主机的提升特权，而且因为会补丁 **lsass.exe**，一方面是特征较为显著，另一方面是会被 **PPL** 所阻止 (我们会在下一章节详细讲解 PTH 以及 PPL) 。

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/AMPw0AkpZodd1GJu-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/AMPw0AkpZodd1GJu-image.png)

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/5jOeWNBgfW5xF5lh-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/5jOeWNBgfW5xF5lh-image.png)

我们可以使用 Impacket 中的 secretdump 脚本来实现：

```shell
proxychains secretsdump.py  -dc-ip 172.16.1.11 -just-dc -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'dc01$'@prod.raven-med.local
```

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/uNNaICcZAVJzUfqa-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/uNNaICcZAVJzUfqa-image.png)

###   


### **CVE-2021-42278 NoPAC漏洞**

该漏洞实际上利用了主机账号的伪造，攻击者可以从普通用户提升为域管理员。默认情况下，因为考虑到 BYOD 政策，普通域用户可以最多添加 **10 台** 计算机。计算机账户是一种特殊的账户，与普通用户账户不同的是，计算机账户以 $ 结尾，例如 Srv01$。

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/FbUw4N0P16PQkN0z-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/FbUw4N0P16PQkN0z-image.png)

当添加了新的计算机，因为用户是所有者，自然拥有对添加的计算机的写权限，可以修改其 **SPN**、**sAMAccountName** 等属性 (与 **CVE-2022-26923** 有异曲同工之妙)。攻击者需要清除计算机的 **SPN**，然后修改 **sAMAccountName** 属性，修改为与域控的一致 ( SPN 会随着 sAMAccountName 的改变而改变，因此需要先清除 SPN)。然后，使用 **Rubeus** 为新添加的主机申请一张 **TGT**，但由于我们修改了主机的名称，所以 **/user** 选项应该与域控的一致 (但没有 **$** 结尾)。接着，恢复新添加主机的 **sAMAccountName** 为**初始名称**。最后，使用之前请求的 TGT 通过 S4U2Self 来申请 TGS，因为 TGT 中的 **sAMAccountName** 查找不到，于是 KDC 添加了一个 **$** 后进行查找，自然就找到了域控制器。

听起来需要多个步骤可以完成，但这里我们可以使用来自 [https://github.com/Ridter/noPac](https://github.com/Ridter/noPac) 的exp，一键式地帮助我们完成利用。

指定**明文帐号密码**，以及**域名**，用**扫描模式**检测一下漏洞的存在

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/YDI0If4f1C8uTrdy-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/YDI0If4f1C8uTrdy-image.png)

接下来，我们需要利用这个漏洞创建一个新的计算机帐号，指定**计算机名**、**密码**、**服务类型**。该工具集成了 Rubeus 中 **S4U** 的功能，因此能生成一张 Dc05$ 的 TGT 并将其转换为 CIFS 的 TGS

```powershell
nopac.exe -domain white-bird.local -user serveradm -pass "Summer2024!" /dc dc05.white-bird.local /mAccount nopac /mPassword Passw0rd /service cifs /ptt
```

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/KZrQSv7WWYsrvwnX-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/KZrQSv7WWYsrvwnX-image.png)

于是，我们可以访问 dc05 的资源了。

[![image.png](https://raven-medicine.com/uploads/images/gallery/2023-05/scaled-1680-/gkctUnHPaDxNYNI3-image.png)](https://raven-medicine.com/uploads/images/gallery/2023-05/gkctUnHPaDxNYNI3-image.png)