# 第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。
DACL对象类型利用思路具体步骤
WriteDacl用户
计算机
GenericAll用户
计算机
GenericWrite用户为目标用户设置 SPN 然后对其进行 Kerberoasting 攻击 或 为目标用户设置禁用预认证,然后对其进行 ASREPRoasting 攻击
计算机
ForceChangePassword用户
WriteOwner任意
AllExtendedRights用户
计算机
16:请根据 **CVE-2021-42278** 的细节描述,使用 **PowerMad、PowerView、Rubeus** 等工具手动利用该漏洞 (即不使用一键利用工具或脚本)。