在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化、提权战术理论知识及实战研究、部分防御规避战术,本期我们为大家介绍ATT&CK 14项战术中防御规避战术第37-42种子技术,后续会介绍其他技术,敬请关注。
MITRE ATT&CK 是一个全球可访问的基于现实世界观察的攻防战术和技术知识库。ATT&CK知识库被用作在私营部门、政府以及网络安全产品和服务社区中开发特定威胁模型和方法的基础。2023年 4月25日,MITRE ATT&CK 发布了最新版本 V13,最大的变化是为ATT&CK中的一些技术添加了详细的检测指导,用于企业,移动数据源和两种新类型的更改日志(包括一个人类可读的详细更改日志,更具体地显示更新的ATT&CK对象中的更改,以及一个机器可读的JSON更改日志,其格式在ATT&CK的Github中描述)。ATT&CK for Enterprise v13 包含14个战术、196个技术、411个子技术、138个组织和740个软件。
ATT&CK战术全景图(红框为防御规避战术)
防御规避包括攻击者在攻击过程中用来避免被发现的技术,包括禁用安全软件、加密数据和脚本、利用可信进程来隐藏或伪装恶意软件。防御规避战术包括42种技术,本期介绍第37-42种技术,逐一介绍如下:
攻击者可能会在未使用的地理服务区域中创建云实例,以逃避检测。访问通常通过用于管理云基础架构的帐户获得。云服务提供商通常在全球范围内提供基础设施,以提高性能,提供冗余,并允许客户满足合规性要求。通常情况下,客户只会使用可用区域的子集,可能不会主动监控其他区域。如果攻击者在未使用的区域中创建资源,则它们能够在未被发现的情况下运行,例如通过资源劫持来挖掘加密货币等。
3.2.1 缓解措施
ID | 缓解措施 | 描述 |
M1054 | 软件配置 | 云服务提供商允许客户停用未使用的区域。 |
3.2.2 检测
ID | 数据源 | 数据组件 | 检测 |
DS0030 | 实例 | 实例创建 | 监控系统日志以查看在所有云环境和区域中发生的行为。 |
实例元数据 | 监控在未使用的区域中的异常行为,或者异常行为数量超过某个阈值。 |
攻击者可以使用其他身份验证材料,如密码哈希、Kerberos票证和应用程序访问令牌,以便在环境中横向移动并绕过正常的系统访问控制。身份验证过程通常需要有效的身份(例如用户名)以及一个或多个身份验证因素(例如密码,pin,物理智能卡,令牌生成器等),备用身份验证材料是在用户或应用程序通过提供有效身份验证后由系统合法生成的,可以在身份创建过程期间生成备用认证材料。由于备用身份验证必须由系统维护,无论是在内存还是在磁盘中,它可能面临通过凭据访问技术被盗的风险。通过窃取备用身份验证材料,攻击者可以绕过系统访问控制并在不知道明文密码或任何其他身份验证因素的情况下对系统进行身份验证。使用备用身份验证材料技术包含4项子技术,介绍如下:
3.3.1 应用访问令牌(T1550.001)攻击者可能会使用被盗的应用程序访问令牌来绕过典型的身份验证过程,并访问远程系统上受限制的帐户、信息或服务。这些令牌通常从用户或服务中窃取,并用于代替登录凭据。应用程序访问令牌用于代表用户或服务发出授权的API请求,通常用于访问云、基于容器的应用程序和SaaS中的资源。OAuth是一个常用的框架,它向用户发出令牌以访问系统。这些框架协同使用以验证用户并确定允许用户执行哪些操作。一旦建立了身份,令牌就允许授权操作,而无需传递用户的实际凭据。因此,利用令牌可以通过恶意应用程序授予攻击者对其他站点资源的访问权限。
3.3.2 传递哈希(T1550.002)攻击者可以使用被盗的密码哈希传递哈希,在环境中横向移动,绕过正常的系统访问控制。传递哈希是一种在不访问用户明文密码的情况下作为用户进行身份验证的方法,此方法绕过需要明文密码的标准身份验证步骤,直接进入使用密码哈希的身份验证部分。执行时,使用凭据访问技术捕获正在使用的帐户的有效密码哈希,用于该用户进行身份验证。一旦经过身份验证,可在本地或远程系统上执行操作。
3.3.3 通过票证(T1550.003)对于使用Kerberos作为身份验证机制的服务,可以获得票证,可以使用密钥分发服务帐户KRBTGT帐户NTLM哈希为域获得票证,该哈希允许为AD域中的任何帐户生成票证。攻击者还可以使用其他用户信息(如被盗的密码哈希或AES密钥)创建有效的Kerberos票证。
3.3.4 Web会话Cookie(T1550.004)攻击者可以使用窃取的会话cookie对web应用程序和服务进行身份验证。此技术绕过一些多重身份验证协议,因为会话已经过身份验证。身份验证cookie通常用于web应用程序,在用户对该服务进行身份验证后,不会传递凭据,也不需要频繁地进行重新身份验证。Cookie通常在很长一段时间内有效, 通过窃取Web会话Cookie后,攻击者可以将cookie导入他们控制的浏览器,然后只要会话cookie处于活动状态,就可以将站点或应用程序为用户使用。一旦登录到网站,攻击者就可以访问敏感信息、阅读电子邮件或执行受害者帐户有权执行的操作。
3.3.5 缓解措施
ID | 缓解措施 | 描述 |
M1026 | 特权帐户管理 | 限制跨系统的凭证重复,降低攻击者在系统之间进行横向移动的能力。 |
M1018 | 用户账户管理 | 执行最小特权原则。不允许域用户在多个系统上处于本地管理员组中。 |
3.3.6 检测
ID | 数据源 | 数据组件 | 检测 |
DS0026 | 活动目录 | 活动目录凭据请求 | 监控向域控制器授予票证请求,如Windows EID4769或4768事件分析。 |
DS0015 | 应用日志 | 应用日志内容 | 监控第三方应用程序日志记录。 |
DS0028 | 登录会话 | 登录会话创建 | 在共享帐户的系统中查找可疑帐户行为。 例如:一个帐户同时登录到多个系统;多个帐户同时登录到同一台机器;帐户在工作时间以外登录等。 |
DS0002 | 用户账户 | 用户账户认证 | 监控用户访问网络或计算资源的行为,防止试用备用身份验证材料绕过鉴权。 |
DS0006 | 网络凭据 | 网络凭据使用方法 | 监控用户尝试通过提供可能使用密码哈希、Kerberos票证和应用程序访问令牌的web凭据来访问网络或计算资源,例如:Windows EID1202事件分析。 |
攻击者可以获取和利用现有帐户的凭据,作为获得初始访问、持久性、特权升级或逃避防御的手段。泄露的凭据可用于绕过访问控制,用于持久访问远程系统和外部可用服务,受威胁的凭据也可能授予攻击者对特定系统的更多特权。在系统网络中,本地、域和云帐户的权限重叠是值得关注的,因为攻击者可能跨帐户和系统访问,以达到较高的访问级别。利用有效账户技术包含4项子技术,介绍如下:
3.4.1 默认账户(T1078.001)攻击者可获取并利用默认帐户的凭据,作为获得初始访问、持久性、特权升级或防御逃避的手段。默认帐户是操作系统或其他设备内置的帐户,预置用户名和密码不修改的话很容易成为攻击者的目标。
3.4.2 域账户(T1078.002)攻击者可获取并利用域帐户凭据,作为获得初始访问、持久性、特权升级或逃避防御的手段。域帐户是由Active Directory域服务管理的帐户,其中访问和权限是跨属于该域的系统和服务配置的。域帐户可以覆盖用户、管理员和服务。
3.4.3 本地账户(T1078.003)攻击者可获取并利用本地帐户的凭据,作为获得初始访问、持久性、特权升级或防御逃避的手段。本地帐户是由组织配置的帐户,供用户、远程支持、服务在系统上管理。
3.4.4 云账户(T1078.004)攻击者可获取并利用云帐户的凭据,作为获得初始访问、持久性、特权升级或防御逃避的手段。云帐户是由组织创建和配置的帐户,供用户、远程支持、服务、云服务提供商或SaaS应用程序内的资源管理使用。云帐户的受损凭据可用于从在线存储帐户和数据库中获取敏感数据。与域帐户类似,对云帐户的入侵可能使攻击者更容易在环境中横向移动。
3.4.5 缓解措施
ID | 缓解措施 | 描述 |
M1036 | 账户使用策略 | 使用访问策略禁止来自非白名单IP的登录。 |
M1015 | 活动目录配置 | 禁用不支持MFA的旧版身份验证,并要求使用主流身份验证协议。 |
M1013 | 应用开发者指南 | 确保应用程序不会明文存储敏感数据或凭据。 |
M1027 | 密码策略 | 使用默认用户名和密码的应用程序和设备应在安装后立即更改,并在部署到生产环境之前更改。 |
M1026 | 特权账户管理 | 定期审核域和本地帐户及其权限级别,包括是否启用了默认帐户,或者是否创建了未经授权的新本地帐户。 |
M1018 | 用户账户管理 | 定期审核用户帐户的活动,并停用或删除任何不再需要的帐户。 |
M1017 | 用户培训 | 加强安全意识,启用多因素身份验证。 |
3.4.6 检测
ID | 数据源 | 数据组件 | 检测 |
DS0028 | 登录会话 | 登录会话创建 | 监控新增的登录行为。 |
登录会话元数据 | 异常登录行为监控,包括:异常账号、异常时间、异常地点等登录异常。 | ||
DS0002 | 用户账户 | 用户账户身份验证 | 监控用户帐户凭据。 |
攻击者可能会使用在自动发现期间从虚拟化/沙箱逃逸中学到的信息来塑造后续行为。攻击者可以使用多种方法来实现虚拟化/沙箱逃逸,例如检查安全监控工具(例如,Sysinternals,Wireshark等),分析虚拟化相关联的其他系统软件,检查合法的用户活动,以帮助确定它是否在分析环境中,在恶意软件代码中使用睡眠定时器或循环,以避免在临时沙箱内操作。虚拟化/沙箱逃逸技术包含3个子技术,介绍如下:
3.5.1 系统检查(T1497.001)攻击者可以使用各种系统检查来检测和避免虚拟化分析环境。如果攻击者检测到VME,他们可能会改变他们的恶意软件以隐藏核心功能,他们还可以在删除有效负载之前搜索VME。特定检查将因目标或攻击者而异,可能涉及WMI、PowerShell、系统信息发现和查询注册表等行为,攻击者可能会在内存、进程、文件系统、硬件或注册表中搜索VME。攻击者可以将这些检查自动化到一个脚本中,然后在确定系统是虚拟环境时退出程序。检查可以包括通用系统属性,如主机、域名和网络流量样本。攻击者还可以检查网络适配器地址、CPU核心计数和可用内存及驱动器大小。硬件检查,如风扇,温度和音频设备的存在,也可收集作为指示虚拟环境的证据。
3.5.2 基于用户活动的检查(T1497.002)攻击者可以根据诸如鼠标移动和点击的速度或频率、浏览器历史记录、缓存、书签或常见目录中的文件数量等变量来搜索主机上的用户活动。其他方法可能依赖于在恶意代码激活之前与系统的特定用户交互,例如在激活宏之前等待文档关闭或等待用户双击嵌入式图像激活。
3.5.3 基于时间的规避(T1497.003)基于时间的规避即恶意软件在目标系统上运行后并不会立刻进行恶意行动,而是会伪装、休眠一段时间,等到一定时间后再开始恶意行动。例如正常运行时间或系统时钟,以及使用计时器或其他触发器,使用编程睡眠命令或本机系统调度功能(例如:计划任务)在初始执行时延迟恶意软件功能。延迟也可能是基于等待特定的受害者条件得到满足(例如:系统时间、事件等),或采用预定的多阶段渠道,以避免分析和审查。合法命令也可用于延迟恶意软件执行。如Ping,可能被用来延迟恶意软件的执行,并可能超过自动分析环境的时间阈值。另一种API hammering,涉及对本机API函数进行各种调用,以延迟执行。
3.5.4 检测
ID | 数据源 | 数据组件 | 检测 |
DS0017 | 命令 | 命令执行 | 监控执行的命令和参数。 |
DS0009 | 进程 | OS API执行 | 监控异常的API调用。 |
进程创建 | 监控正在产生的可疑进程。 |
攻击者可能会破坏网络设备的加密功能,以绕过原本可以保护数据通信的加密。加密可用于保护传输的网络流量,以保持其机密性和完整性。加密密码用于将明文消息转换为密文,以便在没有关联的解密密钥的情况下进行破译。更长的密钥会增加密码分析或在没有密钥的情况下解密的成本。攻击者可以破坏和操纵执行网络流量加密的设备。例如,通过修改系统镜像、减少密钥空间和禁用加密硬件等行为,攻击者可以削弱设备安全加密网络流量的能力。这会带来更大的未经授权的泄露风险,并可能有助于促进数据操作、凭据访问或收集工作。削弱加密技术包含2项子技术,介绍如下:
3.6.1 减少密钥空间(T1600.001)攻击者可以通过降低加密通信的密码强度来降低解密通过网络传输的数据所需的工作量。攻击者可以通过减少软件用于将明文转换为密文的密钥大小(例如,从数百或数千字节到仅仅几个字节)来削弱受损网络设备上的加密软件。因此,攻击者大大减少了在没有密钥的情况下解密受保护信息所需的工作量。攻击者可以修改使用的密钥大小和网络设备CLI中的专用命令的其他加密参数,以更改设备的配置。
3.6.2 禁用加密硬件(T1600.002)许多网络设备(如路由器、交换机和防火墙)对网络流量执行加密,以确保网络间的传输安全。通常这些设备都配备了特殊的,专用的加密硬件,以大大提高加密过程的速度,以及防止恶意篡改。当攻击者控制这样的设备时,他们可能会禁用专用硬件,强制使用软件在通用处理器上执行加密,以削弱软件中密码的强度。
3.6.3 检测
ID | 数据源 | 数据组件 | 检测 |
DS0022 | 文件 | 文件修改 | 监控异常的文件修改。 |
可扩展样式表语言(XSL)文件通常用于描述XML文件中数据的处理和呈现。为了支持复杂的操作,XSL标准包括对各种语言的嵌入式脚本的支持。攻击者可能会绕过应用程序控制,并通过在XSL文件中嵌入脚本来执行代码。
3.7.1 缓解措施
ID | 缓解措施 | 描述 |
M1038 | 执行预防 | 应阻止或限制某些不必要的程序,例如msxsl.exe |
3.7.2 检测
ID | 数据源 | 数据组件 | 检测 |
DS0011 | 模块 | 模块负载 | 监控异常的二进制文件创建及DLL加载。 |
DS0009 | 进程 | 进程创建 | 监控新建的异常进程。 |
本期主要介绍了防御规避战术(七)及技术/子技术原理,下期将给大家介绍凭证访问战术涉及的技术原理。敬请关注。