从基础加固到高级威胁防御
目录导读
- 域控权限面临的三大核心风险:理解攻击者如何利用域控权限实现横向移动
- 基础加固:从账号密码到策略配置:20余项必备安全设置详解
- 高级防护:检测隐藏威胁与应急响应:如何发现并阻断DCSync、黄金票据等攻击
- 常见问答:解答域控防护中最棘手的几个问题
域控权限面临的三大核心风险
域控制器(Domain Controller)是Windows域环境的核心“钥匙”,一旦被攻破,攻击者就能获取整个域的控制权,根据2024年多份安全报告,针对域控的攻击主要围绕以下三个层面:

凭证盗窃与滥用
攻击者通过Mimikatz、LaZagne等工具,从域控内存中提取NTLM哈希、Kerberos票据,一旦获取域管理员的凭证,即可伪造任何用户身份。
权限提升路径
利用“域管理员组”的默认成员(如Enterprise Admins、Schema Admins),或者通过“服务账户”的SPN(服务主体名称)进行Kerberoasting攻击,将普通用户权限提升至域控级别。
持久化与横向移动
攻击者植入后门(如Skeleton Key)、修改域组策略,或利用DCSync攻击(模拟域控复制权限)导出所有域用户哈希,即使修复了初始漏洞,攻击者仍能长期控制域环境。
基础加固:从账号密码到策略配置
最小权限原则:重新定义管理员账户
- 删除默认管理员滥用:禁用或重命名内置Administrator账户,创建独立的管理员账户并分配GUID而非SID。
- 实施“跳板机”策略:管理域控必须通过专用管理服务器(Jump Server),并启用RDP会话审计。
- 分离服务账户:避免使用域管理员账户运行服务,为SQL Server、IIS等服务创建托管服务账户(gMSA),自动轮换密码。
密码与认证保护
- 启用“密码保护”策略:设置15位以上的复杂密码,并强制每年轮换。
- 部署多因素认证(MFA):对域控远程管理强制使用硬件令牌或智能卡(Smart Card)。
- 禁用旧版协议:在域控上关闭NTLMv1,完全过渡到Kerberos认证,通过组策略设置“网络安全:限制NTLM:传入NTLM流量”为“拒绝所有”。
组策略与安全配置
- 限制本地管理员组成员:通过“受限制的组”策略,只保留必要账号。
- 审核关键操作:启用“域控审核策略”,记录“特权使用”、“账户管理”、“登录/注销”事件(事件ID 4624、4672、4720等)。
- 保护LSASS进程:在域控上启用“运行AsLocalSystem”和“保护进程”功能(通过组策略或注册表),防止Mimikatz从内存中窃取凭证。
高级防护:检测隐藏威胁与应急响应
监控与检测:让攻击无处遁形
- 部署SIEM系统:将域控日志转发至Splunk、Azure Sentinel,配置检测规则,
- 检测DCSync攻击:异常高频率的
DRSR复制请求(事件ID 4662)。 - 检测黄金票据:Kerberos TGT票据的创建时间异常(事件ID 4768,与域控时钟偏差超过5分钟)。
- 检测DCSync攻击:异常高频率的
- 使用协议分析工具:通过Netwitness或Wireshark分析Kerberos流量,识别伪造的PAC(特权属性证书)或错误的加密类型。
主动防御:阻断横向移动
- 实施“特权访问工作站”(PAW):管理员只能通过PAW登录域控,PAW需独立于普通网络,且禁用USB、复制粘贴功能。
- 域控物理与逻辑隔离:将域控服务器放置在独立VLAN中,通过防火墙限制仅允许特定管理IP访问(如jump server的IP)。
- 启用“受保护的用户”组:将该组用户强制使用Kerberos加密(AES256),并禁止对明文密码的任何缓存。
应急响应:快速恢复并止损
- 创建“天窗”预案:预先备份域控系统状态(包含AD数据库、SYSVOL),当检测到入侵时,立即从备份恢复而非修复。
- 重置全域管理员密码:使用
Set-ADAccountPassword -Identity “Administrator” -Reset -NewPassword (ConvertTo-SecureString “新密码” -AsPlainText -Force)脚本批量操作。 - 清除隐藏后门:使用
Get-ADObject -Filter * -Properties * | ? {$_.ObjectClass -eq “user” -and $_.SamAccountName -like “*$”}查找隐藏账户;删除Skeleton Key(需重启域控并重新同步所有DC)。
常见问答
问:我的域控已经部署了杀毒软件,为什么还被攻破?
答:杀毒软件(AV)是基于签名的,攻击者使用内存加载或无文件技术(如PowerShell Empire)可绕过AV,域控防护需“纵深防御”:除了AV,还需启用AMSI(反恶意软件扫描接口),配合EDR(端点检测与响应)工具分析行为异常,例如检测到非标准端口(如3389)的远程连接尝试。
问:如何防止内部员工泄露域管理员密码?
答:假设内部人员会无意中暴露密码,采取以下措施:
- 实施“JIT(Just-In-Time)权限”:通过PAM(特权访问管理)工具(如CyberArk、Azure AD Privileged Identity Management),让管理员仅能在需要时临时获取域管理员权限,任务结束自动撤销。
- 开启“密码泄漏检测”:连接Have I Been Pwned API或Azure AD Password Protection,阻止使用已知公共泄露的密码。
- 对管理员进行“社交工程演练”:定期发送测试钓鱼邮件,强化安全意识。
问:域控受攻击后,重装系统是不是最快的方法?
答:直接重装会丢失AD数据,且攻击者可能已经篡改了某些架构(如Schema),正确流程是:
- 立即隔离受感染的域控,停止所有复制同步。
- 从一周前的干净备份(包含系统状态)恢复该域控。
- 使用工具(如Semperis、DSA)扫描AD中所有异常对象,恢复后强制重置所有用户密码。
- 重建一个全新的域控,将旧域控降级并销毁,注意:仅依赖系统还原可能留下顽固后门(如注册表中的隐藏计划任务)。
问:小企业资源有限,如何在不增加成本的情况下保护域控?
答:免费但高效的措施包括:
- 启用Windows自带的“攻击性安全检测”(如Windows Defender Firewall行为监控)。
- 使用官方工具“Microsoft LAPS”(本地管理员密码解决方案),自动随机化本地管理员密码。
- 定期运行“Ping Castle”或“BloodHound”工具,扫描域环境中的权限提升路径。
- 强制使用PowerShell脚本日志记录(Script Block Logging),审计所有命令执行。