# 第8章课后作业

##### **练习**

1：在本章节，出于教学目的，有的内容我们以白盒的视角进行讲解的，即默认我们已经拿下了某主机/用户，如 ADCS 的利用。让我们回归到黑盒视角，即所有的权限和凭证都需要我们从 0 开始获得。使用截至目前我们所教授的利用手法，整理一下

例如，在 ADCS 的利用小节，我们默认已经知道了 justin 的凭证，从而利用了 ADCS 实现 med-factory 域内的提权。但如果要从黑盒角度，路线是这样的：

```
步骤 1：在 PROD 域中发现 jason 不需要预认证，使用 ASREPRoasting 攻击，得到了 jason 的明文凭证

步骤 2：在 MED-FACTORY 域中发现了 jason 用户，可能存在密码重用，于是获得了 med-factory\jason 的访问

步骤 3：med-factory\jason 对 justin 具有修改帐号的权限，修改 justin 的帐号获得访问

步骤 4：利用 ADCS 接管 med-factory 域
```

这样的攻击路线具有多条且可能相互交织，请整理出所有可能的攻击路径。根据已掌握信息，我们最多可以拿下哪些用户与域？

2：复现 Kerberoasting 与 ASREPRoasting 攻击

3：复现委派的利用，以及在 med-factory 域中，使用练习帐号 **deleg\_exec:Passw0rddeleg** 来获得对 Dc03 的访问

4：尝试使用 Impacket 实现一键 RBCD 的利用

5：在 S4U2Self 部分，我们用 rubeus 进行的利用，将 Dc02$ 的 TGT 变为 CIFS 的 TGS。请使用 **Asn1 Editor** ([https://github.com/PKISolutions/Asn1Editor.WPF](https://github.com/PKISolutions/Asn1Editor.WPF)) 手动修改 Dc02$ 的 TGT，实现同样的效果。

6：更新之前的对 .NET 应用一键执行任意 SQL 语句的脚本，修改为一键开启 xp\_cmdshell 并执行代码 (不要求有回显，但能实现是最好的)

7：使用 SqlRecon 进行 xp\_dirtree

8：使用 PowerUpSQL 执行 xp\_cmdshell 代码

9：尝试亲自编译 .NET DLL 并转换为 Hex 格式，实现 CLR RCE

10：从 Srv01 跨链接对 Srv02 进行远程代码执行，使用 OLE 自动化存储的方法。

11：从 Srv01 跨链接对 Srv02 进行远程代码执行，使用 CLR 的方法。

12：从 Srv01 跨越 2 层链接对 Web02 进行远程代码执行，使用任意 RCE 的方法

13：复现 ADCS 的利用

14：复现 GPO 的利用

15：作为一个小练习，请学员们完成如下表格，完成后可以当做自己的一个 Cheatsheet。

<table border="1" id="bkmrk-dacl-%E5%AF%B9%E8%B1%A1%E7%B1%BB%E5%9E%8B-%E5%88%A9%E7%94%A8%E6%80%9D%E8%B7%AF-%E5%85%B7%E4%BD%93%E6%AD%A5%E9%AA%A4-"><colgroup><col></col><col></col><col></col><col></col></colgroup><tbody><tr><td>DACL</td><td>对象类型</td><td>利用思路</td><td>具体步骤</td></tr><tr><td>WriteDacl</td><td>用户</td><td>  
</td><td>  
</td></tr><tr><td>  
</td><td>组</td><td>  
</td><td>  
</td></tr><tr><td>  
</td><td>计算机</td><td>  
</td><td>  
</td></tr><tr><td>GenericAll</td><td>用户</td><td>  
</td><td>  
</td></tr><tr><td>  
</td><td>组</td><td>  
</td><td>  
</td></tr><tr><td>  
</td><td>计算机</td><td>  
</td><td>  
</td></tr><tr><td>GenericWrite</td><td>用户</td><td>为目标用户设置 SPN 然后对其进行 Kerberoasting 攻击

或 为目标用户设置禁用预认证，然后对其进行 ASREPRoasting 攻击

</td><td>  
</td></tr><tr><td>  
</td><td>组</td><td>  
</td><td>  
</td></tr><tr><td>  
</td><td>计算机</td><td>  
</td><td>  
</td></tr><tr><td>ForceChangePassword</td><td>用户</td><td>  
</td><td>  
</td></tr><tr><td>WriteOwner</td><td>任意</td><td>  
</td><td>  
</td></tr><tr><td>AllExtendedRights</td><td>用户</td><td>  
</td><td>  
</td></tr><tr><td>  
</td><td>组</td><td>  
</td><td>  
</td></tr><tr><td>  
</td><td>计算机</td><td>  
</td><td> </td></tr></tbody></table>

16：请根据 **CVE-2021-42278** 的细节描述，使用 **PowerMad、PowerView、Rubeus** 等工具手动利用该漏洞 (即不使用一键利用工具或脚本)。