Molet

十大常见的ATT&CK战术及技术

Molet 安全防护 2023-01-02 301浏览 0

ATT&CK框架是一个网络安全综合性知识库,通过对攻击生命周期各阶段的实际观察,从而对攻击者行为进行理解与分类,已成为研究威胁模型和方法的基础工具。随着厂商及企业对该框架的广泛采用,ATT&CK知识库已公认成为了解攻击者的行为模型与技术权威。

Picus研究人员从各种来源收集了超过二十万真实世界威胁样本,确定了样本的战术、技术和程序(TTP),并对每个TTP进行了分类,所有样本超过180万种ATT&CK技术。Picus Labs针对此研究发布了Red Report统计报告,包括最常见的十种ATT&CK攻击技术。此研究发现有助于防御者发现网络犯罪和攻击的主流趋势,并帮助安全团队提供防御策略,并有效预防、检测和响应威胁。

十大常见的ATT&CK战术及技术

一、主要发现

与此前数据相比,今年最显著的变化是增加了“T1486数据加密影响”技术的使用,该技术首次进入前十名,排名第三。研究表明,所分析的恶意软件样本中有五分之一是为加密目标系统中的文件而设计的。这一结果与勒索软件攻击的流行趋势不断上升一致,据报道勒索软件攻击在2020年7月至2021年6月期间增加了1,070%。

研究显示,每个恶意软件的平均恶意行为数量有所增加。在前一年的研究中分析的恶意软件样本显示平均有9次恶意行为,但现在恶意行为的平均数量为11次。这一发现与恶意软件复杂性以及攻击者的技术能力正在增加的观点一致。

另一个重要发现是,“T1059命令和脚本解释器”是最流行的ATT&CK技术,分析的所有恶意软件样本中有四分之一使用。由于PowerShell等解释器是合法的内置实用程序,可以广泛访问操作系统的内部结构,因此攻击者经常滥用它们来执行命令。

十大ATT&CK技术中有五种被归类在“TA005防御规避”战术下。分析发现,三分之二的恶意软件至少展示了一种防御规避技术,这突显了攻击者想要躲避安全团队监视的决心。

  • 数据加密更为常见。今年,ATT&CK的TA0040影响战术中的T1486数据加密影响技术首次进入前十名,排名第三,19%分析的恶意软件使用了该技术。这也解释了为何2021年勒索软件攻击的大幅增加。
  • 恶意软件越来越复杂。今年恶意软件平均表现出11次恶意行为(TTP),高于2020年的9次,这突显了攻击及其背后攻击者的复杂性增加。
  • 防御规避是最常见的战术。攻击者使用的最常见的MITRE ATT&CK战术是TA0005防御规避,分析发现,三分之二的恶意软件至少展示了一种规避技术。T1218签名二进制代理执行、T1027混淆文件或信息、T1497虚拟化/沙盒规避是首次出现在报告前十名的防御规避技术。
  • 攻击者更喜欢滥用内置工具。攻击者主要使用离地攻击(LoL)实用程序来执行报告前十名中列出的所有技术,这表明攻击者更喜欢滥用合法工具,而不是自定义工具。该报告中最流行的技术是T1059命令和脚本解释器,分析的恶意软件样本中有26%使用过了该技术。这种技术涉及滥用内置或常用的命令行界面(CLI)和脚本语言,例如PowerShell、Apple脚本和Unix Shell,作为执行任意命令的手段。

二、研究方法

MITRE ATT&CK是一个基于现实世界观察的攻击者战术、技术和程序(TTP)的开源知识库。由于ATT&CK系统地定义和组织了TTP,已成为安全团队之间描述TTP的通用语言。在2021年10月发布的ATT&CK for Enterprise v10版本中,共包含14个战术(Tactics)和188个技术(Techniques)。

Picus Labs研究人员分析了2020年10月至2021年10月期间的231,507个文件,其中204,954个文件(89%)被归类为恶意文件,并从这些文件中提取了2,197,025个操作,每个恶意软件平均有11个恶意操作(TTP)。由于多个操作可能映射到同一技术,2,197,025个动作被映射到1,871,682项MITRE ATT&CK技术,平均每个恶意软件有9项MITRE ATT&CK技术。

