本文大纲如下:基本概念NTDS.ditntds.dit为ad的数据库(C:\Windows\NTDS),内容有域用户、域组、域用户hash等信息,域控上的ntds.dit只有可以登录到域控的用户(如域管用户 -9c07-11d1-f79f-00c04fc2dcd2 'DS-Replication-Get-Changes-In-Filtered-Set' = 89e95b76-444d-4c62-991a-0facbeda640c 4. runas配合mimiakatz远程DCSync在域内的主机上使用Runas命令打开一个域管理员权限的shell,或者直接使用域管账户登录目标机器;runas /noprofile /user:zero.com 4. 结尾AD攻防自成体系,Dump域用户Hash只是冰山一角,通过深入剖析各种Dump手法和原理,加深对AD安全的理解及系统日志的熟悉,更好的在安全运营监控/应急响应中快速定位攻击行为,欢迎师傅们拍砖交流~
本文大纲如下: 基本概念 NTDS.dit ntds.dit为ad的数据库(C:\Windows\NTDS),内容有域用户、域组、域用户hash等信息,域控上的ntds.dit只有可以登录到域控的用户 -9c07-11d1-f79f-00c04fc2dcd2 'DS-Replication-Get-Changes-In-Filtered-Set' = 89e95b76-444d-4c62-991a- 4. runas配合mimiakatz远程DCSync 在域内的主机上使用Runas命令打开一个域管理员权限的shell,或者直接使用域管账户登录目标机器; runas /noprofile /user 4. 结尾 AD攻防自成体系,Dump域用户Hash只是冰山一角,通过深入剖析各种Dump手法和原理,加深对AD安全的理解及系统日志的熟悉,更好的在安全运营监控/应急响应中快速定位攻击行为,欢迎师傅们拍砖交流
一、域DNS信息收集 在域内获取DNS记录分为两种情况:一种是拥有了域管理员权限进行后渗透时,获取DNS记录便于下一步寻找目标;另一种是进入内网后,因为权限较低,需要获取DNS记录以寻找下一步的渗透方向进行权限提升 /user:Administrator /domain:[domain] /ntlm:[ntlm hash]命令对本地进行哈希传递攻击(PTH),需要使用具有本地管理员权限并通过UAC验证,如图1-4所示 4) 连接LDAP,使用过滤器&(objectClass = DnsZone)(!(DC=*arpa))(!(DC=RootDNS-Servers))列出DomainDnsZone中可用的区域。 Windows Server 2008 R2(以及更新版本)提供了多个AD PowerShell cmdlet,这极大简化了使用ADSI(Active Directory Service Interface 使用AD PowerShell cmdlet前,需要在Windows客户端上安装RSAT,并确保已安装Active Directory PowerShell模块。
2)基本使用命令:参数说明:|参数|说明||---|---||user|域内用户名||password|域用户密码||domain|域名||carrier|双网卡计算机IP(中继主机)||target| /192.168.72.139||Win7(域内)|GOD.ORG|192.168.52.133/192.168.72.132||Win2008(域内)|GOD.ORG|192.168.72.138|5.2 在不指定-tp参数的情况下,CornerShot默认探测445、3389、5986、5985、135端口,输出结果如图1-4所示。! IMG331
Adfind的主要特点包括:轻量便携:单文件可执行程序,无需安装,可直接在目标主机上运行功能全面:支持查询用户、组、计算机、OU、GPO、信任关系、ACL等几乎所有AD对象灵活过滤:支持LDAP过滤语法 ,可精确筛选所需信息输出可控:支持自定义输出属性,并可导出为CSV等格式便于后续分析在域渗透测试中,Adfind常用于信息收集阶段,帮助测试人员快速了解域内结构、识别高价值目标(如域管理员、服务账户)、 例如,查询域内所有用户对象,执行如下命令,结果如图1-4所示。 <palign="center">图1-4指定查询过滤条件
2.4AttrList(属性列表)通过指定该参数可以确定查询结果显示哪些属性。如不指定,则默认显示所有属性。 ="center">图1-8查询域控版本3.2查询域DNS信息执行如下命令可以查询域内所有计算机对象的DNS主机名,结果如图1-9所示:<palign="center">图1-9查询域DNS信息侦查和利用工具,在安装ActiveDirectoryDomainServices(ADDS)后,ActiveDirectoryWebServices(ADWS)将自动开启,因此SharpADWS在所有域环境中都可以使用 该缓存包含当前域内每个账户对象名称与其objectSid的映射,执行命令及结果如图1-2所示:
证书服务(ADCS)数据||\--dnsdump|转储AD集成DNS数据|1.3.1构建缓存SOAPHound可以生成一个缓存文件,其中包含有关所有域对象的基本信息,例如安全标识符(SID)、识别名称( certdump收集方法)所必需的,因为它用于通过相关访问控制条目(ACE)构建对象之间的信任关系,执行SOAPHound.exe--buildcache-cc:\temp\cache.txt命令及结果如图1-4所示
一、域分析之AdExplorerAdExplorer(ActiveDirectory资源管理器)是高级ActiveDirectory(AD)查看器和编辑器。 AD资源管理器还能够保存AD数据库的快照,以便进行离线查看和比较。加载保存的快照时,可以像浏览实时数据库一样导航和探索它。 如果有一个AD数据库的两个快照,则可以使用AD资源管理器的比较功能来查看它们之间更改了哪些对象、属性和安全权限。 下载地址:https://download.sysinternals.com/files/AdExplorer.zip二、连接AD下载AdExplorer后,会弹出连接对话框,我们对应输入域控的IP,以及域用户的账号密码后即可进行使用 >图1-3进行信息查询例如我们想要查询域内所有计算机即可使用如下查询条件objectCategory=computer,查询结果如图1-4所示
1.00图1-1backup用户所在的组:::2.2验证对域控文件的访问能力(读/写)使用backup用户列举域控C:盘目录,验证文件访问能力,如图1-2所示。 可以看到,当backup用户位于域控本地BackupOperators组内时,通常对域控文件具备读取能力;但如图1-3所示,并不一定具备写入权限。:::center! 用户不具备写入权限:::
2.3检查并获取SeBackupPrivilege(管理员PowerShell)在当前会话执行whoami/priv检查是否具备SeBackupPrivilege(如图1-4) 1.00图1-4当前会话的特权::::::center!1.00图1-5以管理员身份运行PowerShell:::
:::center!
执行BackupOperatorToDA(如图1-13):
3.将导出的文件复制到本地(如图1-14):
4.对导出的文件进行离线解密/提取Hash(解密流程前文已说明,此处不再展开
在一些中大型企业中,员工数量较多,运维人员为了方便管理每个员工的计算机,可能会为所有计算机的账号设置统一的口令,以对它们进行统一配置,并且将它们批量加入域。 在2014年5月之前,也就是MS14-025的补丁发布之前,域允许管理员通过组策略直接修改本地管理员密码,但是随着补丁发布,这种方式就不被允许了。随后微软推出了LAPS解决方案。 我们可以使用 LAPSUI 直接查看域内计算机的本地密码,如图 1-1 所示。 使用 ldapsearch 获取域内 ms-MCS-AdmPwd 属性值,执行命令如下(如图 1-2): ms-MCS-AdmPwd=*)" ms-MCS-AdmPwd 图 1-2 使用 ldapsearch 获取 LAPS 凭据当然也可以直接在域控计算机中执行命令来进行查询
域管理员组。企业管理员组。域控制器计算机账号。接下来演示如何通过Mimikatz的DCSync 能获取全部域用户哈希凭据。 .\ com用户,该用户为域用户而非域管理员,但在域内拥有的权限包括"复制目录更改"与"复制目录更改所有项",具体如图 1-2 所示。 图1-2 用户在域内权限设置2、利用该用户执行 Mimikatz 的 DCSync 功能以获取指定域用户哈希。 希,执行结果如图 1-4 所示。 图 1-4 使用 Mimikatz 的 DCSync 功能获取全部域用户哈希3.
也就是说,假设域内有个用户 test.com/test1,其密码为 password@456,而客户端拥有的用户并不在域内,用户名为 test1,密码为 password@456,那么在 AS_REQ 环节中,利用 test.com/test1 去请求 KDC,与利用不在域内的 test1 去请求 KDC 的效果是一样的。 想要利用该手段必须满足 3 个条件:域内用户拥有 DCSync 权限;域外用户和域内用户的账号及密码一致;将域外主机的 DNS 指向域控制器,并通过 VPN 接入域内。 下面将会演示如何在域外利用 DCSync 功能获取域用户哈希。确定域外用户 test1 的密码和域内用户 test.com/test1 的密码是一致的。 将域控制器 IP 地址写入 Internet 地址中,如图 1-4 所示。图 1-4 设置 Internet 地址4.
一、简介BloodHound是一款开源的AD域分析工具,它以图与线的形式,将域内用户、计算机、组、会话、ACL以及域内所有相关用户、组、计算机、登录信息、访问控制策略之间的关系只管展现,帮助红队便捷地分析域内情况 ,快速在域内提升自己的权限。 蓝队成员可使用BloodHound对己方网络系统进行更好的安全检测以保证域的安全性。BloodHound通过在域内导出相关信息,再将数据采集后,导入本地安装好的Neo4j数据库中,使域内信息可视化。 SharpHound默认收集ActiveDirectory安全组成员资格、域信任、AD对象的可滥用权限、OU树结构、组策略链接、最相关的AD对象属性、域加入的Windows系统的本地组和用户会话等信息。 通过信息展示我们可以了解到相应的连接数据库地址、用户以及域内的会话数目、关联数目、访问控制表数目以及Azure关联数目等信息,并且可以看到域内的用户数目、组数目、计算机数目等。
1.NTDS.DIT文件简介NTDS.DIT文件是域控制器中的数据库文件,该文件作为AD的数据库,存储了AD的所有数据,包括域内的用户对象、组和组成员身份等信息,以及域内所有用户的凭据信息。 NTDS.DIT文件与前文所讲的SAM文件类似,不同点在于SAM文件中只存放本机的用户哈希凭据,而NTDS.DIT文件中存放了所有域用户的哈希凭据。 图1-2从卷影副本中复制文件图1-3成功获取文件继续执行命令vssadmindeleteshadows/shadow={3f4b36c7-7b13-4eb7-9f37-9fa472faa2fb}删除刚刚创建的卷影副本 ,其中3f4b36c7-7b13-4eb7-9f37-9fa472faa2fb为成功创建卷影副本后所返回的卷影副本ID,执行结果如图1-4所示。 利用该工具可以维护和管理AD的数据库,清理不常用的服务器对象,整理AD数据文件下线碎片等。
一、Group3r简介Group3r是C#编写的组策略检测工具,用于Pentester和红队成员快速枚举AD组策略中的相关设置,并在其中识别可利用的错误配置的工具,它通过LDAP连接域控解析域SYSVOL |通过标准输出结果||---------------|----------------||\-fgroup3r.log|通过文件输出结果|三、使用方式Grou3r使用十分简单,只需要执行如下命令即可对域内错误配置进行检测 ,执行命令及结果如图1-1所示
SCCM 介绍SCCM(System Center Configuration Manager)用于部署更新、管理工作站及服务器上的软件,并向各类设备打补丁(如主域控、Exchange 服务器、员工笔记本等 4.
1概述在ActiveDirectory域环境中,任何经过身份验证的用户或计算机都可以通过域控制器上的LDAP服务获取大量域信息。攻击者常在AD域渗透的侦察阶段利用LDAP进行信息收集。 如图1-3所示,数据库中包含25,138个用户、4,367台计算机、2,298个组、464,353条ACL、525,628个关系,以及从不同路径到达域管理员的攻击路径。! 该工具可收集以下信息:域用户、组、计算机账户域策略(密码要求及锁定策略)域信任关系按组分类的域用户按操作系统排序的域计算机3.1执行信息收集在域外环境下,使用已知的普通域用户凭据即可连接域控制器。 执行ldapdomaindump.py后将生成多个JSON、HTML文件,如图1-4所示。! IMG326<palign="center">图1-4在域外使用ldapdomaindump自动获取LDAP信息
3.2查看收集结果生成的HTML文件可直接在浏览器中查看。组策略可分为本地组策略和域组策略。 3)依次选择“计算机配置”→“ Windows 设置”→“脚本(启动 / 关机)”,然后选择 “启动”选项,如图 1-4 所示。 4)单击“脚本(启动 / 关机)”界面中的“属性”链接,如图 1-5 所示。 5)在这里可以设置开机时启动的脚本,如图 1-6 所示。 6)单击“显示文件”按钮(见图 1-7)就会打开一个目录,可以向该目录投放后门木马,实现权限维持,如图 1-8所示 2 域组策略收集 当想批量管理域内计算机时,域管理员就可以通过组策略管理来统一对域内用户进行管 接下来详细阐述域内组策略内容。
一、 域信息收集 Active Directory是一个可以通过域控制器来管理连接在同一逻辑网络中的一组计算机和用户系统。 Windows域包含以下组件: LDAP:可以通过LDAP访问的数据库,并且该数据库实现了符合【MS-DRSR】及【MS-ADTS】规范的几种RPC。 但是即使存在域环境,我们拿到的第一台计算机也不一定在域内,需要通过多种方式确定域控制器的位置,进而控制整个域。 域控制器一定会运行LDAP服务,默认形况下有4个端口开放,具体的端口协议配置信息如表所示,这些配置信息可以协助我们确认该计算机是不是域控制器,并且DNS服务一般是安装在域控上的,如图1-3所示 SAMR获取域控制器地址 使用net group "domain controllers" /domain命令在域内通过SAMR获取域控制器地址,如图1-4所示