LAPS攻击链路
前言:LAPS攻击链路,这边学习下然后编写作为工具中的一个信息搜集点,最后感谢大师兄的笔记
参考文章:https://www.microsoft.com/en-us/download/details.aspx?id=46899
参考文章:https://skewwg.github.io/2020/11/26/zu-ce-lue-zhi-laps/
参考文章:https://github.com/Group3r/Group3r
LAPS介绍
LAPS允许您在加入域的情况下管理本地管理员密码。这些密码集中存储在Active Directory中,并且仅限使用ACL的授权用户使用。
这个功能实现的是让加域的客户端本地administrator账号密码随机化(每一台都不一样的复杂随机密码),并且随机化密码存储在AD上ms-Mcs-AdmPwd,这个ms-Mcs-AdmPwd属性可以查询到,避免攻击者猜出一台就等于猜出一片,从客户端到服务器的传输过程采用Kerberos v5和AES保护。
这边根据"随机化密码存储在AD上可以查询到"这段话其实就可以知道,如果我们拿到了可以读取ms-Mcs-AdmPwd属性的活动目录组的话,那么就可以拿下被部署的LAPS的所有的域机器的本地组管理员的账户,从而接管这些机器进行利用。
LAPS环境搭建
LAPS工具:https://www.microsoft.com/en-us/download/details.aspx?id=46899
这边下载上面的LAPS工具来进行搭建,这里的话直接下载LAPS.x64.msi,如下图所示
对于"AdmPwd GPO Extension"选项可以不进行勾选,被管理的机器的话需要,管理机器不需要安装(目前我是在域控机器上,也就是管理机器)
接着这边通过powershell来AdmPwdADSchema架构,执行下面的两条命令,如下图所示
ms-Mcs-AdmPwd:密码为明文
ms-Mcs-AdmPwdExpirationTime:密码到期时
PS C:\Users\Administrator> Import-Module AdmPwd.PS
PS C:\Users\Administrator> Update-AdmPwdADSchema
Operation DistinguishedName Status
--------- ----------------- ------
AddSchemaAttribute cn=ms-Mcs-AdmPwdExpirationTime,CN=Schema,CN=Configuration,DC=z... Success
AddSchemaAttribute cn=ms-Mcs-AdmPwd,CN=Schema,CN=Configuration,DC=zpchcbd,DC=com Success
ModifySchemaClass cn=computer,CN=Schema,CN=Configuration,DC=zpchcbd,DC=com Success
这样通过adexplorer来查询可以看到多出了对应的两个Attribute属性,如下图所示
这边创建一个IT Department的OU组来作为实验
接着通过Set-AdmPwdComputerSelfPermission -OrgUnit "IT Department"
来对该组进行设置,这条命令的作用是让在该ou组中的计算机将被允许读取他们自己的本地管理员账户的密码
这边同样可以通过查看命令来进行查看,如下图所示可以看到对该IT Department组有权限的一个是自身机器,还有个就是Domain Admins组中的用户
Find-AdmPwdExtendedRights -Identity "IT Department"
接着为这个IT Department组创建GPO组策略,这个组策略是为了准备等会下发安装客户端的LAPS包和设置本地组管理员的随机密码
先给该LAPS组策略开启本地组的随机密码
攻击链路
利用工具:https://github.com/Group3r/Group3r
这边可以直接通过Group3r来进行该链路是否可行,如下图所示
信息搜集代码编写
X