T1564.003: 隐藏窗口

Stealth

摘要

攻击者可能使用隐藏窗口,在用户的明面视野中隐藏恶意活动。在某些情况下,应用程序执行操作时通常会显示的窗口可以被隐藏。系统管理员可能利用这一点在执行管理任务时避免干扰用户的工作环境。 攻击者可能滥用这些功能,向用户隐藏原本可见的窗口,以免用户察觉系统上的攻击者活动。(Citation: Antiquated Mac Malware) 在 macOS 上,应用程序运行方式的配置列在属性列表(plist)文件中。这些文件中的一个标签可以是 <code>apple.awt.UIElement</code>,它允许 Java 应用程序阻止应用程序图标出现在 Dock 中。一个常见用途是当应用程序在系统托盘中运行,但又不希望在 Dock 中显示时。 类似地,在 Windows 上,脚本语言(如 [PowerShell](https://attack.mitre.org/techniques/T1059/001)、Jscript 和 [Visual Basic](https://attack.mitre.org/techniques/T1059/005))中有多种功能可以使窗口隐藏。一个例子是 <code>powershell.exe -WindowStyle Hidden</code>。(Citation: PowerShell About 2019) 也可以编辑 Windows 注册表以对当前用户隐藏应用程序窗口。例如,通过将 `HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_PowerShell.exe` 注册表键中的 `WindowPosition` 子键设置为最大值,PowerShell 窗口将在屏幕外打开并被隐藏。(Citation: Cantoris Computing) 此外,Windows 支持 `CreateDesktop()` API,它可以创建一个隐藏的桌面窗口,并带有其对应的 <code>explorer.exe</code> 进程。(Citation: Hidden VNC)(Citation: Anatomy of an hVNC Attack) 所有在隐藏桌面窗口上运行的应用程序(例如隐藏 VNC(hVNC)会话)(Citation: Hidden VNC) 对其他桌面窗口都是不可见的。 攻击者还可能利用 cmd.exe(Citation: Cybereason - Hidden Malicious Remote Access) 作为父进程,然后利用 LOLBin(例如 DeviceCredentialDeployment.exe)(Citation: LOLBAS Project GitHub Device Cred Dep)(Citation: SecureList BlueNoroff Device Cred Dev) 来隐藏窗口。

来源归属

来源:MITRE ATT&CK · 置信度:high

平台

  • Linux
  • macOS
  • Windows

战术

Stealth

参考来源