检测微软云环境中的篡改后威胁活动

  • A+

简述

原文地址:https://us-cert.cisa.gov/ncas/alerts/aa21-008a
原定发布日期:2021年01月08日

概要

警报是AA20-352A的伴随警报:政府机构,关键基础设施和私营部门组织的高级持续威胁威胁。 AA20-352A主要关注高级持久威胁(APT)参与者对SolarWinds Orion产品的危害,作为进入美国政府机构,关键基础设施实体和专用网络组织的初始访问媒介。 如AA20-352A中所述,网络安全和基础架构安全局(CISA)除了受损的SolarWinds Orion产品之外,还具有初始访问媒介的证据。
本警报还涉及到CISA归因于APT行为者的活动--无论其利用的初始访问向量如何。具体而言,CISA 发现一个 APT 行为者在受害者的 Microsoft 365 (M365)/Azure 环境中使用受影响的应用程序。CISA 还看到该 APT 行为者利用额外的凭证和应用程序编程接口(API)访问私营和公共部门组织的云资源。这些战术、技术和程序(TTPs)的特点是三个关键部分:
* 破坏或绕过联合身份解决方案。
* 使用伪造的认证令牌横向移动到微软云环境
* 利用对受害者云环境的特权访问,为基于应用程序编程接口(API)的访问建立难以检测的持久性机制
本警报描述了这些TTPs,并对可用的开源工具(包括CISA开发的工具Sparrow)进行了概述和指导,以便网络防御者分析其Microsoft Azure活动目录(AD)、Office 365 (O365)和M365环境,以检测潜在的恶意活动。
注意:此警报描述了由这些攻击所代表的伪像,CISA从这些伪像中识别出了威胁行为者最初目标的可检测证据。 CISA继续分析威胁者的后续目标。

技术细节

CISA 经常观察到 APT 行为者通过受损的 SolarWinds Orion 产品(例如 Solorigate、Sunburst)获得对受害者企业网络的初始访问权 [TA0001]。然而,CISA 正在调查威胁行为者可能通过密码猜测 [T1110.001]、密码喷涂 [T1110.003]和/或利用不适当的安全管理或服务凭证(不安全凭证 [T1552])而不是利用受损的 SolarWinds Orion 产品获得初始访问权限的情况。
CISA 观察到该威胁行为者在受损网络中从用户上下文转为管理员权限以进行权限升级 [TA0004],并使用本地 Windows 工具和技术(如 Windows 管理工具 (WMI))枚举 Microsoft Active Directory 联邦服务 (ADFS) 证书签名功能。这种枚举允许威胁行为者伪造认证令牌(OAuth),向服务提供商发出索赔--而无需将这些索赔与身份提供商进行核对,然后横向移动到微软云环境中(横向移动[TA0008])。
威胁行为者还利用内部访问来操纵和绕过身份控制和多因素认证。这项活动展示了复杂的对手如何使用来自组织中某一部分的凭证,通过信任边界横向移动(横向移动[TA0008])、逃避防御和检测(防御规避[TA0005])以及窃取敏感数据(收集[TA0009])。
这种程度的泄密在补救上具有挑战性,需要多学科的严格努力,在恢复之前重新获得行政控制权。

缓解措施

检测

识别受影响的SolarWinds软件的指南已被详细记录。[2]但是,一旦组织通过SolarWinds Orion产品或其他威胁行为者TTP确定了危害,则要识别本地网络的后续活动就需要对网络和基于主机的取证进行微调。
由于主要供应商的技术足迹不断增长和迅速发展,因此云取证的性质是独一无二的。 Microsoft的O365和M365环境具有用于检测异常活动的内置功能。微软还提供高级服务(高级威胁防护[ATP]和Azure Sentinel),使网络防御者能够调查针对Solorigate活动的TTP。[3]

检测工具

CISA仅提供检测工具的示例,仅供参考。 CISA不认可任何商业产品或服务,包括任何分析对象。对特定商业产品,过程或服务的任何引用均不构成或暗示其对CISA的认可,推荐或偏爱。

