Skip to main content

第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) 手动修改 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 等工具手动利用该漏洞 (即不使用一键利用工具或脚本)。