LAPS

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

基本信息

本地管理员密码解决方案(LAPS)是一种用于管理系统的工具,其中管理员密码唯一的、随机的并且经常更改,应用于加入域的计算机。 这些密码安全地存储在Active Directory中,只有通过访问控制列表(ACL)授予权限的用户才能访问。 通过使用Kerberos版本5高级加密标准(AES),确保了从客户端到服务器的密码传输的安全性。

在域的计算机对象中,LAPS的实施会添加两个新属性:ms-mcs-AdmPwdms-mcs-AdmPwdExpirationTime。 这些属性分别存储明文管理员密码其过期时间

检查是否已激活

LAPS密码访问

您可以从 \\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol 下载原始的LAPS策略,然后使用 GPRegistryPolicyParser 包中的 Parse-PolFile 来将此文件转换为可读格式。

此外,如果安装在我们可以访问的计算机上,可以使用 本机LAPS PowerShell cmdlet

PowerView 也可以用来找出谁可以读取密码并读取它

LAPSToolkit

LAPSToolkit 有助于枚举具有多个功能的 LAPS。 其中一个功能是解析具有 LAPS 启用的所有计算机的 ExtendedRights。这将显示专门被授予读取 LAPS 密码权限的 ,通常是受保护组中的用户。 一个已将计算机加入域的 帐户 将在该主机上获得 All Extended Rights,这个权限赋予了该 帐户 读取密码的能力。枚举可能显示一个用户帐户可以在主机上读取 LAPS 密码。这可以帮助我们 针对可以读取 LAPS 密码的特定 AD 用户

使用Crackmapexec转储LAPS密码

如果没有访问powershell的权限,您可以通过LDAP远程滥用此特权。

LAPS Persistence

Expiration Date

一旦获得管理员权限,可以通过将到期日期设置为未来来获得密码并阻止计算机更新密码。

后门

LAPS的原始源代码可以在这里找到,因此可以在代码中(例如在Main/AdmPwd.PS/Main.cs中的Get-AdmPwdPassword方法内)放置一个后门,以某种方式外泄新密码或将其存储在某处

然后,只需编译新的AdmPwd.PS.dll并将其上传到C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll中的机器(并更改修改时间)。

参考资料

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)

最后更新于