十大常见的ATT&CK战术及技术

Picus Labs研究人员确定了数据集中的恶意文件使用了哪种技术。然后计算了使用每种技术的恶意软件的百分比。例如,攻击者在204,954个恶意文件中的53,582个(26%)中使用了“T1059命令和脚本解释器”技术。

三、十大ATT&CK技术

十大常见的ATT&CK战术及技术

1. T1059命令和脚本解释器

T1059命令和脚本解释器(Command and Scripting Interpreter)技术属于TA0002执行(Execution)战术,有53,582个(26%)恶意软件样本使用了该技术。

命令和脚本解释器是攻击者用来在目标系统上执行命令、脚本和二进制文件的一种执行技术。因此不出所料,这项技术在报告中排名第一。命令和脚本解释器是为合法用户开发的,但攻击者也经常使用它们来运行他们的代码、与本地和远程系统交互以及在攻击活动期间执行其他软件。

解释器(Interpreter)是一种计算机程序,它直接执行用编程或脚本语言编写的指令,而无需事先编译。解释器在程序运行之前不需要编译过程,它直接一条一条的运行指令,这是攻击者更喜欢命令和脚本解释器的原因之一。

这种技术包括命令解释器和脚本解释器。命令解释器(Command Interpreters)根据用户以交互模式提交的命令或通过程序中存在的命令执行解释。操作系统具有内置的本机命令解释器,例如Windows中的Windows Command Shell和PowerShell,以及类Unix系统中的 Unix Shell。顾名思义,命令解释器也被称为shell。除了内置的操作系统命令Shell之外,一些编程语言如Python、Perl和Ruby也有命令解释器。

脚本解释器(Scripting Interpreter)解释和执行脚本中出现的命令,而无需编译。脚本是用脚本语言编写的一组有序命令,脚本语言是一种解释性编程语言,无需编译即可执行脚本。一些著名的脚本语言是Windows中的PowerShell和VBScript、类Unix系统中的Unix Shell、macOS中的AppleScript、JavaScript、JScript、Python、Perl和Lua。命令解释器也包含在一些脚本语言中,例如PowerShell、Unix shell、Python和Perl。

系统管理员和程序员等合法用户使用命令解释器来执行任意任务。他们使用脚本解释器通过在脚本中自动化来加速操作任务。

虽然命令和脚本解释器是为合法用户开发的,但在攻击活动期间,攻击者经常使用一个或多个解释器来执行恶意代码,并与本地和远程系统交互。例如,攻击者使用脚本枚举正在运行的服务和进程,发现系统和用户信息,并通过在用户每次登录时执行恶意负载来在受害者计算机中持久化。

此外,Windows系统中的PowerShell和VBScript、类Unix系统中的Unix shell、macOS中的AppleScript等一些脚本语言可以通过API直接与操作系统交互,因此攻击者可以使用它们来绕过薄弱的进程监控机制。它们是操作系统中的内置工具,因此使用它们比使用自定义工具更隐蔽。

T1059命令和脚本解释器技术有八个子技术(Sub-Techniques),分别为:T1059.001 PowerShell、T1059.002 AppleScript、T1059.003 Windows Command Shell、T1059.004 Unix Shell、T1059.005 Visual Basic、T1059.006 Python、T1059.007 JavaScript和T1059.008网络设备CLI。

2. T1055进程注入

T1055进程注入(Process Injection)技术属于TA0004权限提升(Privilege Escalation)和TA0005防御规避(Defense Evasion)战术,有43,639个(21%)恶意软件样本使用了该技术。

攻击者总是试图在其高级网络攻击中实现更高水平的隐蔽、持久性和特权。作为可以提供这些功能的机制,进程注入仍然位于报告列表顶部也就不足为奇了。

通过列出正在运行的进程并过滤掉作为操作系统或已安装软件的合法进程,可以轻松检测恶意软件进程。如果恶意软件可以将其恶意代码封装在合法进程中,将隐藏在受感染的系统中。进程注入是一种古老但有效的技术,包括在另一个进程的地址空间内运行任意代码。因此,该技术可以访问目标进程的内存、系统和网络资源。