有许多开源工具可用于调查Microsoft云环境中的对手活动并检测异常活动,服务主体和应用程序活动。[4]网络防御者可以用来调查M365和Microsoft Azure的公开可用PowerShell工具包括:
* CISA的Sparrow
* 开源工具Hawk
* CrowdStrike的Azure报告工具(CRT)
此外,微软的Office 365管理API和Graph API提供了一个开放的接口,用于摄取遥测数据和评估服务配置,以发现异常活动和入侵的迹象。
注:这些开源工具被突出显示和解释,以帮助在云环境中进行现场调查和补救,但并非包罗万象。开源工具可以通过 Azure Sentinel 等服务进行补充,Azure Sentinel 是 Microsoft 的一项高级服务,可提供全面的分析工具,包括针对所示活动的自定义检测。
使用检测工具的一般指导
* 审计服务主凭证的创建和使用情况。查找不寻常的应用程序使用情况,例如使用休眠的应用程序。
* 审计将凭证分配给允许应用程序进行非交互式登录的应用程序的情况。查找添加到 Azure Active Directory 中的意外信任关系。
* 从 Azure 管理门户下载交互式登录,或使用 Microsoft Sentinel 产品。审查具有高值的新令牌验证时间段,并调查它是合法的更改还是威胁行为者试图获得持久性。

Sparrow

CISA创建了Sparrow,以帮助网络防御人员检测Azure/M365环境中可能受到损害的账户和应用程序。该工具侧重于用户和应用程序活动的狭窄范围,这些活动是最近在多个部门看到的基于身份和认证的攻击的特有现象。它既不全面,也不包含所有可用数据。它旨在缩小现有调查模块和遥测的范围,使之与最近对联合身份源和应用程序的攻击相适应。

