Sub-technique of T1564 Hide Artifacts.View on attack.mitre.org
Adversaries may use hidden windows to conceal malicious activity from the plain sight of users. In some cases, windows that would typically be displayed when an application carries out an operation can be hidden. This may be utilized by system administrators to avoid disrupting user work environments when carrying out administrative tasks.
Adversaries may abuse these functionalities to hide otherwise visible windows from users so as not to alert the user to adversary activity on the system.
On macOS, the configurations for how applications run are listed in property list (plist) files. One of the tags in these files can be apple.awt.UIElement, which allows for Java applications to prevent the application's icon from appearing in the Dock. A common use for this is when applications run in the system tray, but don't also want to show up in the Dock.
Similarly, on Windows there are a variety of features in scripting languages, such as PowerShell, Jscript, and Visual Basic to make windows hidden. One example of this is powershell.exe -WindowStyle Hidden.
The Windows Registry can also be edited to hide application windows from the current user. For example, by setting the `WindowPosition` subkey in the `HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_PowerShell.exe` Registry key to a maximum value, PowerShell windows will open off screen and be hidden.
In addition, Windows supports the `CreateDesktop()` API that can create a hidden desktop window with its own corresponding explorer.exe process. All applications running on the hidden desktop window, such as a hidden VNC (hVNC) session, will be invisible to other desktops windows.
Adversaries may also leverage cmd.exe as a parent process, and then utilize a LOLBin, such as DeviceCredentialDeployment.exe, to hide windows.
Rules on DetectionCode tagged with T1564.003.
| Rule | Level | Log source |
|---|---|---|
| File Download with Headless Browser | high | windows / process_creation |
| HackTool - Covenant PowerShell Launcher | high | windows / process_creation |
| Potential Data Stealing Via Chromium Headless Debugging | high | windows / process_creation |
| Cmd Launched with Hidden Start Flags to Suspicious Targets | medium | windows / process_creation |
| Powershell Executed From Headless ConHost Process | medium | windows / process_creation |
| PUA - AdvancedRun Execution | medium | windows / process_creation |
| Suspicious PowerShell WindowStyle Option | medium | windows / ps_script |
| Browser Execution In Headless Mode | low | windows / process_creation |
| Rule | Type | Risk | Data source |
|---|---|---|---|
| Headless Browser Mockbin or Mocky Request | TTP | NULL | Sysmon EventID 1, Windows Event Log Security 4688, CrowdStrike ProcessRollup2 |
| Headless Browser Usage | Anomaly | NULL | Sysmon EventID 1, Windows Event Log Security 4688, CrowdStrike ProcessRollup2 |
| Windows ConHost with Headless Argument | TTP | NULL | Sysmon EventID 1, Windows Event Log Security 4688, CrowdStrike ProcessRollup2 |
None recorded.
| Used by | Procedure example |
|---|---|
| GroupAPT-C-36 | APT-C-36 has set the ShowWindow property of the Win32_ProcessStartup object to zero to hide PowerShell execution. |
| GroupAPT19 | APT19 used |
| GroupAPT28 | APT28 has used the WindowStyle parameter to conceal PowerShell windows. |
| GroupAPT3 | APT3 has been known to use |
| GroupAPT32 | APT32 has used the WindowStyle parameter to conceal PowerShell windows. |
| GroupCopyKittens | CopyKittens has used |
| GroupDarkHydrus | DarkHydrus has used |
| GroupDeep Panda | Deep Panda has used |
| Used by | Procedure example |
|---|---|
| MalwareAgent Tesla | Agent Tesla has used |
| MalwareAstaroth | Astaroth loads its module with the XSL script parameter |
| ToolAsyncRAT | AsyncRAT can hide the execution of scheduled tasks using `ProcessWindowStyle.Hidden`. |
| MalwareAvosLocker | AvosLocker has hidden its console window by using the `ShowWindow` API function. |
| MalwareBONDUPDATER | BONDUPDATER uses |
| MalwareBOOKWORM | BOOKWORM has created a hidden window when conducting key logging and clipboard theft through its KBLogger.dll module. |
| MalwareCANONSTAGER | CANONSTAGER has created a new window with a height and width of zero to remain hidden on the screen. |
| MalwareCuba | Cuba has executed hidden PowerShell windows. |
Data from MITRE ATT&CK® (Enterprise). ATT&CK® is a registered trademark of The MITRE Corporation.