获取域控的方法有哪些

1. 信息收集与利用

SYSVOL

SYSVOL 是 Active Directory 中的一个共享文件夹,用于存储域内所有域控的公共文件,比如组策略(Group Policy)脚本。在渗透测试中,SYSVOL 是一个宝贵的信息源。攻击者可以通过访问 \\<domain_name>\SYSVOL\<domain_name>\Policies 路径,获取域内所有用户的组策略信息。这些文件中可能包含硬编码的密码、管理员账户信息或其他敏感配置,有时可以直接利用这些信息进行横向移动

SPN 扫描

SPN 是服务在 Kerberos 认证中的唯一标识。SPN 扫描(通常使用工具如 setspn -T <domain> -q */* 或 PowerView)可以发现域内所有注册了 SPN 的服务。许多服务(如 SQL Server、IIS 等)会使用域服务账户运行。如果这些服务账户的密码较弱,攻击者可以通过 Kerberoasting 攻击,请求这些服务的 TGS 票据,然后离线破解票据中的哈希,从而获取服务账户的明文密码

2. 凭证窃取与传递

凭证窃取

这是渗透测试中的核心技术。除了之前提到的 Mimikatz 和 LSASS 转储,还有其他多种方式:

  • 注册表和文件窃取: 许多应用程序会在注册表或文件中存储凭据
  • 浏览器凭据: 窃取浏览器中保存的密码

黄金票据与白银票据

这是 Kerberos 认证体系中的两种强大攻击方式,能让攻击者在域内获得几乎无限的权限

  • 黄金票据 (Golden Ticket): 利用域内 KDC 服务的哈希(通常是 krbtgt 账户的哈希),伪造一个任意用户的 Kerberos TGT 票据。这个票据可以让我们在整个域内伪装成任何用户(通常是域管理员),访问任何服务。只要 krbtgt 账户的哈希没有改变,这个票据就是“永恒”的,可以持久化控制整个域
  • 白银票据 (Silver Ticket): 利用特定服务账户的哈希(如 CIFSMSSQLSvc),伪造一个特定服务的 Kerberos TGS 票据。这个票据只能用于访问该特定服务,权限相对受限,但同样非常强大

哈希传递攻击和 NTLM Relay

  • NTLM Relay: 攻击者在域内中间人攻击中,截获用户的 NTLM 认证请求,并将其转发到另一个服务(如 SMB、LDAP、HTTP 等),从而以受害用户的身份在该服务上执行操作。如果被中继的用户是域管理员,攻击者可以在没有明文密码的情况下,以域管理员的身份在目标机器上创建新的账户或执行其他恶意操作

3. 特殊漏洞利用与攻击链

Kerberos 委派

Kerberos 委派允许一个服务以用户的身份去访问另一个服务。如果配置不当,攻击者可以利用非约束性委派或约束性委派中的漏洞,在特定条件下实现权限提升和横向移动。例如,如果一个服务配置了非约束性委派,攻击者可以劫持该服务,等待域管理员访问,从而获取其 TGT 票据,实现权限提升

MS14-068 (Kerberos 漏洞)

这是一个古老的但经典的 Kerberos 漏洞。攻击者可以利用该漏洞在未打补丁的域内普通主机上,伪造一个有效的 Kerberos 票据,并利用这个票据来提升权限,最终以域管理员身份获取域控权限。尽管现在大多数系统都已打补丁,但了解其原理对渗透测试仍然有价值

Zerologon 漏洞 (CVE-2020-1472)

这是一个非常严重的漏洞。它允许攻击者在未认证的情况下,通过 Netlogon 协议将域控的机器账户密码重置为空。一旦密码被重置,攻击者就可以以该账户(例如 DC01$)的身份完全接管域控。在渗透测试中,这是最直接和高效的获取域控权限的方法之一

CVE-2021-42278 和 CVE-2021-42287

这是两个密切相关的 Kerberos 漏洞,通常被称为“SAMAccountName 欺骗攻击

  • CVE-2021-42278: 允许攻击者通过修改一个非域控计算机账户的 sAMAccountName 属性,将其伪装成域控
  • CVE-2021-42287: 结合前一个漏洞,当域内服务发现一个机器账户的 sAMAccountName 属性与域控名称一致时,它会为该账户请求一个 TGT 票据。攻击者利用这个 TGT 票据,可以冒充域控,进一步获取 krbtgt 账户的哈希,最终实现黄金票据攻击
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:12:57

results matching ""

    No results matching ""