进程注入为攻击者提供了三个显著好处:

  • 在合法进程下执行代码可能会逃避安全控制,列入白名单的合法进程会伪装恶意代码以逃避检测。
  • 由于恶意代码是在合法进程的内存空间内执行的,也可能逃避磁盘取证。
  • 如果目标进程具有提升的权限,则此技术将启用权限提升。例如,如果目标进程可以访问网络资源,则恶意代码可以通过互联网以及与同一网络上的其他计算机进行合法通信。

安全控制可以快速检测自定义进程。因此,威胁行为者使用常见的Windows进程,例如explorer.exe、svchost.exe、dllhost.exe、services.exe、cvtres.exe、msbuild.exe、RegAsm.exe、RegSvcs.exe、rundll32.exe、arp.exe 、PowerShell.exe、vbc.exe、csc.exe、AppLaunch.exe和cmd.exe等内置本机Windows进程,以及iexplore.exe、ieuser.exe、opera.exe、chrome.exe、firefox.exe、outlook.exe、msinm.exe等通用软件进程。

T1055进程注入有十一个子技术,分别为:T1055.001 DDL注入、T1055.002便携式可执行(PE)注入、T1055.003线程执行劫持注入、T1055.004异步过程调用(APC)注入、T1055.005线程本地存储(TLS)注入、T1055.008 Ptrace系统调用注入、T1055.009 Proc内存注入、T1055.011额外窗口内存(EWM)注入、T1055.012 Process Hollowing、T1055.013 Process Doppelgänging以及T1055.014 VDSO劫持。

3. T1486数据加密影响

T1486数据加密影响(Data Encrypted for Impact)技术属于TA0040影响(Impact)战术,有37,987个(19%)恶意软件样本使用了该技术。

攻击者加密目标系统上的数据,以防止访问系统和网络资源。这些攻击可能以利润为导向,如勒索软件攻击,或者纯粹是破坏性的。正如无数勒索软件攻击所表明的那样,当数据被加密时,组织的运营能力会受到显著影响。由于2021年勒索软件攻击的数量和影响不断增加,该技术迅速进入十大ATT&CK技术的第三名。

在最近的勒索软件样本中,攻击者使用多种加密算法来最大化加密性能和安全性。此外,这种方法在加密时不需要连接互联网,只有在解密时需要连接互联网。

在这种混合加密方法中,勒索软件使用对称(密钥)加密算法对文件进行加密,然后使用非对称(公钥)加密算法对对称加密中使用的密钥进行加密。

对称加密算法(也称为密钥加密)使用相同的密钥来加密和解密数据。AES、DES、3DES、Salsa20、ChaCha20和Blowfish是一些流行的对称加密算法。由于对称加密比非对称加密快得多,因此它最适合大量数据的批量加密。因此对称加密非常适合在勒索软件要求的短时间内加密数千个文件。此外,对称算法通常提供较小的文件大小,从而实现更快的传输和更少的存储空间。

尽管对称加密具有强大的性能和高效率,但它有两个主要限制。第一个限制是密钥分配问题。对称加密主要基于加密密钥必须保密的要求。然而,安全地分发密钥具有挑战性。对于勒索软件,此限制表现为将密钥保存在受害机器中。研究人员可以找到密钥,并且由于它没有加密,因此可以创建一个使用密钥解密文件的工具。

第二个限制是密钥管理问题。由于每对发送方和接收方都需要一个唯一的密钥,因此所需的密钥数量随着用户的增长而增加。对于勒索软件,勒索软件操作者必须为每台受害机器创建不同的密钥,并将所有密钥保密。否则,如果所有机器都使用相同的密钥,如果在其中一台机器上泄露了密钥,则可以使用泄露的密钥解密勒索软件加密的所有文件。

