首页 > 其他分享 >AD域安全攻防实践(附攻防矩阵图)

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

时间:2023-03-19 13:07:30浏览次数:43  
标签:攻防 凭证 AD 攻击 矩阵 域控 攻击者 权限

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

01、攻击篇

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

(2)权限提升

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

image.png

(3)凭证获取

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

image.png

(4)横向移动

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

(5)权限维持

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

(6)痕迹清除

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

03、结束语

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

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

标签:攻防,凭证,AD,攻击,矩阵,域控,攻击者,权限
From: https://blog.51cto.com/bypass/6123099

相关文章

  • Thread Interrupt详解
    线程interruptpublicvoidinterrupt()publicstaticbooleaninterrupted()publicbooleanisInterrupted()interrupt如下方法的调用会使得线程进入阻塞状态,而......
  • OpenCASCADE-曲面求交
    OpenCASCADE-曲面求交[email protected]:曲面求交是几何造型内核最为重要也最为复杂的问题之一,求交算法的质量(稳定、准确、快速)直接影响到几何内核的稳定性和实用程......
  • 关于AWS-的ELB-Elastic Load Balancing-的说明及不同类型的简单的对比
    关于AWS-的ELB,全称ElasticLoadBalancing,或者也可以理解成ElasticLoadBalancer,在EC2服务的界面中可以找到关于ELB的文档可以参考 https://docs.aws.amazon.com/elasti......
  • adb常用命令总结
    1前言​ADB(AndroidDebugBridge)即Android调试桥,采用监听SocketTCP端口的方式通讯。连接手机有2种方式:有线连接、无线连接。​(1)有线连接​使用数据线......
  • Python中矩阵运算(基于numpy包)
    1乘法在数组中,a*a计算对应元素相乘(矩阵点乘);在矩阵中,A*A计算矩阵乘法np.multiply()计算对应元素相乘(矩阵点乘)np.dot()计算矩阵乘法importnumpyasnpa=np.array(......
  • python中矩阵切片维数微秒变化
    1前言使用切片访问矩阵的部分数据(特别是一行或一列数据)时,通常会出现切片维数怎么在瞎变化,以致于不得不用reshape()强制改变维数。在深度学习中,网络对矩阵维数的要求是非......
  • python中矩阵合并、拼接、组合
    1numpy数组1.1append()importnumpyasnpa=np.array([[1,3],[5,7]])b=np.array([[2,4],[6,8]])c=np.append(a,b)d=np.append(a,b,axis=0)e=np.append(a,b,axi......
  • 【Android 逆向】【攻防世界】RememberOther
    1.apk安装到手机,提示输入用户名注册码2.jadx打开apkpublicbooleancheckSN(StringuserName,Stringsn){try{if(userName.length()=......
  • 【Android 逆向】【攻防世界】easyjni
    1.apk安装到手机,提示需要输入flag2.jadx打开apkpublicclassMainActivityextendsc{static{System.loadLibrary("native");}/*JADXIN......
  • Gradle 的安装与配置 + eclipse 里安装 Gradle 插件
    一、安装Gradle:1.下载gradle二进制安装包地址:https://gradle.org/releases/     如下图,下载二进制包。2.解压安装包到本地如:D:\develop_soft\gradle-8.0.2-bin......