CISA建议Sparrow用户采取以下行动:
使用 Sparrow 来检测最近的任何域认证或联盟修改。
域和联盟修改操作并不常见,应进行调查。
检查应用于应用程序和服务委托人的新凭证和修改凭证的日志;对凭证类型进行划分。Sparrow可以用来检测服务委托人和应用凭证的修改。
为所有凭证变更创建时间轴,重点关注最近的整体变更。
审查环境中活动的 "顶级角色 "和执行的凭证修改数量。
监控应用程序和服务主要凭证的变化。
调查任何授予过度权限的实例,包括但不限于 Exchange Online、Microsoft Graph 和 Azure AD Graph。
使用 Sparrow 检测特权升级,例如将服务委托人、用户或组添加到特权角色。
使用 Sparrow 检测 OAuth 同意和用户对应用程序的同意,这对解释对手 TTP 的变化很有用。
使用 Sparrow 来识别异常的安全断言标记语言 (SAML) 令牌登录,通过枢纽统一审计日志 UserAuthenticationValue 为 16457,它是 SAML 令牌如何建立的指标,是伪造 SAML 令牌的潜在指标。
请注意,该 TTP 并未成为重要的已发布安全研究的主题,但可能表明令牌的不寻常用途,例如外部合作伙伴对 M365 资源的访客访问。
审查Sparrow导出的PowerShell日志。
审查PowerShell邮箱登录,并验证登录是否为合法操作。
审查环境中使用PowerShell的用户的PowerShell使用情况。
使用 Sparrow 检查 M365/Azure AD 中所有服务委托人和应用程序的 Graph API 应用程序权限。
调查有关 Microsoft Graph API 权限的异常活动(使用传统的 https://graph.windows.net/ 或 https://graph.microsoft.com)。Graph 经常被用作这些 TTP 的一部分,通常用于访问和操作邮箱资源。
查看 Sparrow 列出的租户的 Azure AD 域,查看这些域是否已被修改。
对于拥有 G5 或 E5 许可级别的客户,请审查 MailItemsAccessed,以了解访问用户邮箱时使用了什么应用标识 (ID)。使用 Sparrow 使用 app id 调查功能查询特定的应用程序 ID,将检查它是否正在访问邮件或文件项。
MailItemsAccessed事件为通过邮件协议或客户端访问的邮箱数据提供了稽查功能。
通过分析MailItemsAccessed动作,事件响应者可以确定哪些用户邮箱项目被威胁行为者访问并可能被泄露。即使在某些不一定以交互方式读取邮件的情况下(如绑定或同步),该事件也会被记录下来[5] 。
由此产生的可疑应用程序ID可以为事件响应者提供一个中枢,以检测需要额外分析的其他可疑应用程序。
检查应用程序在访问资源(如邮件或文件项)方面的变化。

Hawk

Hawk是一个开源的、由PowerShell驱动的、由社区开发的工具,网络防御者可以使用它来快速、轻松地从O365和Azure中收集数据进行安全调查。事件响应者和网络防御者可以调查特定的用户负责人或整个租户。它提供的数据包括IP地址和登录数据。此外,Hawk还可以跟踪并发登录情况的IP使用情况。

Hawk用户应该审查管理员账户的登录详情,并采取以下步骤:
* 调查高价值的管理账户,以检测异常或异常活动(全局管理员)。
* 启用PowerShell日志记录,并评估未用于传统或预期目的的环境中的PowerShell活动。
* PowerShell 日志不会显示在租户上运行的确切 cmdlet。
v查找具有不寻常登录位置、日期和时间的用户。
* 检查 M365/Azure AD 中服务委托人和应用程序的权限。
* 检测来自不寻常地方的资源访问频率。使用该工具转到受信任的应用程序,并查看它是否正在访问邮件或文件项目。
* 查看邮箱规则和最近的邮箱规则更改。
CrowdStrike Azure报告工具
CrowdStrike的Azure报告工具(CRT)可以帮助网络防御者分析他们的Microsoft Azure AD和M365环境,以帮助组织分析Azure AD租户和服务配置中的权限。这个工具与Sparrow有轻微的重叠,它显示了独特的项目,但它并不涵盖相同的领域。CISA之所以强调这个工具,是因为它是唯一可以用来调查这种活动的免费、开源工具之一,可以用来补充Sparrow。
检测工具的区别:
* Sparrow与CRT的不同之处在于,它寻找与最近的攻击相关联的特定泄密指标。
* CRT侧重于租户的Azure AD权限和Exchange Online配置设置,而不是统一的审计日志,这使得它的输出与Sparrow或Hawk不同。
* CRT 会返回与 Hawk 相同的服务委托人和应用程序的应用程序/委托权限的广泛范围。
* 作为其调查的一部分,Sparrow将目光聚焦在给Graph API的一组狭小的应用权限上,这在最近的攻击中是常见的。
* CRT关注Exchange Online联盟配置和联盟信任,而Sparrow则专注于列出Azure AD域。
* 网络防御者可以使用CRT审查的项目包括委托权限和应用权限、联盟配置、联盟信任、邮件转发规则、服务委托人和带有KeyCredentials的对象。

检测方法

微软将威胁行为者最近的活动分为四个主要阶段,下面将介绍这些阶段以及相关的检测方法。微软将这些阶段描述为,从企业内部身份解决方案(如ADFS)遭到破坏后的所有活动开始[6]。
注意:此步骤提供了进入云技术环境的入口向量,当威胁行为者破坏了允许 APT 直接访问云的身份解决方案或凭证时(例如,不利用 SolarWinds Orion 漏洞),此步骤是不必要的。
阶段1。伪造一个可信的认证令牌,用于访问信任内部身份提供者的资源。
这些攻击(通常被称为 "黄金安全断言标记语言 "攻击)可以使用基于云的技术和标准的内部技术相结合的方式进行分析[7]。 例如,网络防御者可以使用在Azure AD级别进行的特定委托人的OAuth索赔,并将其与内部身份进行比较。
从Azure AD门户导出登录日志,并查看 "验证方法 "字段。
注意:在 portal.azure.com,单击用户并查看身份验证详细信息(例如,日期、方法、结果)。如果没有Sentinel,这是获取这些日志的唯一方法,这对这项工作至关重要。
检测方法1:将服务提供商登录事件与活动目录联盟服务(ADFS)和域控制器中的相应认证事件相关联。
使用SAML单点登录,搜索域中没有对应事件ID为4769、1200、1202的服务商的任何登录。
检测方法2:识别ADFS中的证书导出事件。
寻找:
* IP地址和Activity_ID在EventCode 410中 以及Activity_ID和Instance_ID在EventCode 500中。
* 事件ID 4103和4104中的Export-PfxCertificate或certutil-exportPFX,其中可能包括检测证书提取技术。
* 使用Sysmon事件ID 18中的管道名为\microsoft##wid\tsql\query的ADFSdump执行的删除证书提取(排除机器上经常进行此管道连接的进程)。
* 事件ID 307(联邦服务配置被更改),它可以与具有相同实例ID的相关事件ID 510相关联,以了解更改详情(具有相同实例ID的事件ID 510可以是多个事件,每个单一事件ID 307事件)。
检测方法3:自定义SAML响应,识别非正常访问。

这种方法可以作为对未来的预防(并且只能检测到未来的活动,而不是过去的活动),因为它有助于从变化点向前识别违规行为。组织可以修改SAML响应,以包括每个服务提供商的自定义元素,以监控和检测任何异常请求[8] 。

检测方法4:检测恶意修改ADFS信任的行为
获得ADFS管理访问权的威胁行为者可以添加一个新的、受信任的ADFS,而不是提取证书和私钥,作为标准的Golden SAML攻击的一部分[9]。
网络防御人员应该查找:
* 事件ID 307(联邦服务配置被更改),可将其与具有相同实例ID的相关事件ID 510联系起来,以了解更改详情。(具有相同Instance ID的事件ID 510,每个单一事件ID 307事件可能不止一个)。
* 查看事件,特别是搜索配置。类型:IssuanceAuthority。IssuanceAuthority,其中属性值引用了一个不熟悉的域。
* 通过使用ADFS PowerShell插件,询问ADFS主机的可能活动。寻找联盟信任环境中的变化,这将表明新的ADFS来源。
阶段2:使用伪造的身份验证令牌在服务提供商中创建配置更改,如Azure AD(建立立足点)。
在威胁行为者入侵内部身份提供商后,他们通过审查微软云活动空间(Microsoft Azure和M365租户)中的活动来确定下一系列目标。
威胁行为者利用伪造身份验证令牌的能力在云环境中建立存在。行为者向现有的服务委托人添加额外的凭证。一旦威胁行为者冒充了有特权的Azure AD账户,他们很可能进一步操纵Azure/M365环境(对云中的目标采取行动)。
网络防御者应采取以下步骤:
* 审计服务委托人和应用程序凭证的创建和使用情况。Sparrow将检测对这些凭证的修改。
* 查找异常的应用程序使用情况,例如休眠或被遗忘的应用程序再次被使用。
* 审计为允许应用程序进行非交互式登录的应用程序分配凭证的情况。
* 查找已添加到 Azure AD 中的意外信任关系。从 Azure 门户下载最近 30 天的非交互式登录,或使用 Azure Sentinel)[10] 。
* 使用Hawk(以及任何可用的子模块)对特定用户进行调查。Hawk将提供IP地址、登录数据和其他数据。Hawk还可以跟踪并发登录情况下的IP使用情况。
* 查看管理员账户(如高价值管理账户,如全局管理员)的登录详情。寻找不寻常的登录地点、日期和时间。
* 审查具有高值的新令牌验证时间段,并调查这些变化是否合法或威胁行为者试图获得持久性。
阶段3:使用添加到现有应用程序或服务委托人的伪造凭证为应用程序获取OAuth访问令牌,并使用分配给该应用程序的权限调用API。
在某些情况下,威胁行为体被观察到向现有的应用程序或服务委托人增加权限。此外,还看到该行为体短暂地建立新的应用程序或服务委托人,并利用它们为现有的应用程序或服务委托人增加权限,可能是为了增加一层间接性(例如,利用它为另一个服务委托人增加一个凭证,然后将其删除)。
网络防御者应该使用Sparrow来:
检查高度特权账户;特别是使用登录日志,查找不寻常的登录地点、日期和时间。
为所有的凭证更改创建一个时间轴。
监控应用程序凭证的变化(该脚本将导出到名为AppUpdate_Operations_Export的csv中)。
检测服务委托人凭证变更和服务委托人变更(例如,如果一个角色增加了新的权限或扩大了现有的权限)。
通过ServicePrincipal_Operations_Export导出并查看该活动。
记录OAuth同意和对申请的同意
通过 Consent_Operations_Export 文件导出并查看此记录。
调查权限过高的实例,包括但不限于 Exchange Online、Microsoft Graph 和 Azure AD Graph。
审查授予服务委托人的 Microsoft Graph API 权限。
通过 ApplicationGraphPermissions cv 文件导出并查看此活动。
注意:Hawk 还可以返回服务委托人权限的完整列表,以便进一步调查。
查看顶级角色和执行的凭证修改量。
监控应用程序凭证的变化。
识别对自定义或第三方应用程序的操纵。
网络防御者应该审查在微软租户中拥有应用程序的自定义或第三方供应商目录,并对这些应用程序和信任执行上述询问原则。
审查对联盟信任设置的修改。
审查具有高值的新令牌验证时间段,并调查这是否是合法的更改或威胁行为者试图获得持久性。
脚本检测权限的升级,包括将服务负责人(SP)添加到特权角色中。将这些数据导出为名为AppRoleAssignment_Operations_Export的csv。

