AD域安全攻防实践(附攻防矩阵图)

news/2024/12/29 21:02:31/

以域控为基础架构,通过域控实现对用户和计算机资源的统一管理,带来便利的同时也成为了最受攻击者重点攻击的集权系统。

01、攻击篇

针对域控的攻击技术,在Windows通用攻击技术的基础上自成一套技术体系,将AD域攻防分为信息收集、权限提升、凭证窃取、横向移动、权限维持等攻击阶段,把域环境下众多且繁杂的攻击行为映射到ATT&CK,梳理成一个AD域攻防矩阵图。

b519dbce694da70adeaf8bdd115cabe1.png

(1)域内信息收集

当攻击者获得内网某台域内服务器的权限,就会以此为起始攻击点,尽可能地去收集域的信息,例如:攻击者会先在进行本机信息收集,找到域控服务器地址,收集域内用户和管理员的信息列表,使用BloodHound、PVEFindADUser、PsLoggedOn等工具进一步定位域管理员,以找到域控的最佳攻击路径。

(2)域内权限提升

攻击者在内网横向过程中,可以通过入侵域管理员所登录的服务器,利用漏洞获取服务器system权限,找到域管理的账号、进程或是身份验证令牌,从而获取域管理员权限。

在域控服务器未及时更新补丁的情况下,攻击者可以通过域内权限提升漏洞直接攻击域控,将域内普通用户权限提升至域管权限。如MS14-068、NetLogon特权提升漏洞(CVE-2020-1472)、CVE-2021-42278 & CVE-2021-42287、CVE-2022-26963、CVE-2021-1675等,一旦被攻击者利用成功,可直接获得域管理员权限。

(3)域内凭证获取

攻击者在没有域用户凭据时,往往会使用暴力破解、密码喷洒等手段进行域用户凭证的获取。

攻击者在获得服务器权限后,可以通过LSASS窃取凭证、DCSync、ntds.dit文件提取等方式收集目标主机上的相关凭证,以便通过用户凭证进行横向移动。

(4)域内横向移动

攻击者通过收集域内用户的凭证信息在内网中横向移动,不断地扩大资产范围,并不断地重复信息收集的步骤,直至攻击者获得关键目标。

横向移动攻击手法包括:IPC连接、At/Schtasks计划任务、PsExec、WMI、WMIRM、哈希传递攻击(Pass the hash)、票据传递攻击(Pass the ticket)、密钥传递攻击(Pass the key)等。

(5)域内权限维持

当攻击者在获取域控权限后,会通过一定的持久化操作以维持域管权限,从而达到长期控制域控的目的。

域内权限维持的手法包括黄金票据、白银票据、Skeleton Key(万能密码)、DSRM域后门、注入SSP、SID History后门、AdminSDHolder、GPO组策略后门、DCShadow、约束委派、基于资源的约束委派 、基于ACL的后门等。

02、防护篇

针对AD域安全防护产品,商业的如Microsoft Defender for Identity、Tenable.ad、ITDR-AD,开源的WatchAD,都是可以选择的方向。面对众多的AD域攻击行为,我们也可以选择自建检测策略,通过分析AD域控的日志,对攻击行为进行实时检测。

将AD域日志引入日志分析平台,通过模拟域攻击行为产生攻击事件,以攻击日志提取关键特征,构建安全规则,形成检测策略。

自建检测策略很难全部覆盖,这很大程度上就取决于自身对AD域攻防的理解。为此我们需要把精力投入到那些攻击者最常用的域攻击技术上,比如BloodHound信息收集、域管账号创建、LSASS凭证窃取、哈希传递攻击、黄金票据攻击等。

(1)信息收集

攻击者在收集一定信息后,通过BloodHound定位域管理员以找到最佳攻击路径。通过监测5145事件,可识别到可疑的Sharphound域信息探测行为。

2117dba24302ead453ebeeaf5f149b71.png

(2)权限提升

攻击者会通过各种方式来获取域控权限,最直接的方式就是添加一个域管理员账号。通过监测4728事件,关注敏感用户组特权账号添加情况。

8b5a56c63f262d1ee2cb618c19c94928.png

(3)凭证获取

窃取凭证最常用的一种方式就是使用mimikatz获取LSASS内存中保存的用户凭证。通过监测4663事件,从而发现尝试LSASS进程窃取凭证的操作。

