23 Active Directory攻击与防护策略解析

引言  


Active Directory(AD)是企业IT环境中用户认证、访问控制和身份管理的核心。因其掌握整个网络的"钥匙",AD常成为攻击者的首要目标。  

从凭证转储到隐蔽侦察,攻击者通过多种手段控制AD。无论您是网络安全分析师、红队成员还是系统管理员,理解这些攻击手法对防御基础设施至关重要。  

本文将详解十大常见Active Directory攻击技术——运作原理、危害性及防御措施。  

✅ Active Directory为何成为攻击目标?  
Active Directory是微软的目录服务,用于Windows网络中的用户认证、权限和资源管理。一旦控制AD,攻击者可:  
- 横向渗透内网  
- 提权至域管理员  
- 访问机密文件与系统  
- 维持长期驻留  

十大Active Directory攻击手法详解  


1. Kerberoasting  
攻击者通过请求SPN(服务主体名称)的服务票据并离线破解服务账户密码,且不触发警报。  
工具:Rubeus  
防护:使用高强度服务账户密码并监控票据请求。  

实例
攻击者通过PowerShell脚本请求所有SPN账户的TGS票据,获取到SQL服务账户MSSQL_SVC的加密票据后,使用Hashcat在GPU集群上离线爆破,6小时后破解出弱密码$QL_Admin!2023,进而控制数据库服务器。

Rubeus.exe kerberoast /outfile:hashes.txt

2. 密码喷洒(Password Spraying)  
攻击者用少量通用密码尝试大量账户,规避账户锁定机制。  
工具:CrackMapExec、Hydra  
防护:启用多因素认证(MFA)及严格密码策略。  

实例
攻击者使用公司名称Company2025!作为通用密码,针对500个AD账户发起认证尝试,最终突破3个未启用MFA的VPN账户,其中包括一名财务部员工。
典型攻击日志特征
同一IP在短时间内对多个账户使用相同密码登录失败。

3. LLMNR/NBT-NS投毒  
劫持本地网络名称解析以窃取NTLM哈希。攻击者伪造名称解析响应。  
工具:Responder  
防护:通过组策略禁用LLMNR和NBT-NS。  

实例
内网用户误输入共享路径\\fileshare01(正确名为\\fileshare1),攻击者通过Responder工具伪造响应,诱骗用户发送NTLMv2哈希,随后用该哈希通过PtH攻击入侵文件服务器。
数据包特征
LLMNR协议响应来自非真实文件服务器的IP。

4. 哈希传递(Pass-the-Hash, PtH)  
直接使用NTLM哈希而非明文密码进行身份验证。  
工具:Mimikatz  
防护:启用Windows Credential Guard并设置唯一本地管理员密码。  

实例
攻击者从已攻陷的IT运维工作站内存中提取本地管理员哈希aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0,通过Mimikatz直接登录域控服务器。
防御关键
启用Credential Guard后,Mimikatz无法提取内存中的明文凭据。

5. 默认凭证攻击  
利用设备/服务的默认账号密码(如admin:admin)入侵。  
防护:部署系统前修改所有默认凭证。  

实例
新部署的NAS设备未修改默认凭证admin:admin123,攻击者通过Shodan搜索暴露在公网的该设备,上传WebShell后进一步渗透内网。
常见目标
路由器、摄像头、IoT设备的管理界面。

6. 硬编码凭证  
开发者将凭证嵌入脚本或代码库导致泄露。  
风险:常见于DevOps流程  
防护:使用密钥管理工具(如HashiCorp Vault)。

实例
某公司GitHub代码仓库中泄露了包含数据库连接字符串的配置文件:

<connectionString>Server=DB01;User=sa;Password=P@ssw0rd123</connectionString>

 

7. 权限提升  
攻击者利用漏洞或配置错误获取更高域权限。  
方法:令牌模拟、DACL配置错误  
防护:定期审计、强化组策略。  

实例
攻击者发现某服务账户对域控的ACL配置错误(允许修改组策略),通过PowerShell添加自己的账户到Domain Admins组:

Add-ADGroupMember "Domain Admins" -Members "Hacker_Account"

8. LDAP侦察  
通过LDAP查询获取用户/组/权限信息(无需高权限)。  
工具:ldapsearch、PowerView  
防护:限制普通用户读取权限并监控LDAP查询。  

实例
攻击者使用低权限账户执行LDAP查询,获取所有高权限账户列表:

ldapsearch -h dc01 -x -b "dc=example,dc=com" "(memberOf=CN=Domain Admins,CN=Users)"

9. BloodHound侦察  
利用图论分析AD中的权限路径,快速定位域管理员提权路径。  
工具:BloodHound  
防护:清理冗余权限,使用Azure ATP检测。  

