MITRE ATT&CK是基于实战的,全球可访问的网络安全攻防战术和技术知识库,也是近几年网络安全领域最热门的工具和话题之一。如今ATT&CK知识库已经成为私营部门、政府和网络安全产品服务社区开发特定威胁模型和方法的基础工具。
ATT&CK包含200多种独特的技术(也称为TTP),每两年更新一次,是一个非常详细的库,包含各种攻击战术或类别,以及可以利用的常规系统管理员行为。在ATT&CK框架的帮助下,安全团队对攻击者的行为有了更广泛的了解,从而可以针对这些技术测试缓解和检测方法。MITRE ATT&CK已成为许多网络安全学科的有用工具,用于提供情报、红队对手仿真测试,以及改进网络和系统防御入侵的能力。
不断进化的MITRE ATT&CK框架解决了信息安全社区面临的紧迫问题:面对大量有关对手行为、恶意软件和漏洞利用的数据,如何理解它?现有的网络安全产品和入侵防护检测的能力(有效性)怎么样?MITRE ATT&CK框架为从业者和用户创建了一个明确的,可衡量可量化的行业标准和通用语言,以评估其安全工具、安全风险和安全能力。
“ATT&CK”并非一个学院派的理论框架,而是来源于实战。安全从业者们在长期的攻防对抗、攻击溯源、攻击手法分析的过程中,逐渐提炼总结,形成了实用性强、说得清道得明的体系框架。这个框架是先进的、充满生命力的,而且具备非常高的使用价值。——引自《ATT&CK框架使用指南》
MITRE ATT&CK的生命力来自于安全社区,通过对MITRE ATT&CK社区的数据统计和分析,有助于防御者发现网络犯罪和攻击的主流趋势,并尽快做好准备。以下,我们根据recorded future公司发布的MITRE ATT&CK统计报告,介绍2019年十大ATT&CK攻击技术, 希望能对红蓝团队练习、渗透测试、威胁搜寻和各种安全运营团队提供参考。
十大 ATT&CK 攻击技战术(TTP)
1. T1063:安全软件发现 | 战术:发现
安全软件发现(T1063)是2019年ATT&CK榜单上中最流行的技术。作为发现战术的一部分,T1063表示对手了解已经部署的安全控制,同时,它也是防御逃避战术的重要前奏。这种技术在被恶意软件家族广泛使用。
T1063 的实施:
- 常见的远程访问工具(如njRAT)可以列出安全软件,例如使用基于Windows的WMIC来标识受害者计算机上安装的防病毒产品并获取防火墙详细信息。
- Empire是一个开源、跨平台远程管理和后开发框架,它也能够枚举目标计算机上流行的防病毒软件。
T1063的缓解:
T1063难以缓解,因为该技术是对合法网络操作的滥用。但是,如果具有内置功能的远程访问工具直接与Windows API交互以收集信息,则可以进行检测。收集何时请求数据的信息可以揭示不良行为。
2. T1027:混淆文件或信息 | 战术:防御躲避
攻击者采用的主要躲避方法之一是通过混淆加密或以其他方式操纵文件的结构让检测或后续研究更得更加困难。
T1027的实施:
- 某些PowerShell模块(例如Empire框架或“Don’t Kill My Cat ”载荷逃避工具中的模块)能够运行“Invoke-Obfuscation”命令来在Base64中编码文件或字符串。
- 许多著名的恶意软件家族都依靠混淆来逃避检测。例如,在2018年12月,Emotet在以圣诞节贺卡为主题的网络钓鱼活动使用了混淆的VBA代码。
T1027的缓解:
除非混淆过程留下的痕迹可以通过签名检测到,否则T1027的检测非常具有挑战性。不过,如果无法检测到混淆本身,防御者仍然可能检测到创建混淆文件的恶意活动(如果该方法用于在文件系统上写入,读取或修改文件)。另外,可以在网络层检测到初始访问载荷中使用的混淆。此外,网络入侵检测系统(IDS)和电子邮件网关过滤也可以识别压缩或加密的附件与脚本。
3. T1055:进程注入 | 战术:防御闪避
进程注入(T1055)是一种在进程的地址空间内运行自定义代码的技术。它是防御规避,特权升级以及(某些情况下)驻留会用到的一种技术。T1055利用合法进程进行隐藏,因此非常流行,这些合法进程包括但不限于:动态链接库(DLL)注入、便携式可执行注入、ptrace系统调用、VDSO劫持等。
T1055的实施:
威胁组织Turla曾对C2通信的合法进程执行了DLL注入,并使用PowerSploit将PowerShell负载有效地加载到受害系统上的随机进程中。
T1055的缓解:
通过使用端点安全解决方案和启发式工具来基于已知的行为模式识别和终止进程,从而缓解T1055。
4. T1082:系统信息发现 | 战术:发现
与T1063类似,系统信息发现(T1082)是攻击者获取有关操作系统和硬件的详细信息的另一种方式,包括版本、补丁、修补程序、服务包和体系结构等。这些信息有助于攻击者决策使用何种攻击载体。
T1082的实施:
- 像其他发现技术一样,T1082的使用会滥用合法过程来获取信息。在Windows系统中,这意味着使用“ver”、“systeminfo”和“dir”之类的命令来标识文件和目录,或者在macOS上使用“systemsetup”或“system_profiler”来提供系统、配置的详细分类、防火墙规则等。
- 尽管其中一些命令需要管理员特权,但是在任何特权升级技术之前,仍可以先使用T1082。AWS、GCP或Azure等云计算基础设施中的错误配置可以是T1082的攻击对象。
T1082的缓解:
检测T1082所需的数据集可能很大的“噪声”,因为系统信息发现有其合法用途。但是,监视那些采集系统和网络信息的命令参数(或云计算系统中的本机日志)可以帮助识别对手的行为。
5. T1057:进程发现 | 战术:发现
与其他发现技术类似,系统配置枚举可能是对手获取决策信息的关键部分。除了命令格式的细微区别外,该技术还与平台无关。
T1057的实施:
- 使用Windows工具“任务列表”或Mac和Linux中的“ps”命令是恶意软件中常见的功能(例如Winnti)。
- 威胁参与者开始使用Process Discovery来发现和关闭安全研究人员工具。例如,在2018年末,观察到伊朗威胁组织MuddyWater 检查受害者系统上正在运行的进程,以寻找常见恶意软件研究工具的证据。
T1057的缓解:
与T1082的检测方法一样。
6. T1045:软件打包 | 战术:防御闪避
与运行时或软件打包程序相关联的软件打包(T1045)会压缩初始文件或可执行文件。尽管程序员也会使用软件打包来降低存储成本,但攻击者也很喜欢这种技术,因为打包可执行文件会更改其文件签名并减小文件体积,从而使基于签名或占用空间的检测更加困难。
T1045的实施:
许多APT相关恶意软件变体都使用软件打包技术,包括Uroburos(已使用其运营商Turla 的自定义打包程序)和APT28的Zebrocy(使用开源打包程序)。
T1045的缓解:
通常可以使用反恶意软件或防病毒软件配置来缓解T1045。可以通过扫描已知的软件打包工具(例如Aspack)或打包技术的工件来检测软件打包。但是,软件打包也具有合法用途,因此并不一定都是恶意行为。
7. T1073:DLL侧加载 | 战术:防御闪避
DLL侧加载(T1073)(仅在Windows操作系统中进行)是将欺骗性的恶意DLL文件放置在特定目录中后,被当作合法DLL加载。该技术将恶意代码混入到合法的服务或流程中,而不是运行新的无法识别的流程,从而帮助威胁行为者逃避防御。
T1073的实施:
已知有多个APT组织使用该技术,例如APT32。据报道,在2020年1月,Winnti威胁小组在对香港大学的攻击中使用了DLL侧加载技术。
T1073的缓解:
DLL侧加载会滥用合法进程,从而使缓解和检测变得困难,但并非不可能。通过限制尝试访问文件和目录的用户的权限,安全团队可以减少能够执行该技术的用户数量。尝试检测T1073时,团队可以比较DLL进程的执行时间,以发现非补丁造成的异常差异。
8. T1022:数据加密 | 战术:渗透
数据加密(T1022)是渗透战术下的一种技术,它是对手使用的另一种非常流行的技术。通过在泄露信息之前对数据进行加密,参与者可以更有效地隐藏被盗数据的内容。今天有多种加密方法可供对手使用。
T1022的实施:
- Lazarus Group使用Zlib压缩和XOR操作来加密数据并将其泄漏到C2服务器。
- WARZONE RAT(也称为Ave Maria Stealer)是一种主要在犯罪地下组织出售的远程访问木马,主要由Solmyr在Hack Forums和Nulled上出售。该恶意软件的功能包括加密技术以及UAC绕过、密码窃取和RDP访问。
T1022的缓解:
创建规则或针对异常加密命令发出警报,或使用启发式工具来识别与数据加密有关的异常行为。网络流量熵也可能发现加密数据的泄露。
9. T1106:通过API执行 | 战术:执行
通过API执行(T1106)是攻击者对合法应用程序接口的一种攻击性滥用。此技术允许用户提取数据,并在宏级别与程序和脚本进行交互。
T1106的实施:
- Turla Group使用的LightNeuron是一个复杂的后门,它滥用了Microsoft Exchange Mail服务器。关联的过程之一是API命令CreateProcess。
- API的恶意使用不仅会被用于直接执行,由于网络防御者可以监视API调用是否有恶意活动,因此攻击者还会用冗余API调用的方法来制造“噪音”。
T1106的缓解:
始终监视所有API调用对于网络防御者来说是个费时费力的工作。不过,组织可以使用应用程序白名单工具来减轻恶意API调用。他们还可以利用新型API滥用相关的威胁情报来更快地查明可疑的API使用。
10. T1032:标准加密协议 | 战术:命令与控制
与数据加密(T1022)技术不同,攻击者可以使用标准加密协议(T1032)技术将C2流量隐藏在常规使用的加密机制之后。T1032是“命令与控制”战术的一部分,被认为是攻击的最后阶段之一。
T1032的实施:
RC4和AES是许多不同恶意软件变体的C2流量或配置的常用加密方法,包括银行木马IcedID(RC4)和Glupteba僵尸网络(AES)。在2019年8月,观察到伪装成所得税计算器的恶意软件xRAT使用AES加密C2流量。
T1032的缓解:
幸运的是,对于尝试检测T1032的安全团队来说,如果T1032在示例配置文件中生成了构件或密钥,则其某些实现可能比较容易被逆向工程。网络IDS和预防技术可以帮助缓解网络层的攻击活动,此外SSL/TLS检查可以帮助寻找加密会话。
主要发现
- 最常见的攻击战术是防御规避(TA005),最常见的技术是安全软件发现(T1063)。防御规避包括避免检测、隐藏在受信任进程中、混淆恶意脚本、以及禁用安全软件。下一个最常见的战术,发现(TA007),涉及对目标网络或主机的知识和理解。
- 几乎所有TOP10技术都与许多著名的恶意软件变体相关,例如Emotet、Trickbot和njRAT这样的木马程序,以及Gafgyt和Mirai这样的僵尸网络,还有像Coinminer这样的挖矿软件。
展望与建议
发现和防御逃避是2019年最流行的ATT&CK技术。多数情况下,这些技术会利用合法软件功能,这使基于签名的纯检测变得更加困难,难以识别恶意活动。总体而言,有效缓解这些技术需要采用纵深防御方法,并且对正常的网络配置和活动高度熟悉。以下常规操作可以作为检测和阻止依赖这些技术的起点:
- 监视公共进程,配置文件,API调用或文件系统的新实例或异常更改。
- 监视不寻常或频繁的命令参数,这些参数通常用作发现技术的一部分。
- 保持防病毒和反恶意软件程序的更新,以领先于新打包或加密的恶意软件。
- 打开软件的自动更新,以防止网络攻击者识别和利用易受攻击的系统或软件。
2020年,网络攻击者将更加频繁地使用“发现和防御规避”策略,并且,随着安全解决方案检测方法的完善,ATT&CK攻击技术也正快速演进。
【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】