用PowerShell编写的函数,利用PowerView来审计和攻击已部署微软本地管理员密码解决方案(LAPS)的Active Directory环境。包括查找由系统管理员专门委派的组、查找拥有“所有扩展权限”可查看密码的用户,以及查看所有启用了LAPS的计算机。
如有任何问题或性能改进建议,请提交问题或评论。此项目使用了旧版PowerView中的代码。
有关LAPS工作原理的更多信息,请参阅 https://adsecurity.org/?p=1790。
显示所有已启用LAPS的计算机、密码过期时间,以及用户有权访问时的密码
搜索所有OU,查找哪些AD组可以读取ms-Mcs-AdmPwd属性
解析每个启用了LAPS的AD计算机的扩展权限,查找哪些组具有读取访问权限,以及是否有任何用户拥有“所有扩展权限”。系统管理员可能没有意识到拥有“所有扩展权限”的用户可以查看密码,并且可能比委派组中的用户保护更弱。例如,将计算机添加到域的用户会自动获得“所有扩展权限”。由于此函数会解析每个AD计算机的ACL,因此在大型域中可能会花费很长时间。
特别感谢Sean Metcalf(@pyrotek3)、Will Schroeder(@harmj0y)、Karl Fosaaen(@kfosaaen)、Matt Graeber(@mattifestation)在LAPS、AD权限和攻击性PowerShell方面的研究和代码贡献。