de7a7da7bba43446050bd033ce7a2632.png

(4)横向移动

在内网横向过程中,哈希传递攻击是最常用的手法,但因为和正常的访问行为非常类似,检测是比较困难的。通过监测4624事件,设置白名单机制,从正常的访问行为中,找出异常登录行为。

5402e081822fc31d41b6f7bd346262e8.png

(5)权限维持

攻击者常用黄金票据来做域控权限维持,利用krbtgt的hash来伪造TGT,就可以随意伪造域内管理员用户。通过监测4624事件,利用帐户与SID的对应关系,可以找到伪造的用户,从而识别可疑的黄金票据攻击。

35db71520c52e238248ba22c0a0deab5.png

(6)痕迹清除

为避免入侵行为被发现,攻击者总是会通过各种方式来清除痕迹,最简单粗暴的就是清除安全日志。通过监测1102事件,可以监控安全日志被清除的操作。

8af51e6e2aca94c18446c4436aa5bc79.png

03、结束语

基于AD域控的日志分析,将AD域攻防矩阵图与安全检测策略进行对应,自建安全检测策略30+,覆盖常见的域攻击手法,并持续地扩展和优化检测策略,从而保障AD域的安全。

我想,这个探索的过程,最大的收获莫过于对安全日志的分析和攻击场景构建的深刻理解。


http://www.ppmy.cn/news/32724.html

相关文章

Keil MDK6要来了,将嵌入式软件开发水平带到新高度,支持跨平台(2023-03-11)

注:这个是MDK6,不是MDK5 AC6,属于下一代MDK视频版: https://www.bilibili.com/video/BV16s4y157WF Keil MDK6要来了,将嵌入式软件开发水平带到新高度,支持跨平台一年一度的全球顶级嵌入式会展Embedded Wor…

Category In Objective-C

Category In Objective-C 来源 Objective-C 2.0中新增的语言特性 可以用来做什么 ? 扩展已有的类 (仅限于为已有类增加方法) ; 分割类实现 ; 官方原文: Distribute the implementation of your own classes into separate source files—for example, you could group the…

关于类型转换

隐式转换先看个例子int a {500}; unsigned b {1000}; std::cout<<a-b;这里的输出结果并不为-500。因为最后输出结果的类型自动转换成了unsigned&#xff0c;unsigned是正整数型类型转换顺序表(由高到低)long doubledoublefloatunsigned long long long longunsigned long…

Java的jar包打包成exe应用

将springboot项目使用maven打出的jar包&#xff0c;打成windows平台下exe应用程序包&#xff08;自带jre环境&#xff09;。 工具&#xff1a;1、exe4j 2、Inno Setup 工具放到网盘&#xff0c;链接&#xff1a;https://pan.baidu.com/s/1ZHX8P7u-7GBxaC6uaIC8Ag 提取码&#x…

如何成为一名优秀的网络安全工程师?

前言 这是我的建议如何成为网络安全工程师&#xff0c;你应该按照下面顺序学习。 简要说明 第一件事你应该学习如何编程&#xff0c;我建议首先学python&#xff0c;然后是java。 &#xff08;非必须&#xff09;接下来学习一些算法和数据结构是很有帮助的&#xff0c;它将…

【面试题】闭包是什么?this 到底指向谁?

一通百通&#xff0c;其实函数执行上下文、作用域链、闭包、this、箭头函数是相互关联的&#xff0c;他们的特性并不是孤立的&#xff0c;而是相通的。因为内部函数可以访问外层函数的变量&#xff0c;所以才有了闭包的现象。箭头函数内没有 this 和 arguments&#xff0c;所以…

2023年网络安全最应该看的书籍,弯道超车,拒绝看烂书

学习的方法有很多种&#xff0c;看书就是一种不错的方法&#xff0c;但为什么总有人说&#xff1a;“看书是学不会技术的”。 其实就是书籍没选对&#xff0c;看的书不好&#xff0c;你学不下去是很正常的。 一本好书其实不亚于一套好的视频教程&#xff0c;尤其是经典的好书…

java基础:深入理解java中的String

下面我们来深入的挖一挖java中的String 类 1. String 类 想要了解一个类&#xff0c;最好的办法就是看这个类的实现源代码&#xff0c;来看一下String类的源码&#xff1a; public final class Stringimplements java.io.Serializable, Comparable<String>, CharSeque…