Tarrask恶意软件使用计划任务躲避杀毒软件检测

Tarrask恶意软件使用计划任务躲避杀毒软件检测

随着 Microsoft 继续跟踪由国家支持的高优先级威胁行为者 HAFNIUM,发现了利用未修补的零日漏洞作为初始向量的新活动。Microsoft 检测和响应团队 (DART) 与 Microsoft 威胁情报中心 (MSTIC) 合作确定了针对 Zoho Manage Engine Rest API 身份验证绕过漏洞的多阶段攻击,以最初植入具有 Unit42 详述的类似属性的 Godzilla web shell团队在以前的博客中。

微软从 2021 年 8 月到 2022 年 2 月观察了 HAFNIUM,目标是电信、互联网服务提供商和数据服务领域,并扩大了从2021 年春季进行的早期操作中观察到的目标领域。

进一步的调查揭示了使用 Impacket 工具进行横向移动和执行的取证工具,以及发现了一种名为 Tarrask 的防御规避恶意软件,该恶意软件创建“隐藏”计划任务,以及删除任务属性的后续操作,以隐藏传统的计划任务识别手段。

该博客概述了 Tarrask 使用的恶意软件技术的简单性,同时强调计划任务滥用是一种非常常见的持久性和防御规避方法 -并且是一种诱人的方法。在这篇文章中,我们将演示威胁参与者如何创建计划任务、他们如何掩盖自己的踪迹、恶意软件的规避技术如何用于维护和确保系统的持久性,以及如何防范这种策略。

按计划进行:通过计划任务保持持久性

Windows 计划任务程序是一项服务,它允许用户出于合法的管理目的(例如,浏览器和其他应用程序的计划更新)在选定的计算机上执行自动化任务(计划任务)。

在整个研究过程中,我们发现威胁参与者通常利用此服务在 Windows 环境中保持持久性。

我们注意到 Tarrask 恶意软件在创建计划任务时会生成多个程序,无论是使用任务计划程序 GUI 还是schtasks命令行实用程序。分析这些工具的使用可以帮助调查人员跟踪这种持久性机制。

创建新任务时会创建以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\TASK_NAME
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks\{GUID}
Tarrask恶意软件使用计划任务躲避杀毒软件检测
图 1. Tarrask 恶意软件在创建新计划任务的同时创建新的注册表项

Tree路径中创建的第一个子项与计划任务的名称匹配。在其中创建的值(Id、Index 和 SD)包含系统内任务注册的元数据。在Tasks路径中创建的第二个子键是一个 GUID 映射到Tree键中的Id值。在(操作、路径、触发器等)中创建的值包含促进任务执行所需的基本参数。

为了演示生成的程序中的值,如下图所示,我们创建了“我的特殊任务”,设置为定期执行二进制“C:\Windows\System32\calc.exe”。

Tarrask恶意软件使用计划任务躲避杀毒软件检测
图 2. XML 文件匹配任务名称

类似信息也存储在C:\Windows\System32\Tasks中创建的无扩展名 XML 文件中,其中文件名与任务名匹配。这显示在图 2 中,我们将任务命名为“我的特殊任务”作为示例。

Tarrask恶意软件使用计划任务躲避杀毒软件检测
图 3. 无扩展名的 XML 文件

请注意,存储在 Tasks\{GUID} 键中的“Actions”值指向与任务关联的命令行。在图 2 中,在“Edit Binary Value”对话框中有对“C:\Windows\System32\calc.exe”的引用,在无扩展名 XML 文件的“<Command>”部分中引用了一个路径图 3. 如果威胁行为者已采取措施掩盖其踪迹,该值存储在两个不同位置的事实可以证明有助于恢复有关任务目的的信息。

最后,有两个 Windows 事件日志记录与计划任务的创建和操作相关的操作——Security.evtx 日志中的事件 ID 4698 和 Microsoft-Windows-TaskScheduler/Operational.evtx 日志。

默认情况下,这些都不会被审计,并且必须由管理员显式打开。Microsoft-Windows-TaskScheduler/Maintenance.evtx 默认存在,但仅包含任务计划程序引擎的维护相关信息。

有效隐藏计划任务

在这种情况下,攻击者通过 HackTool:Win64/Tarrask 创建了一个名为“WinUpdate”的计划任务,以重新建立与其命令和控制 (C&C) 基础设施的任何断开连接。这导致创建了前面部分中描述的注册表项和值,但是,威胁参与者删除了 Tree 注册表路径中的 SD 值。

Tarrask恶意软件使用计划任务躲避杀毒软件检测
图 4. 删除安全描述符 (SD) 值

在这种情况下,SD 指的是安全描述符,它决定了允许运行任务的用户。有趣的是,删除此值会导致任务从“schtasks /query”和任务计划程序中“消失”。除非审查员手动检查上述注册表路径,否则该任务实际上是隐藏的。

即使在管理员命令提示符下运行,发出“reg delete”命令来删除 SD 值也会导致“访问被拒绝”错误。删除必须发生在 SYSTEM 用户的上下文中。正是出于这个原因,Tarrask 恶意软件利用令牌盗窃来获取与 lsass.exe 进程相关的安全权限。在执行令牌盗窃后,恶意软件可以使用与 LSASS 相同的权限运行,从而使删除成为可能。