阶段4:一旦建立了访问权限,威胁行为者就会使用Microsoft Graph API从外部的RESTful API(冒充现有应用程序的查询)对目标进行操作。
网络防御者应该:
* 在统一审计日志(UAL)中找到的MailItemsAccessed操作中,查看所使用的应用程序ID(需要G5或E5许可证才能查看此特定细节)。
* 查询特定的应用程序ID,使用Sparrow脚本的应用程序ID调查功能来查询该应用程序ID访问的邮件和文件项(对于任何其他需要额外分析的可疑应用程序,使用应用程序ID实用程序)。
* 使用 Sparrow 检查 M365/Azure AD 中应用程序的权限。
Hawk将返回Azure_Application_Audit,而Sparrow将返回ApplicationGraphPermissions。
* 网络防御者将看到Graph API使用的IP地址。
注意:Microsoft IP地址可能不会显示为虚拟专用服务器/匿名化端点。
* 在Hawk中调查一个特定的服务委托人,如果它是一个用户特定的用户帐户。在没有 Azure Sentinel 或从登录门户手动下载和审查日志的情况下,这种活动具有挑战性。

Microsoft Telemetry Nuances

用于评估基于云的遥测源的现有工具和技术带来了传统取证技术所没有的挑战。主要是,遥测数据的保留量远远少于内部数据源的传统记录设施。超过90天的威胁行为体活动不太可能被传统来源保存,也不可能通过Microsoft M365管理API或在UAL中可见。
可通过 "服务委托人登录 "功能使用 Azure Portal 进行服务委托人日志记录。在 Azure 门户中启用设置(请参见 "诊断设置"),以便将日志摄入 Sentinel 或第三方安全信息和事件管理 (SIEM) 工具。要访问此设置以及其他功能(如日志分析工作区、存储帐户或事件集线器),必须有 Azure Premium P1 或 Premium P2 许可证。 如果不是通过 "检测方法 "部分中列出的一种方法摄取,则必须手动下载这些日志。
除Hawk和Sparrow之外的工具通常需要全局管理员权限来评估M365云安全态势。数据的日志记录能力和可见性因许可模式和订阅高级服务(如Microsoft Defender for O365和Azure Sentinel)而异。CrowdStrike称:"无法通过API进行审计,而且有要求全局管理员权限才能查看重要信息,我们发现这一点是过度的。关键信息应该很容易获得 。
M365统一访问日志中不再提供特定事件代码的文档,例如可能表明可疑SAML令牌伪造的UserAuthenticationMethod16457。关于某些事件的审计叙述不再作为微软核心文档源的一部分而存在。
使用行业标准的SIEM进行日志检测对于为微软云环境中的威胁猎取提供历史背景至关重要。标准的G3/E3许可证只提供90天的审计;如果使用G5/E5许可证所提供的高级审计许可证,审计日志可以延长到保留一年的信息。CISA指出,这种许可证的变化是主动的,而不是被动的:它允许从集成的那一刻起增强遥测的可视性和功能,但不提供对以前事件或历史背景的追溯可视性。
一个正确配置的SIEM可以提供:
* 长期存储日志数据。
* 将日志数据与端点数据和网络数据(如ADFS服务器产生的数据)、端点检测和响应数据以及身份提供者信息交叉关联。
* 能够查询Azure中应用连接器的使用情况。
内置工具,如微软云服务和M365应用程序,提供了许多与定制工具相同的可见性,并映射到MITRE ATT&CK框架和易于理解的仪表板。 然而,这些工具通常无法提取超过7天的历史数据。因此,必须仔细规划和安排适当满足治理标准和分析人员对SIEM的可用性指标的存储解决方案。