实例
BloodHound分析显示,开发部门的DEV_Test服务账户可通过嵌套组关系间接获得域控写入权限。攻击者利用此路径在15分钟内完成提权。
可视化证据
BloodHound生成的权限继承图中存在DEV_Test → Domain Admins的红色攻击路径。

10. NTDS.dit提取  
从域控制器提取存储所有域凭证的NTDS.dit文件离线破解。  
工具:SecretsDump、Mimikatz  
防护:限制域控制器物理/远程访问,监控卷影拷贝操作。  

实例
攻击者通过漏洞获得域控的SYSTEM权限后,创建卷影副本提取C:\Windows\NTDS\ntds.dit文件,结合注册表中的SYSTEM密钥,使用secretsdump.py破解出全部域用户哈希。
检测指标
域控服务器出现异常的vssadmin.exe进程创建记录。

Active Directory安全防护策略  

威胁类型 防护措施   
凭证窃取强密码+MFA+Credential Guard  
侦察活动限制匿名LDAP访问+流量监控  
权限提升  最小权限原则+定期权限审计
持久化攻击登录监控+EDR+行为分析

攻击常用工具  


- Mimikatz:凭证转储与令牌操纵  
- Rubeus:Kerberos票据攻击  
- Responder:LLMNR/NBT-NS欺骗  
- BloodHound:AD关系图谱分析  
- Impacket/SecretsDump:NTDS.dit提取  

常见问题解答(FAQ)  

Q:什么是Active Directory攻击?  
A:指利用微软AD身份管理系统的漏洞获取未授权访问、提权或横向移动的行为。  

Q:为何AD常被黑客攻击?  
A:AD控制关键系统和数据的访问权限,一旦失守意味着整个IT基础设施沦陷。  

Q:如何防御哈希传递(PtH)攻击?  
A:启用Credential Guard并确保本地管理员密码唯一。  

Q:BloodHound对攻击者有何价值?  
A:通过可视化AD权限关系图,快速发现隐蔽的提权路径。  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/91828.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/91828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【内容规范】关于标题中【】标记的使用说明

【内容规范】关于标题中【】标记的使用说明 在信息爆炸的时代&#xff0c;如何让内容更易识别、更具条理性&#xff0c;成为内容创作者和平台运营者共同关注的问题。标题中【】标记的使用&#xff0c;正是在这种需求下形成的一种实用规范。 这种规范的核心作用在于建立统一的内…

centos 9 安装docker教程

拉取相关依赖 dnf -y install dnf-plugins-core设置阿里云镜像库 dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装docker dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plu…

关闭Jetbrains Mono字体连写、连字功能

所谓的关闭Jetbrains Mono字体连写&#xff0c;其实就是更换为Jetbrains Mono NL字体二者的区别就是符号间距的大小不同&#xff0c;也就是有无连字功能。 下图以Visutal Studio为例&#xff1a;

漫花软件集合分享

漫花软件集合分享的各种apk 1、磁盘漫画【推荐】 2、你搜 3、皮皮喵 4、泼辣漫画 5、趣漫画 6、异次元&图源 7、漫 8、再漫画X 9、章鱼漫画 10、芝士漫画&图源 通过网盘分享的文件&#xff1a;漫画软件 链接: https://pan.baidu.com/s/1dlGl50MNzzVOdTP38_…

DB-GPT 0.7.3 版本更新:支持Qwen3 Embedding和Reranker模型、支持知识库自定义检索策略等

V0.7.3版本主要新增、增强了以下核心特性 &#x1f340; 支持Qwen3 Embedding和Reranker模型 &#x1f340; 支持知识库自定义检索策略&#xff1a;语义检索、全文检索、树形检索、混合检索等 &#x1f340; 新增GaussDB数据源支持 &#x1f340; 支持GLM-4.1V多模态模型 …

Django常见模型字段

AutoField:数据库中的自动增长类型&#xff0c;相当于ID自动增长的IntegerField类型字段&#xff0c;对应mysql的Int类型 BooleanField:真/假的布尔类型字段&#xff0c;对应mysql的Tinyint类型 CharField:字符类型字段&#xff0c;对应mysql的varChar类型 DateField:日期字段&…

前端列表封面图如何自不同图片比例不变形

设置图片宽度100%时&#xff0c;若不设置高度&#xff0c;可能导致高度不足导致空白区域。如何实现图片高度自适应填充&#xff0c;避免空白区域&#xff1f;解决方式&#xff1a;加上height&#xff1a;100%&#xff1b;object-fit:cover&#xff1b;就可以始终剪切铺满&#…

记录一次Spring Cloud Gateway配置的跨域处理:解决 ‘Access-Control-Allow-Origin‘ 头包含多个值的问题

