在Active Directory中伪造欺骗和识别欺骗详细分析
字数 1523 2025-08-27 12:33:31
Active Directory 欺骗与反欺骗技术详解
1. 欺骗技术概述
欺骗是一种心理学游戏,在网络安全领域,蓝队可以通过提供攻击者感兴趣的服务、特权或信息来检测和误导攻击者。在Active Directory (AD)环境中,有效的欺骗策略可以帮助防御者:
- 在攻击的早期阶段(如枚举阶段)检测攻击者
- 误导攻击者走向预设的陷阱
- 收集攻击者的行为模式和工具信息
1.1 欺骗的核心原则
有效的AD欺骗应具备以下属性:
- 足够诱人:对象应包含攻击者感兴趣的特性
- 易于配置:部署过程不应过于复杂
- 无需端点变更:不应要求修改客户端配置
- 避免误报:不应触发正常管理活动
2. AD欺骗技术实现
2.1 基础审计配置
要实现AD对象访问的审计,需要配置以下组策略设置:
Windows设置 > 安全设置 > 高级审计策略配置 > DS Access > 审核目录服务访问
这将在访问AD对象时生成安全事件4662。审计需要在对象级别通过修改SACL(系统访问控制列表)来实现。
2.2 Deploy-Deception工具
Deploy-Deception是一个PowerShell模块,用于自动化部署各种类型的AD诱饵对象。
安装模块
Import-Module C:\Deploy-Deception\Deploy-Deception.psd1
3. 诱饵对象类型及部署
3.1 用户对象诱饵
攻击者感兴趣的用户属性包括:
- 密码永不过期
- 受信任的委派
- 拥有SPN的用户
- 描述中包含密码
- 高权限组成员
- 对其他对象有特殊ACL权限的用户
基本用户诱饵创建
Create-DecoyUser -UserFirstName user -UserLastName manager -Password Pass@123 |
Deploy-UserDeception -UserFlag PasswordNeverExpires -Verbose
针对特定属性的审计
为避免过多误报,可以只审计不常见的属性(如x500uniqueIdentifier):
Deploy-UserDeception -DecoySamAccountName usermanager -RemoveAuditing $true -Verbose
Deploy-UserDeception -DecoySamAccountName usermanager -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
包含SPN的用户诱饵
Create-DecoyUser -UserFirstName user -UserLastName manager-spn -Password Pass@123 |
Deploy-UserDeception -SPN 'MSSQLSvc/dc' -GUID f3a64788-5306-11d1-a9c5-0000f80367c1 -Verbose
描述中包含密码的诱饵
Create-DecoyUser -UserFirstName new -UserLastName da -Password Pass@123 |
Deploy-UserDeception -PasswordInDescription 'The new password is Pass@123' -Verbose
3.2 特权用户诱饵
高权限用户诱饵需要特殊保护措施,防止被真正利用:
- 登录工作站限制:设置为不存在的计算机
- 拒绝登录:完全禁止该用户登录
创建受保护的特权用户
# 域管理员成员,禁止登录
Create-DecoyUser -UserFirstName dec -UserLastName da -Password Pass@123 |
Deploy-PrivilegedUserDeception -Technique DomainAdminsMemebership -Protection DenyLogon -Right ReadControl -Verbose
# DCSync权限,限制登录工作站
Create-DecoyUser -UserFirstName dec -UserLastName da -Password Pass@123 |
Deploy-PrivilegedUserDeception -Technique DCSyncRights -Protection LogonWorkStation revert-webserver1 -Right ReadControl -Verbose
模拟真实登录记录
Create-DecoyUser -UserFirstName dec -UserLastName da -Password Pass@123 |
Deploy-PrivilegedUserDeception -Technique DomainAdminsMemebership -Protection LogonWorkStation -LogonWorkStation revert-dc -CreateLogon -Verbose
3.3 计算机对象诱饵
攻击者感兴趣的计算机属性:
- 较旧的操作系统
- 有趣的SPN
- 委派设置
- 特权组成员
创建计算机诱饵
# 无约束委派计算机
Create-DecoyComputer -ComputerName revert-web -Verbose |
Deploy-ComputerDeception -PropertyFlag TrustedForDelegation -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
# 修改现有计算机对象
Deploy-ComputerDeception -DecoyComputerName comp1 -PropertyFlag TrustedForDelegation -Right ReadControl -Verbose
3.4 组对象诱饵
攻击者感兴趣的组属性:
- 包含"admin"等关键词的名称
- 包含高特权用户
- 本身是高特权组的成员
创建组诱饵
# 创建分层诱饵
Create-DecoyUser -UserFirstName dns -UserLastName manager -Password Pass@123 |
Deploy-UserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
Create-DecoyGroup -GroupName 'Forest Admins' -Verbose |
Deploy-GroupDeception -AddMembers dnsmanager -AddToGroup dnsadmins -GUID bc0ac240-79a9-11d0-9020-00c04fc2d4cf -Verbose
3.5 ACL诱饵
创建具有特殊ACL权限的用户关系:
# 创建主从用户
Create-DecoyUser -UserFirstName master -UserLastName user -Password Pass@123 |
Deploy-UserDeception -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
Create-DecoyUser -UserFirstName slave -UserLastName user -Password Pass@123 |
Deploy-UserDeception -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
# 设置slaveuser对masteruser的GenericAll权限
Deploy-SlaveDeception -SlaveSamAccountName slaveuser -DecoySamAccountName masteruser -Verbose
4. 红队反欺骗技术
4.1 识别诱饵对象的特征
- objectSID异常:不符合DomainSID-RID格式
- 登录相关属性:
- lastLogon/lastlogontimestamp为极早日期(如1600年)
- logonCount为0或极低
- 创建时间:较新创建但从未登录
- 密码错误计数:badPwdCount为0
- 属性过多:包含过多非常用属性
4.2 避免触发欺骗的措施
- 避免盲目追求最低权限提升路径
- 谨慎使用自动化枚举工具
- 将可疑对象与已知合法对象(如RID 500的管理员)比较
- 使用多种工具交叉验证对象信息
5. 蓝队反识别技术
- 使用真实对象:而非专门创建的诱饵对象
- 模拟真实用户行为:
- 创建登录记录
- 设置合理的logonCount
- 模拟密码错误尝试
- 属性一致性:避免设置过多不合理的属性组合
6. 监控与响应
6.1 关键事件ID
- 4662:对象访问审计事件
- 4768:Kerberos认证失败(用于检测受限账户的使用尝试)
6.2 组策略配置
启用Kerberos认证失败审计:
配置 > Windows设置 > 安全设置 > 高级审计策略配置 > 审核策略 > 帐户登录 > 审核Kerberos身份验证服务 > 失败
7. 最佳实践
- 分层部署:结合多种诱饵类型创建防御深度
- 定期更新:轮换诱饵对象属性
- 行为分析:结合诱饵触发与其他异常行为检测
- 风险评估:高权限诱饵必须配置适当保护
- 日志整合:将诱饵触发纳入SIEM工作流
通过精心设计的AD欺骗策略,防御者可以在攻击生命周期的早期阶段检测到入侵尝试,同时收集有价值的威胁情报,为整体安全态势提供主动防御能力。