了解Active Directory攻击路径,保障企业安全
字数 1416 2025-08-22 12:22:59
Active Directory攻击路径分析与防御指南
0X01 Active Directory概述
Active Directory (AD)是Windows网络环境中负责在所有网络节点上分派和施行安全策略的核心组件。它使得用户能够在网络环境中访问多种多样的资源。
Azure Active Directory (Azure AD)是基于云计算的Active Directory版本,扩展了传统AD的边界,为企业提供跨越云端与本地应用的身份即服务解决方案(Identity as a Service, IDaaS)。
AD在企业中的关键作用:
- 员工认证
- 访问控制
- 身份管理
- 确保系统正常运作和企业业务连续性
0X02 Active Directory安全问题根源
1. 过度权限问题
- AD中有许多不同用户组,各自拥有权限
- 某些用户被授权过多权限
- 攻击者可利用过度权限进行攻击
2. 配置不当
- AD配置过程复杂
- 错误配置导致安全性降低
- 例如:错误配置的防火墙规则暴露AD服务
3. 漏洞未及时修补
- AD更新包含安全漏洞修补
- 不及时更新会使AD暴露于攻击风险
0X03 常见Active Directory攻击路径
1. 密码重置攻击
- 攻击者利用配置不当获取密码重置权限
- 通过社交工程(如钓鱼)获取用户访问权限
- 修改密码控制账户,威胁整个IT架构
2. GPO策略攻击
- 攻击者更改GPO策略的gPCFileSysPath指向恶意策略
- 影响域管理员组用户
- 域中任何用户都可能获得域管理员权限
3. DCSync攻击
- 通过钓鱼邮件入侵企业网络
- 利用未修复漏洞执行恶意代码
- 使用DCSync技术获取AD认证信息
- 模仿合法用户访问网络
- 将自己添加到AD帮助台组(具有更改密码权限)
- 提升权限,更改管理员账户密码
- 为其他用户添加恶意登录脚本
0X04 Active Directory应急响应措施
常用AD查询命令
基础信息查询:
dsquery ou DC=<DOMAIN>,DC=<DOMAIN EXTENSION> # 列出所有OUs
netdom query WORKSTATION # 列出域中的工作站
netdom query SERVER # 列出域中的服务器
netdom query DC # 列出域控制器
netdom query OU # 列出指定用户可以创建的机器对象
netdom query PDC # 列出主域控制器
netdom query TRUST # 列出域信任
netdom query FSMO # 列出当前FSMO所有者
计算机和用户查询:
dsquery COMPUTER "OU=servers,DC=<DOMAIN NAME>,DC=<DOMAIN EXTENSION>" -o rdn -limit 0 > C:\machines.txt # 列出AD中所有计算机
dsquery user domainroot -inactive 3 # 列出超过三周不活跃的用户账户
时间戳查询:
dsquery * -filter "(whenCreated>=20201022083730.0Z)" # 查找在UTC日期创建的内容
dsquery * -filter "((whenCreated>=20201022083730.0Z)&(objectClass=user))"
ldifde -d ou=<OU NAME>,dC=<DOMAIN NAME>,dc=<DOMAIN EXTENSION> -l whencreated,whenchanged -p onelevel -r "(ObjectCategory=user)" -f <OUTPUT FILENAME>
PowerShell查询:
import-module activedirectory
Get-QADUser -CreatedAfter (Get.Date).AddDays(-90)
Get-ADUser -Filter * -Properties whenCreated | Where-Object { $_.whenCreated -ge ((Get.Date).AddDays(-90)).Date }
GPO组策略应急响应
基本操作:
gpupdate /force # 获取并强制执行新政策
gpupdate /sync
用户隔离:
dsadd OU <QUARANTINE BAD OU> # 创建隔离OU
Move-ADObject 'CN=<USER NAME>,CN=<OLD USER GROUP>,DC=<OLD DOMAIN>,DC=<OLD EXTENSION>' -TargetPath 'OU=<NEW USER GROUP>,DC=<OLD DOMAIN>,DC=<OLD EXTENSION>'
dsmove "CN=<USER NAME>,OU=<OLD USER OU>,DC=<OLD DOMAIN>,DC=<OLD EXTENSION>" -newparent OU=<NEW USER GROUP>,DC=<OLD DOMAIN>,DC=<OLD EXTENSION>
安全加固:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v DisallowRun /t REG_DWORD /d "00000001" /f # 不允许运行.exe文件
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /f /v fDenyTSConnections /t REG_DWORD /d 1 # 禁用远程桌面
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v restrictanonymous /t REG_DWORD /d 1 /f # 限制匿名访问
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v restrictanonymoussam /t REG_DWORD /d 1 /f # 不允许匿名枚举SAM账户
reg add "HKCU\Control Panel\Accessibility\StickyKeys" /v Flags /t REG_SZ /d 506 /f # 禁用粘滞键
reg add "HKCU\Control Panel\Accessibility\ToggleKeys" /v Flags /t REG_SZ /d 58 /f # 禁用切换键
检测特征
- Rubeus和kekeo的till都是20370913024805Z
- kekeo/mimikatz nonce是12381973
- rubeus nonce是1818848256
0X05 攻击路径管理(APM)
攻击路径管理(APM)是企业从攻击者角度洞察防御弱点的过程,通过了解潜在攻击路径构建更强大的安全防御。
APM功能:
- 持续发现、映射和风险评估AD攻击路径
- 消除、缓解和管理攻击路径
- 实现有效的分层管理和最小权限
- 减少AD提供的攻击面
推荐工具:FalconHound
- 用Go语言编写,跨平台支持
- 梳理杂乱日志,提高AD防御能力
- 可与SIEM系统(Sentinel/Splunk)集成
- 检测用户到高价值资产的路径变化
0X06 防御建议
-
权限管理:
- 实施最小权限原则
- 定期审查用户权限分配
-
配置管理:
- 遵循AD安全配置基线
- 定期审计AD配置
-
补丁管理:
- 及时安装AD相关安全补丁
- 特别注意KB2962486补丁(防止密码存储在groups.xml)
-
监控与检测:
- 实施APM策略
- 监控异常活动(如DCSync操作)
-
应急准备:
- 制定AD安全事件响应计划
- 定期演练AD攻击场景响应
-
云环境集成:
- 统一管理本地AD和Azure AD安全策略
- 监控跨环境攻击路径