这篇文章给大家聊聊关于ATT & CK框架:攻击者最常用的TOP7攻击技术及其检测策略,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
Mitre公司 VS Red Canary Top 20攻击技术
Mitre ATTCK 整合分析了400 多份公共威胁情报报告,并利用ATTCK 技术映射了技术报告的内容。 MITRE ATTCK 整理的前20 名攻击技术是:
通过分析过去五年来其客户环境中发生的10,000 多起恶意事件,Red Canary 确定了威胁事件利用每种ATTCK 技术的频率,如下图所示:
从图中我们可以看到Red Canary分析的Top 20攻击技术是:
对比分析Mitre ATTCK 和Red Canary 整理的Top 20 技术,我们可以发现有7 项技术重叠,分别是PowerShell、脚本执行、命令行界面、注册表Run Key/startup 文件夹、伪装、混淆文件或信息、凭证转储。或许,这应该成为防守者制定防守计划的起点。
下表显示了这七种技术在Red Canary 和Mitre ATTCK Top 20 攻击技术中的排名顺序和出现频率。
我们希望读者能够通过上表中的数据进一步了解攻击者使用这七种技术的频率以及它们在攻击者中的流行程度。下面,我们对这七项技术进行详细分析。
攻击者最常用的TOP7攻击技术
1.“Powershell”受到攻击者青睐
PowerShell 是Windows 操作系统中包含的功能强大的交互式命令行界面和脚本环境。攻击者可以使用PowerShell 执行许多操作,包括发现信息和执行代码,例如用于运行可执行文件的Start-Process cmdlet 和用于在本地或远程计算机上运行命令的Invoke-Command cmdlet。
PowerShell 几乎默认包含在每个Windows 操作系统中,提供对Windows API 的完全访问,包括为开发人员和系统管理员提供的数百个功能,但也容易受到攻击者的攻击。利用它。与许多核心平台实用程序一样,PowerShell 库很容易获得,因此易于实现,能够从任何进程公开完整的PowerShell 功能。
那么如何测试呢?过程监控是最常见、最有效的技术。进程监控使防御者能够确定PowerShell 在其环境中的使用情况。进程命令行监控更加有效,可以深入了解哪些PowerShell 实例正在尝试通过编码命令传递有效负载,否则会混淆其原始意图。除了PowerShell 脚本的默认主机之外,脚本还可以在加载PowerShell 框架库的其他进程中执行。要查看此行为,请观察模块负载并执行分析以提供额外的上下文来支持检测。
2.“脚本执行”不可忽视
攻击者可以使用脚本来帮助操作并执行多个其他需要手动完成的操作。脚本执行对于加速操作任务和减少访问关键资源所需的时间很有用。某些脚本语言可以通过直接在API级别与操作系统交互而无需调用其他程序来绕过进程监控机制。 Windows 的常见脚本语言包括VBScript 和PowerShell,但它们也可以采用命令行批处理脚本的形式。
安全工具的快速发展和人工分析使得攻击者很难使用公开的攻击负载或直接从磁盘获取相关负载。因此,攻击者需要寻找替代方法来执行有效负载并执行其他恶意活动,这是脚本相关技术日益流行的主要原因。此外,该技术利用的运行时环境、库和可执行文件是每个现代计算平台的核心组件,不能轻易禁用,并且并不总是受到密切监控。
在Windows 上,Windows 脚本宿主(WSH) 最简单的检测用例基于进程祖先。这包括监视从shell 命令(cmd.exe、powershell.exe)、Office 应用程序、Web 浏览器和Web 服务处理程序生成的wscript.exe 或cscript.exe。还建议监视从非标准位置执行的脚本,例如用户可写路径,包括appdatalocal*、其他类似路径和临时目录。
此外,监控进程元数据、进程命令行和文件修改都是非常重要的策略。检测与托管脚本(例如vbscript.dll)相关的二进制文件的可疑模块加载的检测系统也是值得采取的策略。
当然,最彻底的方法是禁用Windows脚本宿主,或者可以强制对脚本进行签名,以确保只执行经过批准的脚本。 AppLocker 等工具还提供与脚本执行相关的附加约束。这些是预防策略,但也可用于检测目的,因为尝试执行未经授权的脚本应该会生成更高质量的警报信号。
3.“命令行界面”也是黑客的最爱
命令行界面提供了一种与计算机系统交互的方式,并且是许多类型的操作系统平台的共同特征。 Windows系统上的命令行界面是cmd,它可以用来执行许多任务,包括执行其他软件。命令行界面可以通过远程桌面应用程序、反弹shell 会话等在本地或远程进行交互。执行的命令以命令行界面进程的当前权限级别运行,除非该命令进行了更改执行权限的进程调用(例如作为计划任务)。
自从命令行界面开发以来,已经有大量成熟的工具可用。此外,命令行界面是一个非常轻量级的应用程序,打开时不会对硬件造成负担,因此打开速度更快。所有在基于GUI 的应用程序上完成的任务都可以通过命令行界面更快地打开。
4、“注册表运行键/启动文件夹”是实现持久化的关键动作
在注册表的“运行键”或启动文件夹中添加条目将导致程序在用户登录时运行。这些程序将在用户的上下文中执行,并具有与帐户相同的权限级别。
注册表运行键和启动文件夹一直是各类攻击者实现持久化的重要目标。根据Microsoft 文档,对注册表运行密钥的支持至少可以追溯到Windows 95。这种技术作为一种持久性机制已得到充分记录,并且易于实现,这在一定程度上解释了它在攻击者中广泛使用的原因。攻击者只需要用户级权限以及写入注册表或将有效负载拖放到启动文件夹中的能力。
虽然实施起来相对简单,但非常有效。随着时间的推移,该技术已经从引用可执行有效负载发展到加载动态库并利用regsvr32 和脚本执行等其他技术。对于这种攻击技术,可以在持久性机制生命周期的三个不同点上有效地实现检测:安装时、睡眠时和触发时。
在安装过程中检测运行键和启动文件夹项目需要监视对特定注册表和文件系统路径的更改。可以通过平台文档或通过引用报告这些配置的存在的某些实用程序来枚举这些路径。此外,可以成功检查任何已知与这些路径结合使用的文件类型(例如LNK)。要检测已安装和休眠的持久性,您可以检查同一注册表和文件系统路径的内容是否有可疑条目。通过创建基线并定期监控与基线的偏差来减少调查工作。
当然,坚持永远不会单独发生,它始终是达到目的的一种手段。因此,监控哪些进程预计会涉及某些变更以及尚未观察到的进程之间的关系也是非常有效的。
5.“伪装”是绕过防御的最佳方法
伪装是为了逃避防御和观察而操纵或滥用合法或恶意可执行文件的名称或位置。攻击者使用伪装作为绕过防御技术或欺骗的手段。攻击者使用此技术使恶意可执行文件和软件看起来合法或有意,从而破坏机器和人工分析。伪装可以通过多种方式实现,从简单地重命名可执行文件(从而使它们看起来更像正常的系统进程)到更复杂的方法(例如命令行欺骗)。攻击者普遍使用伪装,因为它满足了绕过防御技术和人工分析的简单需求,并且相对容易实现。
检测伪装技术的一种策略是利用二进制元数据,例如创建或签名文件时的原始文件名。例如,如果您正在查找wscript.exe,则应该查找具有该名称的二进制文件,以及具有原始文件名WScript 的任何二进制文件。
尽管可以检测到名称或元数据为wscript.exe 的任何二进制文件,但根据文件的签名、哈希值或其他标识符,它不受信任。因此,可以建立文件位置的基线来补充上述方法。如果我们了解给定的二进制文件是通过哪个路径执行的,那么当我们在其他地方看到此标志时,我们就可以触发警报。
6.“混淆的文件或信息”可以逃避基于签名的检测系统
攻击者可能会尝试加密、编码或以其他方式混淆系统上或传输中的可执行文件或文件的内容,从而使其难以发现或分析。这是一种常见行为,可以跨不同平台和网络用来绕过防御。
许多网络安全检测产品(防病毒软件、IDS等)被设计为基于恶意软件签名进行操作。一旦发现在野外使用的特定恶意软件变体,就会提取该恶意软件的独特特征,并用于在未来的感染中检测和识别它。通过网络边界或下载到主机的每条数据都会与这些签名进行比较。如果找到匹配项,将采取措施(删除、隔离、警报等)。
混淆的目的是绕过这些基于签名的检测系统,并使恶意软件样本的取证分析变得更加困难。如果签名所基于的数据或代码以某种方式被混淆,则检测引擎在查找纯文本签名时无法找到匹配项。
有许多混淆算法,例如压缩、编码、加密、隐写术等。恶意软件用户可以隐藏各种不同类型的文件和数据。例如,恶意软件可能被设计为使用混淆来隐藏其恶意代码。或者,恶意软件变体可能会对其配置文件进行加密,从而使恶意软件分析人员更难理解其功能。
如果您想要检测混淆的文件或消息,则很难检测文件混淆,除非混淆过程留下了可以检测到的独特工件。如果无法检测,则可以检测执行混淆文件的恶意活动(例如,用于在文件系统上写入、读取或修改文件的方法)。标记并分析包含混淆指示符和已知可疑语法(例如未解释的转义字符,如'''^''' 和'''''''')的命令。反混淆工具可用于检测文件/有效负载中的这些指标。
此外,还可以在网络上检测用于初始访问的有效负载中使用了哪些混淆方法。您还可以使用网络入侵检测系统和电子邮件网关过滤来识别压缩和加密的附件和脚本。某些电子邮件附件呈现系统可以打开压缩和加密的附件。通过网站从加密连接传递的有效负载需要加密的网络流量检查。
7.“凭证转储”允许黑客在内网上为所欲为
凭证转储是从操作系统和软件获取帐户登录和密码信息的过程,通常以散列或明文密码的形式。一旦凭证被转储,攻击者就可以使用凭证横向移动并访问受限信息。
凭据转储是攻击者访问目标组织中的用户帐户和其他资源的常见要求。攻击者还利用转储的凭据来实现权限升级和横向移动。凭据对于攻击者来说非常重要,因此在许多情况下,获取用户名和密码不仅是达到目的的手段,而且是攻击的整个目标。因此,凭证成为各种犯罪论坛上出售的商品,并且存在跟踪公共凭证转储的网站。除了转储凭证以供出售和初始访问之外,凭证也是漏洞利用后的重要组成部分。一旦攻击者获得对环境的初始访问权限,通常需要某种级别的特权访问才能实现活动中的进一步目标。虽然提高权限级别的方法有很多,但最有效、最可靠的方法之一是使用具有特定权限级别的人员的合法凭据。
可以以纯文本格式从内存中提取凭证。监视对特定进程的访问可以为防御者提供一种检测凭证转储的方法。这种检测方法很容易产生大量误报事件,因为操作系统的内置函数也可以访问这些进程。防御者应该通过关注潜在问题进程之间的交互来减少这种噪音。
检测凭证转储是否存在的另一种方法是分析常用工具并使用其他数据源作为相关点来开发基于留下的指纹的检测策略。注册表项和文件修改是一个很好的起点。
用户评论
这篇文章写的真的专业!我之前一直在学习网络安全,ATT&CK 框架一直是我的重点关注。这篇博客详细介绍了7种攻击技术的原理和可利用的漏洞,很有启发性,也让我对防御策略有了更深的理解。
有5位网友表示赞同!
终于找到了解释 ATT&CK 的好文章!我一直搞不懂这个框架到底是指什么,阅读后终于明白它是一个描述攻击技术的方法论,把攻击者常用的手段都分类整理出来了。真是太棒了!
有20位网友表示赞同!
ATT&CK 越来越普遍了,学习起来确实很有必要的。可惜有时这些博文描述的攻击细节过于专业,我不是很懂其中的算法机制……希望后续能有更多通俗易懂的讲解。
有15位网友表示赞同!
我从业以来接触过很多 ATT&CK 的案例,感觉这几个技术确实是攻击者经常用到的,所以防御一定要重视。希望开发商们可以把文章里提到的检测策略融入产品研发中,提高系统安全性!
有10位网友表示赞同!
作为一名初学者,虽然有些概念还没完全理解,但这篇博客对我打开了新的思路。这个 ATT&CK 框架真是太强大!未来网络安全的学习道路似乎会围绕着它展开。
有16位网友表示赞同!
这篇文章内容过于枯燥了,缺乏实际案例和实例演示。仅仅讲解理论知识并不实用,希望能有更生动的解读,让人更容易理解。
有14位网友表示赞同!
有些技术,如 T1548 的“通过文件压缩进行数据隐藏”,我之前也遇到过。学习 ATT&CK 让我们能够提前了解攻击者的思维方式和常用手段,从源头上预防风险发生!
有20位网友表示赞同!
就这7点?ATT&CK 里还有很多其他重要攻击技术呢!这篇博客只浅尝辄止,想要更深入的了解还得去看官方文档和专业书籍
有16位网友表示赞同!
我很认可文章观点,网络安全威胁确实日益严峻。希望大家都能关注 ATT&CK 框架,加强安全意识,学习防护策略,共同营造一个安全稳定的网络环境!
有17位网友表示赞同!
最近公司也组织开展了关于 ATT&CK 的培训课程,这篇博客内容和教材上有些地方一模一样,看来我抓住了重点!
有8位网友表示赞同!
ATT&CK 框架是必备的学习工具,但仅限于理论知识还不够。还需要结合实际案例进行演练,才能真正掌握防御技术并运用到实战中
有5位网友表示赞同!
我最近在研究一种新型 APT 攻击手法。感觉这个 ATT&CK 框架可以提供一些参考线索,帮助我更全面地分析攻击模式和目的!
有13位网友表示赞同!
这篇博文的逻辑清晰,语言简洁易懂,对于入门者来说非常有帮助!但我希望作者能够补充更多关于安全检测工具和案例的介绍,才能更直观地展示 ATT&CK 框架的应用场景。
有13位网友表示赞同!
ATT&CK 的学习难度还是比较高的,需要积累一定的网络安全基础知识。建议想要深入研究的人可以先阅读相关书籍或参加培训课程,然后再来学习这套框架。
有17位网友表示赞同!
这篇博文让我意识到了网络安全的重要性。虽然我不是IT专业人士,但也需要了解一些基本的 ATT&CK 攻击技术,才能更好地保护自己和企业的网络数据安全!
有14位网友表示赞同!
感觉ATT&CK 越来越重要了,希望官方能够定期更新并完善这个框架,以便跟上最新的攻击技术和防御策略的变化。
有19位网友表示赞同!
个人感觉文章中“TOP7”过于权威,忽略了一些其他常见的攻击技术,可能让读者对 ATT&CK 框架的全面性产生误解
有14位网友表示赞同!
希望以后的文章能介绍一下不同行业网络安全的重点关注点,以及针对不同行业的 ATT&CK 防御策略。这样更实用!
有15位网友表示赞同!