在前几期文章中我们介绍了ATT&CK中侦察及资源开发战术理论知识及实战研究,通过实战场景验证行之有效的检测规则、防御措施,本期我们为大家介绍ATT&CK 14项战术中初始访问战术,后续会陆续介绍其他战术内容,敬请关注。
MITRE ATT&CK 是一个全球可访问的基于现实世界观察的对手战术和技术知识库。ATT&CK 知识库被用作在私营部门、政府以及网络安全产品和服务社区中开发特定威胁模型和方法的基础。
ATT&CK v10更新了适用于企业、移动设备和 ICS(工业控制系统)框架的技术、组和软件。最大的变化是在企业 ATT&CK 中增加了一组新的数据源和数据组件对象,这是对 ATT&CK v9 中发布的 ATT&CK 数据源名称更改的补充。在 ATT&CK v10 中更新的内容汇总了有关数据源的这些信息,同时将它们构建为新的 ATT&CK 数据源对象。
ATT&CK v10 for Enterprise包含14个战术、188个技术、379个子技术、129个组织、638个软件,一共包括38类数据源。数据源对象具有数据源的名称以及关键细节和元数据,包括 ID、定义、可以收集它的位置(收集层)、可以在什么平台上找到它,突出显示构成数据源的相关值/属性的组件。ATT&CK v10 中的数据组件分析每个亮点映射到各种(子)技术,这些技术可以用该特定数据检测到。在个别(子)技术上,数据源和组件已从页面顶部的元数据框重新定位,以与检测内容并置。这些数据源可用于 Enterprise ATT&CK 的所有平台,包括最新添加的涵盖映射到 PRE 平台技术的开源情报 (OSINT) 相关数据源。
ATT&CK战术全景图(红框为初始访问战术)
初始访问是攻击者使用各种方法在网络中获得攻击入口的技术,包括网络钓鱼和利用公司对外的Web 网站的漏洞。通过初始访问获得的攻击入口可能允许攻击者继续进行深入的渗透,例如获取有效的帐户信息和对外提供的远程服务,或者通过多次尝试口令锁住用户账户限制用户使用等。
初始访问包括9种技术,下面逐一介绍下这九种技术。
攻击者可能通过用户在正常访问网站的过程中入侵他的系统,主要包括获取浏览器的权限或者利用网站相关漏洞(比如认证漏洞等)进行攻击。存在多种向浏览器提供漏洞利用代码的方法,包括:恶意代码(如JavaScript、iFrame 和跨站点脚本等)、恶意广告、用户能操作的网站内容(比如表单提交)。
典型的攻击过程:
1) 用户访问了一个被攻击者控制的网站。
2) 脚本会自动执行,通常会在浏览器和插件中搜索可能存在漏洞的版本。
3) 用户可能需要通过忽略启用脚本或活动网站组件的警告对话框来协助此过程。
4) 在找到易受攻击的版本后,漏洞代码将被传递到浏览器。
5) 如果利用成功,除非有其他保护措施,否则它将在用户系统上执行攻击者代码。
这种攻击的对象是客户端上的软件,而用户利用客户端可能会访问公司内网,攻击者可以通过客户端合法的认证信息作为跳板合法的访问内网资源。
3.2.1.1 应用程序隔离和沙箱(M1048)
浏览器沙箱可用于减轻利用的一些影响,但沙箱逃逸可能仍然存在。其他类型的虚拟化和应用程序微分段也可以减轻客户端利用的影响。
3.2.1.2 漏洞利用保护(M1050)
可以通过安全应用程序(例如 Windows Defender Exploit Guard (WDEG) 和增强的一些专杀工具等(EMET))可用于缓解某些利用行为。控制流完整性检查(Control flow integrity)是另一种可能识别和阻止软件漏洞发生的方法。许多这些措施依赖于架构和目标应用程序二进制文件的兼容性。
3.2.1.3 限制基于 Web 的内容(M1021)
对于通过广告提供的恶意代码,广告拦截器可以帮助阻止该代码首先执行。
脚本阻止扩展可以帮助阻止在利用过程中可能常用的 JavaScript 的执行。
3.2.1.4 更新软件(M1051)
确保所有浏览器和插件保持更新有助于防止该技术的利用。使用开启了安全功能的浏览器。
防火墙和代理软件可以检查 URL 中可能存在的已知恶意域或参数。他们还可以对网站及其请求的资源进行基于威胁情报的分析,例如域的年龄、注册的对象、是否在已知的恶意列表中,或者之前有多少其他用户连接到它。(URL结合威胁情报)
网络入侵检测系统,有时带有 SSL/TLS 检查,可用于查找已知的恶意脚本、常见的脚本混淆和漏洞利用代码。
攻击者可能会试图利用面向 Internet 的计算机或程序中的弱点,使用软件、数据或命令来攻击。系统中的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但可以包括数据库(如 SQL)、标准服务(如 SMB 或 SSH)、网络设备管理和管理协议(如 SNMP 和 Smart Install)、以及任何其他具有 Internet 可访问开放套接字的应用程序,例如 Web 服务器和相关服务。对于网站和数据库,OWASP 前 10 名和 CWE 前 25 名是最常见的基于 Web 的漏洞。
浏览器沙箱可用于减轻利用的一些影响,但沙箱逃逸可能仍然存在。其他类型的虚拟化和应用程序微分段也可以减轻客户端利用的影响。
3.3.1.2 漏洞利用保护(M1050)
可以通过安全应用程序(例如 Windows Defender Exploit Guard (WDEG) 和增强的一些专杀工具等(EMET))可用于缓解某些利用行为。控制流完整性检查(Control flow integrity)是另一种可能识别和阻止软件漏洞发生的方法。许多这些措施依赖于架构和目标应用程序二进制文件的兼容性。
3.3.1.3 网络分段(M1030)
使用 DMZ 或单独的托管基础设施将面向外部的服务器/服务与网络的其余部分隔离开来。
3.3.1.4 特权账户管理(M1026)
对服务帐户使用最低权限控制管理,符合安全最小化授权原则。
3.3.1.5 更新软件(M1051)
确保所有浏览器和插件保持更新有助于防止该技术的利用。使用开启了安全功能的浏览器。
3.3.1.6 漏洞扫描(M1016)
定期扫描面向外部的系统的漏洞,并建立程序以在发现关键漏洞时快速修补系统。
监控应用程序日志中异常行为。
基于流量检测或者WAF等设备检测常见的漏洞利用事件,例如 SQL 注入。
攻击者可能会利用面向外部的远程服务来初始访问。VPN、Citrix 和其他访问机制等远程服务允许用户从外部位置连接到内部企业网络资源。通常有远程服务网关来管理这些服务的连接和凭据身份验证。Windows 远程管理和 VNC 等服务也可以在外部使用。访问有效帐户以使用该服务通常是一项要求,这可以通过凭据域名解析或在破坏企业网络后从用户那里获取凭据来获得。在操作期间,对远程服务的访问可以用作冗余或持久访问机制,也可以通过不需要身份验证的公开服务获得访问权限。在容器化环境中,这可能包括公开的 Docker API、Kubernetes API 服务器、kubelet 或 Web 应用程序。
3.4.1.1 禁用或删除功能或程序(M1042)
禁用或阻止可能不必要的远程可用服务。
3.4.1.2 限制通过网络访问资源(M1035)
通过集中管理限制对远程服务的访问。
3.4.1.3 多因素认证(M1032)
对远程服务帐户使用强大的双因素或多因素身份验证以降低凭据被盗的概率。
3.4.1.4 网络分段(M1030)
拒绝通过使用网络代理、网关和防火墙直接远程访问内部系统。
收集身份验证日志并分析异常访问模式、活动窗口和正常工作时间以外的访问。
当访问公开的远程服务不需要身份验证时,监视后续活动,例如公开的 API 或应用程序的异常外部使用。
攻击者可能会将计算机配件、计算机或网络硬件引入系统或网络中,这些系统或网络可用作获取访问权限的媒介。商业和开源产品可以利用诸如被动网络窃听、网络流量修改(即中间对手)、击键注入、通过 DMA 读取内核内存等功能,增加对现有网络的新无线接入等。
3.5.1.1 限制通过网络访问资源(M1035)
建立网络访问控制策略,例如使用设备证书和802.1x标准。将 DHCP 的使用限制在已注册的设备上,以防止未注册的设备与受信任的系统进行通信。
3.5.1.2 限制硬件安装(M1034)
通过端点安全配置和监控代理阻止未知设备安装。
资产管理系统有助于检测网络上不应该存在的计算机系统或网络设备。基于动态字典关联分析模型,当出现新增陌生IP时自动触发新增IP告警。
端点传感器可能能够通过 USB、Thunderbolt 和其他外部设备通信端口检测到硬件的添加。
攻击者可能会发送网络钓鱼消息以访问受害系统。所有形式的网络钓鱼都是以电子方式传递的社会工程。在鱼叉式网络钓鱼中,特定的个人、公司或行业将成为攻击者的目标。
攻击者可能会向受害者发送包含恶意附件或链接的电子邮件,通常是为了在受害者系统上执行恶意代码。网络钓鱼技术包含3个子技术:钓鱼附件、钓鱼链接、钓鱼消息。
3.6.1.1 战术描述
攻击者可能会发送带有恶意附件的钓鱼电子邮件,以试图访问受害系统。攻击者将文件附加到电子邮件中,并且通常依靠用户执行来获得执行。附件类型包括Microsoft Office 文档、可执行文件、PDF等。用户打开附件后,攻击者的恶意代码会利用漏洞或直接在用户系统上执行。电子邮件还可能包含有关如何解密附件(例如 zip 文件密码)的说明,以规避电子邮件边界防御。攻击者经常操纵文件扩展名和图标,以使附加的可执行文件看起来是正常的文件,或者利用一个应用程序的文件看起来是另一个应用程序的文件。
3.6.2.1 战术描述
攻击者可能会发送带有恶意链接的钓鱼电子邮件,使用链接下载电子邮件中包含的恶意软件,而不是将恶意文件附加到电子邮件本身,以避免可能检查电子邮件附件的防御措施。通常,链接将伴随着社会工程内容,并要求用户主动单击或复制 URL 并将其粘贴到浏览器中,利用用户执行。被访问的网站可能会利用漏洞攻击 Web 浏览器,或者会提示用户首先下载应用程序、文档、zip 文件甚至可执行文件。
3.6.3.1 战术描述
攻击者可能会通过第三方服务发送钓鱼消息,而不是直接通过企业电子邮件渠道,以试图访问受害系统。一个常见的例子是通过社交媒体与目标建立融洽的关系,然后将内容发送到目标在其工作计算机上使用的个人网络邮件服务。这允许攻击者绕过对工作帐户的一些电子邮件限制,并且目标更有可能打开文件。
3.6.4.1 防病毒/反恶意软件(M1049)
杀毒软件可以自动隔离可疑文件。
3.6.4.2 网络入侵防御(M1031)
网络入侵防御系统可扫描和删除恶意电子邮件附件。
3.6.4.3 限制基于Web的 内容(M1021)
确定可用于网络钓鱼的某些网站或附件类型(例如:.scr、.exe、.pif、.cpl 等)是否对业务运营是必要的。
3.6.4.4 软件配置(M1054)
使用反欺骗和电子邮件身份验证机制检查发件人域的有效性,并结合邮件的完整性过滤邮件。
3.6.4.5 用户培训(M1017)
培训用户安全意识,提升识别社会工程技术和网络钓鱼电子邮件的能力。
网络入侵检测系统和电子邮件网关可用于检测传输中带有恶意附件的网络钓鱼。
电子邮件中的 URL 检查可以帮助检测导致已知恶意站点的链接。
防病毒软件可能会检测到下载到用户计算机上的恶意文档和文件。
通过将恶意软件复制到移动介质并自动运行功能,攻击者可能会进入系统,通过修改存储在移动介质上的可执行文件或通过复制恶意软件并将其重命名为看起来像合法文件以诱骗用户在单独的系统上执行它。
3.7.1.1 端点行为防御(M1040)
在 Windows 10 上,启用攻击面减少 (ASR) 规则以阻止未签名/不受信任的可执行文件(例如 .exe、.dll 或 .scr)在USB上运行。
3.7.1.2 禁用或删除功能或程序(M1042)
如果不需要,禁用自动运行。如果业务运营不需要移动介质,则在组织策略级别禁止或限制移动介质。
3.7.1.3 限制硬件安装(M1034)
限制在网络中使用 USB 设备或其他移动介质。
部署终端防御产品实现移动设备的管控。
监控移动介质的文件访问。检测在移动介质安装后或由用户启动时从可移动媒体执行的进程。如果以这种方式使用远程访问工具进行横向移动,则执行后可能会发生其他操作,例如打开网络连接以进行命令和控制以及发现系统和网络信息。
入侵供应链可以发生在供应链的任何阶段,包括:
开发工具的操作
开发环境的操作
源代码存储库的操作
在开源依赖项中操作源代码
操纵软件更新/分发机制
受损/受感染的系统映像
用修改版本替换合法软件
向合法经销商销售修改/假冒产品
入侵供应链技术包含3个子技术:入侵软件依赖和开发工具、入侵软件供应链、入侵硬件供应链。
3.8.1.1 战术描述
攻击者可能会在最终消费者收到之前操纵软件依赖关系和开发工具,以达到数据或系统危害的目的。应用程序通常依赖外部软件才能正常运行。在许多应用程序中用作依赖项的流行开源项目可能会成为攻击者添加恶意代码的入口。
3.8.2.1 战术描述
软件供应链的危害可以通过多种方式发生,包括操纵应用程序源代码、操纵该软件的更新/分发机制,或用修改版本替换已编译的版本。
3.8.3.1 战术描述
通过修改供应链中的硬件或固件,攻击者可以将后门插入可能难以检测到的消费者网络中,并使攻击者对系统具有高度控制权。硬件后门可以插入到各种设备中,例如服务器、工作站、网络基础设施或外围设备。
3.8.4.1 更新软件(M1051)
实施补丁管理流程来检查未使用的依赖项、未维护的或以前易受攻击的依赖项、不必要的功能、组件、文件和文档。
3.8.4.2 漏洞扫描(M1016)
实施对漏洞来源的持续监控以及自动和手动代码审查工具的使用。
通过散列检查或其他完整性检查机制对分布式二进制文件进行验证。扫描下载的恶意签名并在部署之前尝试测试软件和更新,同时注意潜在的可疑活动。对硬件进行物理检查以寻找潜在的篡改。
攻击者可能会破坏或以其他方式利用可以接触到目标受害者的组织。通过受信任的第三方关系进行访问会绕过网络访问权限的标准机制。
3.9.1.1 网络分段(M1030)
网络分段可用于隔离不需要广泛网络访问的基础设施组件。
3.9.1.2 用户账户控制(M1052)
正确管理受信任关系中各方使用的帐户和权限,以尽量减少该方的潜在滥用以及该方被对手入侵的情况。
部署IAM身份识别与访问管理系统进行权限、账号、身份等多维度统一认证管理。
攻击者可能会获取和滥用现有帐户的凭据,受损凭据可用于绕过对网络内系统上各种资源的访问控制,甚至可用于对远程系统和外部可用服务的持久访问。被泄露的凭证还可能授予攻击者增加特定系统的特权或访问网络的受限区域。利用有效账户技术包含4个子技术:默认账户、域账户、本地账户、云账户。
3.10.1 默认账户(T1078.001)
默认帐户是操作系统内置的帐户,例如 Windows 系统上的访客或管理员帐户。
默认账户不限于客户端机器,还包括为网络设备和计算机应用程序等设备预设的账户,预设用户名和密码组合的设备对安装后不更改的组织构成严重威胁,因为它们很容易成为攻击者的目标。同样,攻击者也可能利用公开披露或被盗的私钥通过远程服务合法地连接到远程环境。
3.10.2 域账户(T1078.002)
攻击者可能会通过操作系统凭据转储或密码重用等各种手段破坏域帐户,其中一些帐户具有高级别的权限,从而允许访问域的特权资源。
3.10.3 本地账户(T1078.003)
本地帐户是由组织配置供用户、远程支持、服务使用或用于管理单个系统或服务的帐户。本地帐户也可能被滥用以通过操作系统凭据转储来提升权限和获取凭据。
3.10.4 云账户(T1078.004)
云帐户是由组织创建和配置的帐户,供用户远程支持或服务使用,或用于管理云服务提供商或 SaaS 应用程序中的资源。云帐户的受损凭据可用于从在线存储帐户和数据库中收集敏感数据。还可以滥用对云帐户的访问权限,通过滥用信任关系获得对网络的初始访问权限。与域帐户类似,联合云帐户的入侵可能使攻击者更容易在环境中横向移动。
确保应用程序安全地存储敏感数据或凭据。
使用默认用户名和密码的应用程序和设备应在安装后和部署到生产环境之前立即更改。
3.10.5.3 特权账户管理(M1026)
定期审核域和本地帐户及其权限级别,以查找可能允许攻击者通过获取特权帐户的凭据来获得广泛访问权限的情况。这些审核还应包括是否启用了默认帐户,或者是否创建了未经授权的新本地帐户等以限制跨管理层的特权帐户使用。
3.10.5.4 用户培训(M1017)
应用程序可能会发送推送通知以验证登录作为多因素身份验证的一种形式。培训用户只接受有效的推送通知并报告可疑的推送通知。
基于安全管理平台智能关联分析引擎,检测可疑帐户行为,包括:
一个账号同时登录多个系统
多个账号同时登录同一台机器
工作时间以外登录的帐户
单账号多IP登录
沉默账号、失效账号登录
登录成功后短时间内注销的账号
账号绕堡垒机登录
SSH跳板登录
也可以定期审计登录行为,比如登录会话创建,登录后的上下文行为等发现异常行为。
本期主要介绍了初始访问战术及技术/子技术原理,下期将给大家介绍初始访问战术覆盖的实战型场景验证过程及行之有效的检测规则、防御措施等。敬请关注。
相关分享:
2021 ATT&CK v10版本更新指南
ATT&CK v10版本战术介绍—侦察
ATT&CK v10版本战术实战研究--侦察
ATT&CK v10版本战术介绍—资源开发