联系信息

CISA鼓励本报告的接收者提供他们可能掌握的有关这一威胁的任何其他信息。有关本报告的任何问题,请联系CISA,地址是:
* 1-888-282-0870 (From outside the United States: +1-703-235-8832)
* [email protected] (UNCLASS)
* [email protected] (SIPRNET)
* [email protected] (JWICS)
CISA鼓励您报告任何可疑活动,包括网络安全事件、可能的恶意代码、软件漏洞和网络钓鱼相关的骗局。报告表格可在CISA/US-CERT的主页上找到:http://www.us-cert.cisa.gov/

资源简介

  • 评估Solorigate风险的Azure活动目录工作手册:https://techcommunity.microsoft.com/t5/azure-active-directory-identity/azure-ad-workbook-to-help-you-assess-solorigate-risk/ba-p/2010718。
  • Volexity - 黑暗光环利用SolarWinds的妥协来破坏组织:https://www.volexity.com/blog/2020/12/14/dark-halo-leverages-solarwinds-compromise-to-breach-organizations/。
  • 如何使用Sentinel查找活动:https://www.verboon.info/2020/10/monitoring-service-principal-sign-ins-with-azuread-and-azure-sentinel/。
  • 攻击的第三方演练:https://dirkjanm.io/azure-ad-privilege-escalation-application-admin/。
  • 国家安全局关于检测滥用认证机制的咨询意见:https://media.defense.gov/2020/Dec/17/2002554125/-1/-1/0/AUTHENTICATION_MECHANISMS_CSA_U_OO_198854_20.PDF。
  • Microsoft 365 App for Splunk:https://splunkbase.splunk.com/app/3786/
  • CISA补救指南:https://us-cert.cisa.gov/ncas/alerts/aa20-352a

意见反馈

国际反诈骗局努力使本报告成为我们合作伙伴的宝贵工具,并欢迎就如何改进本出版物提出反馈意见。您可以通过以下网址回答有关本报告的几个简短问题来提供帮助:https://www.us-cert.cisa.gov/forms/feedback。
参考文献
[1] ZDNet: A second Hacking Group has Targeted SolarWinds Systems.
[2]CISA:供应链妥协。
3] Microsoft SolarWinds Post-Commossise Hunting with Azure Sentinel.
[4] Microsoft Solorigate资源中心
[5] Microsoft 365中的高级审计
[6]Microsoft: 理解 "Solorigate's "的身份IOCs。
[7]金枪鱼攻击的探测和狩猎:
[8] 同上。
[9] 同上。
[10]微软。AADServicePrincipalSignInLogs。
[11]微软。理解 "Solorigate's "的身份IOCs。
[12] Azure活动目录登录活动报告
[13]CrowdStrike: CrowdStrike推出免费工具,以识别和帮助减轻......。
[14] Microsoft 365 App for Splunk