在微服务架构中&#xff0c;前端与后端分离已经成为一种常见模式。这种模式下&#xff0c;前后端通常会部署在不同的域名或端口上&#xff0c;这就导致了跨域资源共享&#xff08;CORS&#xff09;问题。最近&#xff0c;在我们的项目中&#xff0c;我们遇到了这样一个问题&…

扫雷游戏完整代码

扫雷游戏完整代码test.cgame.cgame.h

vue打包后如何在本地运行?

1.打包前的配置打开vue.config.js配置如图所示内容//打包配置文件 module.exports {assetsDir: static,parallel: false,publicPath: ./, };这段代码是Vue.js项目的打包配置文件&#xff0c;主要功能包括&#xff1a; - assetsDir: static - 设置静态资源文件夹名为static - p…

Python特性工厂函数详解:优雅管理属性验证

在Python中&#xff0c;特性(property)是一种强大的工具&#xff0c;它允许我们在访问属性时执行自定义逻辑。本文将深入分析一个名为quantity的特性工厂函数&#xff0c;它用于确保属性值必须为正数。 特性工厂函数的概念 特性工厂函数是一种创建并返回property对象的函数&…

Ubuntu系统VScode实现opencv(c++)鼠标操作与响应

在之前的创作中心-CSDN滚动条调整图片亮度-CSDN博客创作中心-CSDN中,我们已经了解了滚动条实现亮度以及对比度调节,为了实现对图像中感兴趣区域&#xff08;ROI, Region of Interest&#xff09;的交互式选取&#xff0c;本文利用 OpenCV 提供的鼠标事件回调机制&#xff0c;设…

True or False? 基于 BERT 学生数学问题误解检测

True or False? 基于 BERT 学生数学问题误解检测 代码详见&#xff1a;https://github.com/xiaozhou-alt/Student_Math_Misconception 文章目录True or False? 基于 BERT 学生数学问题误解检测一、项目介绍二、文件夹结构三、数据集介绍四、BERT 模型介绍五、项目实现1. 数据…

小程序基于vue+nodejs的私人定做订制订单发布与对应商品出售平台

文章目录项目介绍主要技术与实现手段具体实现截图关于我本系统开发思路研究思路、方法和步骤java类核心代码部分展示系统测试本系统技术可行性分析源码获取详细视频演示或者查看其他版本&#xff1a;文章底部获取博主联系方式&#xff01;项目介绍主要技术与实现手段 uni-app框…

为什么要有动态内存分配?

文章目录1.为什么要有动态内存分配2.malloc和free2.1 malloc2.2 free3.calloc和realloc3.1 calloc3.2 realloc4.常见的动态内存的错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对⾮动态开辟内存使⽤free释放4.4 使⽤free释放⼀块动态开辟内存的⼀部分4.5 对…

docker hub 拉取镜像失败报Get “https://registry-1.docker.io/v2/“: net/http: request canceled while waiting

自己记录一把&#xff0c;给兄弟们避坑 1.上问题报错代码 [rootlocalhost ~]# docker pull hello-world Using default tag: latestError response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connectio…

Hive数仓部署/分层/ETL脚本基础指南

部署Hive数仓及分层基础指南 部署和构建一个Hive数仓涉及多个步骤&#xff0c;包括设置Hadoop集群、配置Hive、设计数据仓库架构以及实现ETL&#xff08;Extract, Transform, Load&#xff09;过程。下面是一个详细的指南&#xff0c;帮助你完成这些步骤。 1. 设置Hadoop集群 首…

深入 Go 底层原理(六):垃圾回收(GC)

1. 引言Go 语言自带垃圾回收&#xff08;Garbage Collection, GC&#xff09;&#xff0c;让开发者从手动管理内存的繁重任务中解脱出来。Go 的 GC 以其低延迟和并发性而闻名&#xff0c;其目标是在不长时间暂停&#xff08;Stop The World, STW&#xff09;整个程序的情况下完…

专网内网IP攻击防御:从应急响应到架构加固

内网IP攻击防御&#xff1a;从应急响应到架构加固内网IP攻击的隐蔽性远超外网威胁&#xff0c;其本质是信任边界内的权限滥用。应对需遵循"识别-隔离-溯源-加固"四步法则&#xff0c;兼顾应急止损与长效防御。应急处置&#xff1a;30分钟响应窗口1. 流量阻断&#xf…

Git、Gitee、GitHub、GitLab完整讲解:从基础到进阶

第一部分&#xff1a;Git是什么&#xff1f; &#x1f4da;比喻&#xff1a;Git就像是一本"时光日记本" ✅ 每一段代码的改动&#xff0c;Git都会帮你记录下来&#xff0c;像是在写日记。 ✅ 如果出现问题或者想查看之前的版本&#xff0c;Git可以带你"穿越回…