一、引言
在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化、提权战术、防御规避(一)理论知识及实战研究,本期我们为大家介绍ATT&CK 14项战术中防御规避战术(二),包括防御规避6项子技术,后续会介绍防御规避其他子技术,敬请关注。
二、ATT&CK v1简介
MITRE ATT&CK 是一个全球可访问的基于现实世界观察的攻防战术和技术知识库。ATT&CK知识库被用作在私营部门、政府以及网络安全产品和服务社区中开发特定威胁模型和方法的基础。
2022年10月25日发布的ATT&CK v12版本更新了适用于企业、移动设备和 ICS(工业控制系统)框架的技术、组和软件。v12最大的变化是在ATT&CK中增加了ICS的检测,描述了检测各种ICS技术的方法,每种方法都与特定的数据源和数据组件相关联,检测功能既利用了传统的主机和基于网络的采集,也利用了ICS特定的来源,如资产和运营数据库等。
ATT&CK v12 for Enterprise包含14个战术、193个技术、401个子技术、135个组织、718个软件。
ATT&CK战术全景图(红框为防御规避战术)
三、防御规避战术
3.1 概述
防御逃避包括攻击者在攻击过程中用来避免被发现的技术,包括禁用安全软件、加密数据和脚本、利用可信进程来隐藏或伪装恶意软件。
防御规避战术包括42种技术,本期介绍前7-12种技术,逐一介绍如下:
3.2 部署容器(T1610)
攻击者可以将容器部署到环境中以逃避防御,攻击者通过部署新容器以执行与特定镜像相关联的进程,例如下载恶意软件的进程。新容器配置没有网络规则、用户限制等,以绕过环境中的现有防御。
3.2.1缓解措施
ID | 缓解措施 | 描述 |
M1047 | 审计 | 在部署之前扫描镜像,并阻止不符合安全策略的镜像。 |
M1035 | 限制通过网络访问资源 | 将与容器服务的通信限制为本地Unix套接字或通过SSH远程访问。禁用对Docker API、Kubernetes API服务器和容器编排web应用程序的未经身份验证的访问,需要安全端口访问才能通过TLS与Api通信。 |
M1030 | 网络分割 | 通过使用网络代理、网关和防火墙拒绝直接远程访问内部系统。 |
M1018 | 用户账户管理 | 限制容器仅对必要用户的访问,强制执行最小特权原则。 |
3.2.2 检测
ID | 数据源 | 数据组件 | 检测 |
DS0015 | 应用日志 | 应用日志内容 | 通过资产管理系统检测不应该存在于网络上的计算机系统或网络设备。 |
DS0032 | 容器 | 容器创建 | 监控新创建的容器。 |
容器启动 | 监控容器的激活或调用。 | ||
DS0014 | Pod | Pod创建 | 监控新创建的Pod。 |
Pod修改 | 监控对Pod所做的更改。 |
3.3 直接访问卷(T1006)
攻击者可以直接访问卷以绕过文件访问控制和文件系统监控。Windows允许程序直接访问逻辑卷,具有直接访问权限的程序可以通过分析文件系统数据结构直接从驱动器读取和写入文件。在PowerShell中存在用于执行这些操作的程序(如Ninja Copy)。
3.3.1 检测
ID | 数据源 | 数据组件 | 检测 |
DS0017 | 命令 | 命令执行 | 监控执行的命令和参数,这些命令和参数可以从逻辑驱动器复制文件并逃避常见的文件系统保护。由于此技术也可以通过PowerShell使用,因此建议对PowerShell脚本进行额外的日志记录。 |
DS0016 | 驱动器 | 驱动器访问 | 监控由进程创建的卷上打开的句柄,以确定它们何时可以直接从逻辑驱动器收集数据。 |
3.4 修改组策略(T1484)
攻击者可以修改域配置,以逃避域环境中的防御或升级特权。对域设置的修改包括更改域组策略对象或更改域的信任设置,包括联合身份验证信任。
由于域配置控制AD环境中的许多交互,因此有大量潜在攻击可能利用,包括修改Gpo以将恶意计划任务推送到整个域环境中的计算机,或者修改域信任以包含一个攻击者控制域,可以控制访问令牌。攻击者还可以更改AD环境中的配置,以实现恶意域控制器。攻击者可以临时修改域策略,执行恶意操作,然后恢复更改以删除可疑痕迹。
修改组策略技术包含2个子技术,介绍如下:
3.4.1 组策略修改(T1484.001)
攻击者可能会修改组策略对象以修改域的访问控制,用于升级特权。组策略允许集中管理AD中的用户和计算机设置。Gpo是用于组策略设置的容器,由存储在可预测网络路径\<DOMAIN>\SYSVOL\<DOMAIN>\Policies\中的文件组成。
与AD中的其他对象一样,Gpo具有与其关联的访问控制。默认情况下,域中的所有用户帐户都有权读取Gpo。
恶意Gpo修改可用于实施许多其他恶意行为,例如计划任务、禁用或修改工具、入口工具传输、创建帐户、服务执行等。由于Gpo可以在AD环境中控制很多用户和计算机设置,因此有大量潜在的攻击可能源于Gpo利用。
3.4.2 域信任修改(T1484.002)
攻击者可以添加新的域信任或修改现有域信任的属性,以逃避防御或提升特权。域信任详细信息允许在域之间应用身份验证和授权属性,以便访问共享资源。这些信任对象可能包括帐户、凭据和应用于服务器、令牌和域的其他身份验证材料。攻击者可以操纵域信任来添加自己的签名证书,还可以将域转换为联合域,启用恶意信任修改,作为有效的凭据集。
3.4.3 缓解措施
ID | 缓解措施 | 描述 |
M1047 | 审计 | 使用审计工具识别Gpo权限利用事件。 |
M1026 | 特权账户管理 | 使用最低权限并保护对域控制器和Active Directory联合身份验证服务器的管理访问,不要创建具有管理权限的服务帐户。 |
M1018 | 用户账户管理 | 通过WMI和安全策略筛选,以确定Gpo应用于哪些用户和计算机。 |
3.4.4 检测
ID | 数据源 | 数据组件 | 检测 |
DS0026 | 活动目录 | 活动目录对象创建 | 监控新创建的活动目录对象,如Windows EID5137. |
活动目录对象删除 | 监控活动目录对象的意外删除,如Windows EID5141. | ||
活动目录对象修改 | 监控对AD设置所做的更改,以获取对用户帐户的意外修改,例如删除或对用户属性(凭据、状态等)的更改。 | ||
DS0017 | 命令 | 命令执行 | 监控已执行的命令和参数,以修改域信任设置。 |
3.5 执行范围保护(T1480)
攻击者可以使用执行范围保护来约束执行,确保有效载荷仅针对预期目标执行,并减少攻击者活动的损害。攻击者可以提供有关目标系统的值,以用作执行范围保护,包括特定的网络共享名称、附加的物理设备、文件、加入的活动目录域和IP地址等。 使用执行范围保护将涉及检查预期目标特定值并仅在存在此类匹配时执行,可用于防止在内部操作的环境中暴露能力。
执行范围保护技术包含1项子技术,介绍如下:
3.5.1 环境键控(T1480.001)
攻击者可能使用恶意软件的有效负载,以逃避对特定目标环境的防御和约束执行。环境键控是执行范围保护的一种实现,它利用加密技术从给定计算环境中的特定类型的值派生加解密密钥。目标特定值可以从特定网络共享、物理设备、软件、文件、加入的AD域、系统时间和IP地址等派生。环境键控可用于向目标传递加密的有效载荷,该目标将在执行之前使用特定于目标的值来解密有效载荷。通过从目标特定的环境值生成解密密钥,环境密钥可以使沙箱检测、防病毒检测和逆向工程变得困难。这些困难可以减缓事件响应过程,并帮助攻击者隐藏他们的战术,技术和程序。
3.5.2 缓解措施
ID | 缓解措施 | 描述 |
M1055 | 不建议缓解 | 防止攻击者工具在活动链的早期运行,并在受到攻击时识别随后的恶意行为。 |
3.5.3 检测
ID | 数据源 | 数据组件 | 检测 |
DS0017 | 命令 | 命令执行 | 监控已执行的命令和参数。 |
DS0009 | 进程 | 进程创建 | 监控新产生的可疑进程。 |
3.6 利用漏洞规避防御(T1211)
攻击者可能利用系统或应用程序漏洞绕过防御。当攻击者利用程序、服务或操作系统软件或内核本身中的编程错误来执行恶意代码时,就会出现软件漏洞的利用。
攻击者可通过侦察知道防御性安全软件中可能存在漏洞,可用于禁用或规避漏洞。
3.6.1 缓解措施
ID | 缓解措施 | 描述 |
M1048 | 应用隔离和沙箱 | 应用程序最小化授权,使攻击者难以通过沙箱进行漏洞利用。 |
M1050 | 漏洞保护 | 使用安全应用程序和控制流完整性检查可以识别和阻止软件漏洞发生。 |
M1019 | 威胁情报 | 通过威胁情报确定哪些类型和级别的威胁可能使用软件漏洞。 |
M1051 | 更新软件 | 通过对内部企业终端和服务器使用补丁管理来定期更新软件。 |
3.6.2 检测
ID | 数据源 | 数据组件 | 检测 |
DS0015 | 应用日志 | 应用日志内容 | 监控应用日志中异常进程,异常行为。 |
DS0009 | 进程 | 进程创建 | 监控创建的新进程以及进程的异常行为。 |
3.7 修改文件和目录权限(T1222)
攻击者可以修改文件或目录权限以逃避访问控制列表ACL和访问受保护的文件。文件和目录权限由文件或目录所有者配置的ACL管理,明确指定哪些用户或组可以执行哪些操作(读取、写入、执行等)。
修改文件和目录权限技术包含2项子技术,介绍如下:
3.7.1 Windows文件和目录权限修改(T1222.001)
Windows实现文件和目录Acl作为自由访问控制列表(Dacl)。与标准ACL类似,Dacls标识允许或拒绝访问安全对象的帐户。当尝试访问安全对象时,系统会按顺序检查Dacl中的访问控制条目。如果找到匹配的条目,则授予对该对象的访问权限,否则访问被拒绝。
攻击者可以使用内置的Windows命令(如icacls、cacls、takeown和attrib)与Dacl交互,这些命令可以授予攻击者对特定文件和文件夹的更高权限。此外,PowerShell还提供可用于检索或修改文件和目录Dacl的cmdlet。
3.7.2 Linux和Mac文件和目录权限修改(T1222.002)
大多数Linux和基于Linux的平台都提供了一组标准权限组(用户、组和其他)以及应用于每个组的一组标准权限(读取、写入和执行)。大多数平台都提供了两个用于操作文件和目录Acl的主要命令:chown和chmod。
攻击者可以使用这些命令使自己成为文件和目录的所有者,或者在当前权限允许的情况下更改模式,可以将其他人锁定在文件之外。
3.7.3 缓解措施
ID | 缓解措施 | 描述 |
M1026 | 特权账户管理 | 确保关键系统文件限制权限,由适当特权的帐户拥有。 |
M1022 | 限制文件和目录权限 | 对文件和目录应用更严格的权限阻止攻击者修改其访问控制列表。禁用有关本地和远程符号链接的用户设置。 |
3.7.4 检测
ID | 数据源 | 数据组件 | 检测 |
DS0026 | 活动目录 | 活动目录对象修改 | 监控对Acl和文件或目录所有权所做的更改,与基线配置进行比较,将修改事件与其他恶意行为关联分析。 |
DS0017 | 命令 | 命令执行 | 监控异常执行命令。 |
DS0022 | 文件 | 文件元数据 | 监控修改Acl和文件或目录所有权的行为。 |
DS0009 | 进程 | 进程创建 | 监控可能修改文件或目录权限的新进程。 |
四、总结
本期主要介绍了防御规避战术(二)及技术/子技术原理,下期将给大家介绍防御规避战术(三)涉及的技术原理。敬请关注。