非对称加密(也称为公钥加密)解决了密钥分发和密钥管理问题。非对称加密算法使用两种不同的密钥:私钥和公钥。发送方可以使用接收方的公钥对消息进行加密,但该加密消息只能使用接收方的私钥解密。私钥必须对其所有者保持私有,而公钥可以通过目录公开访问。因此,勒索软件操作者可以为每台受害机器创建不同的公钥,并让这些公钥在受害机器上可访问。即使有人找到了公钥,如果没有勒索软件运营商的私钥,他们也无法解密文件。

非对称加密的主要缺点是它比对称加密慢得多。这是由于非对称加密的数学复杂性,需要更多的计算能力。

勒索软件开发人员将对称加密和非对称加密(一种混合加密方法)结合起来,以消除这两种技术的缺点。他们使用对称密钥算法对受害系统中的文件进行批量加密,并使用非对称密钥算法对对称算法使用的秘密密钥进行加密。因此,勒索软件开发人员利用对称算法的加密性能,同时利用非对称算法的强大安全性。

勒索软件主要使用Windows API来利用对称和非对称算法,例如DES、AES、RSA 和RC4加密。例如,Nefilim滥用Microsoft的Enhanced Cryptographic Provider来导入加密密钥,并使用API函数对数据进行加密。勒索软件通常会查询每台主机的唯一信息,以生成主机的唯一标识符,用于加密/解密过程,例如加密机GUID和卷信息(磁盘卷名和序列号)。

4. T1218签名二进制代理执行

T1218签名二进制代理执行(Signed Binary Proxy Execution)技术属于TA0005防御规避(Defense Evasion)战术,有32,133个(16%)恶意软件样本使用了该技术。

签名二进制文件,即使用可信数字证书签名的二进制文件,可以在受数字签名验证和应用程序控制保护的Windows操作系统上执行。然而,攻击者经常滥用这些合法的二进制文件来逃避安全控制。这些二进制文件也称为离地攻击二进制文件(LOLBins)。

签名二进制代理执行是指通过使用另一个用可信数字证书签名的可执行文件来执行命令或可执行文件的过程。攻击者利用签名可执行文件的信任来逃避防御机制。

T1218签名二进制代理执行有十三个子技术,分别为:T1218.001 CHM文件、T1218.002控制面板、T1218.003 CMSTP、T1218.004 Installutil.、T1218.005 Mshta、T1218.007 Msiexec、T1218.008 Odbcconf、T1218.009 Regsvcs/Regasm、T1218.011 Rundll32、T1218.012 Verclsid、T1218.013 Mavinject、T1218.014 MMC。

5. T1003操作系统凭证转储

T1003操作系统凭证转储(OS Credential Dumping)技术属于TA0006凭证访问(Credential Access)战术,有29,355个(14%)恶意软件样本使用了该技术。

一旦攻击者建立了对系统的初始访问权限,他们的主要目标之一就是找到访问环境中其他资源和系统的凭据。作为获取账户登录和密码信息的机制,凭据转储是十大最常用的MITRE ATT&CK技术的第五名。

在使用提升的权限危害系统后,攻击者会尝试转储尽可能多的凭据。MITRE ATT&CK框架的凭证转储技术使攻击者能够从操作系统和软件中获取账户登录和密码信息。这些凭据可以授予更高级别的访问权限,例如特权域账户,或者相同的凭据可以用于其他资产。攻击者使用此技术收集的凭据来:

  • 访问受限信息和关键资产;
  • 通过使用相同凭据危害其他系统,在网络中执行横向移动;
  • 创建新账户、执行操作和删除账户以清除跟踪;
  • 分析密码模式和密码策略以显示其他凭据。

T1003操作系统凭证转储有八个子技术,分别为:T1003.001 LSASS内存、T1003.002安全账号管理器、T1003.003 NTDS、T1003.004 LSA密码、T1003.005缓存域凭据、T1003.006 DCSync、T1003.007 Proc文件系统、T1003.008 /etc/passwd和/etc/shadow。

6. T1027混淆文件或信息

T1027混淆文件或信息(Obfuscated Files or Information)技术属于TA0005防御规避(Defense Evasion)战术,有26,989个(13%)恶意软件样本使用了该技术。