Tarrask恶意软件使用计划任务躲避杀毒软件检测
图 5. 在命令提示符中成功删除 SD

还需要注意的是,攻击者可能选择完全删除 Tree 和 Tasks 中的两个注册表项,以及在C:\Windows\System32\Tasks中创建的 XML 文件。这将有效地删除与计划任务关联的磁盘上的工件,但任务将根据定义的触发器继续运行,直到系统重新启动,或者直到负责执行任务的关联 svchost.exe 进程终止。

威胁行为者可能希望确保重启后的持久性,因此选择不执行这些步骤,而是仅删除 SD 值;但是,我们还推测威胁参与者不知道即使在删除这些组件后任务仍会继续运行。

建议和网络弹性指导

作业或任务调度程序是 Windows 操作系统中存在多年的服务。我们描述的攻击表明威胁行为者 HAFNIUM 如何表现出对 Windows 子系统的独特理解,并利用这种专业知识来掩盖目标端点上的活动,以保持受影响系统的持久性并隐藏在视线范围内。

因此,我们认识到计划任务是攻击者在实现持久性的同时自动化某些任务的有效工具,这使我们提高了对这种经常被忽视的技术的认识。我们还想提请注意这样一个事实,即威胁行为者可能会利用这种逃避方法来保持对高价值目标的访问,而这种访问方式很可能不会被发现。这对于不经常重新启动的系统(例如,关键系统,如域控制器、数据库服务器等)可能尤其成问题。

通过采用以下建议和安全指南1 ,可以减轻或检测参与者使用的和本文中描述的技术:

  • 枚举您的 Windows 环境注册表配置单元,查看HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree注册表配置单元,并识别任务键中没有 SD(安全描述符)值的任何计划任务。根据需要对这些任务进行分析。
  • 通过在 Microsoft-Windows-TaskScheduler/Operational 中启用日志记录“TaskOperational”来修改您的审核策略以识别计划任务操作。应用适合您环境的推荐 Microsoft 审核策略设置。
  • 启用并集中以下任务计划程序日志。即使任务是“隐藏的”,这些日志也会跟踪与它们相关的关键事件,这可能会导致您发现隐藏良好的持久性机制
    • Security.evtx 日志中的事件 ID 4698
    • Microsoft-Windows-TaskScheduler/Operational.evtx 日志
  • 此活动中的威胁参与者使用隐藏的计划任务通过定期重新建立与 C&C 基础设施的出站通信来维持对暴露在互联网上的关键资产的访问。通过确保对来自这些关键第 0 层和第 1 层资产的这些连接进行监控和警报,保持警惕并监控出站通信的异常行为。

侵害指标 (IOC)

以下列表提供了我们调查期间观察到的 IOC。我们鼓励客户在他们的环境中调查这些指标并实施检测和保护以识别过去的相关活动并防止未来对其系统的攻击。

SHA256文件名细节
54660bd327c9b9d60a5b45cc59477c75b4a8e2266d988da8ed9956bcc95e6795winupdate.exe、date.exe、win.exeTarrask
a3baacffb7c74dc43bd4624a6abcd1c311e70a46b40dcc695b180556a9aa3bb2windowsvc.exe、winsrv.exe、WinSvc.exe、ScriptRun.exe、Unique.exe、ngcsvc.exe、ligolo_windows_amd64.exe、proxy.zip、wshqos.exe、cert.exe、ldaputility.exeLigolo
7e0f350864fb919917914b380da8d9b218139f61ab5e9b28b41ab94c2477b16dCertCert.jsp、Cert0365.jspGodzilla web shell
(哥斯拉web shell)

Microsoft 365 Defender 检测

客户如何使用Microsoft Defender识别这一点:

Microsoft Defender 防病毒软件

Microsoft Defender for Endpoint on 检测植入物和组件如下:

HackTool:Win64/Tarrask!MSR
HackTool:Win64/Ligolo!MSR

Microsoft Defender for Endpoint 检测到如下观察到的恶意行为:

Behavior:Win32/ScheduledTaskHide.A

Microsoft Sentinel 检测

Microsoft Sentinel 客户可以使用以下检测查询来查找此活动:

  • Tarrask 恶意软件哈希 IOC:此查询标识与跨各种数据源的 Tarrask 恶意软件相关的哈希匹配。
  • 计划任务隐藏:此查询使用 Windows 安全事件来检测恶意软件尝试通过删除 SD(安全描述符)值来隐藏计划任务。删除 SD 值会导致计划任务从“schtasks /query”和任务计划程序中“消失”。
  • Microsoft Defender AV Hits:此查询使用 SecurityAlerts 表查找与 Tarrask 恶意软件相关的 Microsoft Defender AV 检测。在 Microsoft Sentinel 中,SecurityAlerts 表仅包括受影响设备的设备名称,此查询加入 DeviceInfo 表以清楚地连接其他信息,例如设备组、IP、登录用户等。这样,Microsoft Sentinel 用户可以拥有所有警报的一个视图中的相关设备信息。

1本文中包含的技术信息仅用于一般信息和教育目的,不能替代专业建议。因此,在根据此类信息采取任何行动之前,我们鼓励您咨询适当的专业人士。我们不提供基于所提供信息的特定结果或结果的任何形式的保证。因此,使用或依赖本文中包含的任何信息的风险由您自行承担。

from

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。