攻击者通过加密、编码、压缩或以其他方式在系统上或传输中隐藏可执行文件或文件的内容,从而混淆可执行文件或文件的内容。这是一种常见的攻击行为,可用于绕过多个平台和网络的防御。该技术在去年没有进入前十,但今年排名第六。

攻击者混淆恶意文件、代码、命令、配置和其他信息,以避免被安全控制检测到。最常见的混淆方法有:

  • 改变数据形式:这种方法包括转换数据以避免检测的机制,例如压缩、打包和归档。其中一些机制需要用户交互才能将数据恢复为原始形式,例如提交密码以打开受密码保护的文件。
  • 更改数据大小:此方法包括诸如二进制填充之类的机制,可在不影响其功能和行为的情况下增加恶意文件的大小。其目的是避开未配置为扫描大于特定大小的文件的安全工具。
  • 隐藏恶意数据:这些机制将恶意数据隐藏在看似良性的文件中。在隐藏到文件中之前,可以拆分数据以降低其检测率。信息隐写和HTML走私是这种方法的一些例子。
  • 混淆或删除指标:此方法包括用于从恶意文件中混淆或删除危害指标以避免检测的机制。文件签名、环境变量、字符、部分名称和其他平台/语言/应用程序特定语义是一些指标。
  • 攻击者通过混淆/删除以绕过基于签名的检测。

T1027混淆文件或信息有六个子技术,分别为:T1027.001二进制填充、T1027.002软件打包、T1027.003信息隐写、T1027.004交付后编译、T1027.005从工具中移除指标、T1027.006 HTML走私。

7. T1053计划任务

T1053计划任务(Scheduled Task/Job)技术属于TA0002执行(Execution)、TA0003持续性(Persistence)和TA0004权限提升(Privilege Escalation)战术,有21,367个(11%)恶意软件样本使用了该技术。

计划任务是指在未来的特定时间、定期(如每周一的凌晨1:00)或在定义的事件发生时(如用户登录系统)执行的命令、程序或脚本。合法用户(如系统管理员)使用计划任务自动创建和运行操作任务。

攻击者还使用操作系统的任务调度实用程序按定义的时间表或在系统启动时执行恶意负载,以实现持久性。研究发现,计划任务是攻击者在其恶意软件中使用的第七大ATT&CK技术。

操作系统和平台提供的一些实用程序,可以按照定义的时间表自动执行程序或脚本,例如微软Windows的schtasks.exe和at.exe、Linux的at、类Unix操作系统的cron、macOS的launchd、systemd timers、以及Kubernetes的cronjobs。

T1053计划任务有七个子技术,分别为:T1053.001 at(Linux)、T1053.002 at(Windows)、T1053.003 cron、T1053.004 Launchd、T1053.005计划任务、T1053.006 Systemd Timers、T1053.007容器编排。

8. T1036伪装

T1036伪装(Masquerading)技术属于TA0005防御规避(Defense Evasion)战术,有18,702个(9%)恶意软件样本使用了该技术。

作为一种防御规避技术,攻击者将其恶意软件的特征更改为合法和可信的。代码签名、恶意软件文件的名称和位置、任务和服务的名称都是这些功能的示例。伪装后,攻击者的恶意软件文件对用户和安全来说都是合法的。用于防御逃避的伪装对象可以分为四类:

  • 扩展名:T1036.002从右到左覆盖、T1036.006文件名后的空格以及T1036.007双文件扩展名涉及欺骗用户或应用程序打开一个看起来像良性文件类型的文件,因为它明显的扩展名,但其实是恶意软件。用户看到的扩展名实际上并不反映文件真实的扩展名。
  • 名称:攻击者可能会将恶意文件名更改为合法且受信任的应用程序的名称,例如flash_en.exe(T1036.005匹配合法名称或位置)。但是,攻击者也会在使用合法系统实用程序之前更改其名称,因为某些安全工具会监控这些内置系统实用程序以检测其可疑使用情况(T1036.003重命名系统实用程序)。除了文件名之外,攻击者还会用合法的任务或服务的名称来伪装任务或服务的名称,使其看起来是良性的并避免检测(T1036.004伪装任务或服务)。
  • 位置:攻击者可能会将恶意文件放置在C:\Windows\System32等受信任目录中以逃避防御。他们还可能创建类似于已知软件使用的目录,例如C:\Intel\。有时,攻击者会伪装恶意软件的整个路径,包括目录和文件名,例如C:\NVIDIA\NvDaemon.exe。这些方法归类在T1036.005匹配合法名称或位置。
  • 签名:攻击者复制有效和签名程序的元数据和代码签名信息,并在其恶意软件中使用这些信息来逃避防御(T1036.001无效代码签名)。

T1036伪装有七个子技术,分别为:T1036.001无效代码签名、T1036.002从右到左覆盖、T1036.003重命名系统实用程序、T1036.004伪装任务或服务、T1036.005匹配合法名称或位置、T1036.006文件名后的空格、T1036.007双文件扩展名。

9. T1082系统信息发现

T1082系统信息发现(System Information Discovery)技术属于TA0007发现(Discovery)战术,有17,024个(8%)恶意软件样本使用了该技术。

当攻击者获得对系统的初始访问权限时,他们会观察环境并获得有关系统的知识,然后攻击者使用收集到的系统信息来确定如何在后续行为中采取行动。

在对系统进行初始访问后,攻击者需要收集有关系统的信息,来决定如何继续攻击。攻击者通常会收集的信息包括:主机/用户信息,如主机名、用户名、域名、注册所有者、注册组织、正常运行时间等;操作系统信息,如操作系统名称、操作系统版本、系统区域设置、键盘布局、修补程序等;硬件信息,如CPU架构、处理器、总物理内存、网卡、IP地址、CPUID/ProcessorID、卷序列号、磁盘大小、屏幕分辨率等。

攻击者经常使用内置的操作系统实用程序来发现系统信息,包括系统信息、系统设置和IaaS API调用。Systeminfo是一个Windows实用程序,可显示有关计算机及其操作系统的详细配置信息。Systemsetup是一个macOS命令,它使用户能够收集和配置通常在系统首选项应用程序中配置的特定每台机器设置。攻击者使用API来获取有关云基础设施即服务(IaaS)提供商,例如Amazon Web Services(AWS)、Microsoft Azure和Google Cloud Platform(GCP)中实例的信息。

10. T1497虚拟化/沙箱规避

T1497虚拟化/沙箱规避(Virtualization/Sandbox Evasion)技术属于TA0005防御规避(Defense Evasion)和TA0007发现(Discovery)战术,有12,810个(6%)恶意软件样本使用了该技术。

攻击者可能会向其恶意软件添加系统和用户信息发现功能,以检测和避免虚拟化和分析环境,例如恶意软件分析沙箱。如果恶意软件检测到虚拟机或沙箱环境,就会脱离受害者或不执行恶意功能,例如下载额外负载。

恶意软件分析人员经常评估隔离环境中的未知代码,例如虚拟机(VM)或沙箱。同样,安全产品通常使用这些环境在允许恶意软件进入组织网络之前执行潜在恶意代码以进行动态恶意软件分析。作为恶意软件分析的结果,确定了恶意软件及其IOC(危害指标)使用的TTP(战术、技术和程序)。TTP和IOC用于检测恶意软件。

当然,恶意软件开发人员不希望在孤立的环境中分析他们的恶意软件,因此他们设计代码来检测虚拟机和沙箱环境,并避免在这些孤立的环境中运行时表现出恶意行为。例如,如果检测到沙箱环境,Agent Tesla远程访问木马(RAT)就会关闭。

攻击者使用各种方法来逃避虚拟机和沙箱环境,这些方法被称为Anti-Sandbox或Anti-VM方法。通常,这些方法涉及搜索这些环境的典型特征。这些特征可能是受害系统的某些属性或对象,例如VM供应商的特定MAC地址,以及系统中普通用户创建的通用工件的缺失,例如空的浏览器历史记录。

T1497虚拟化/沙箱规避有三个子技术,分别为:T1497.001系统检查、T1497.002用户活动检查、T1497.003时间规避。

继续浏览有关 安全 的文章
发表评论