Hide Artifacts: Hidden Window
- ID
- T1564.003
- Tactics
- TA0005 Stealth
- Sub-technique of
- T1564 Hide Artifacts
- Platforms
- Linux, macOS, Windows
- Data sources
- Process Creation, Windows Registry Key Modification, Command Execution, Process Metadata, File Modification
- Source
- attack.mitre.org
- MITRE last modified
- 12 May 2026
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.[1]
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.[2]
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.[3]
In addition, Windows supports the CreateDesktop() API that can create a hidden desktop window with its own corresponding explorer.exe process.[4][5] All applications running on the hidden desktop window, such as a hidden VNC (hVNC) session,[4] will be invisible to other desktops windows.
Adversaries may also leverage cmd.exe[6] as a parent process, and then utilize a LOLBin, such as DeviceCredentialDeployment.exe,[7][8] to hide windows.
Detection
- DET0128 Detection Strategy for Hidden Windows
Data components: Process Creation, Windows Registry Key Modification, Command Execution, Process Metadata, File Modification
Mitigations (2)
- M1033 Limit Software Installation
Restrict the installation of software that may be abused to create hidden desktops, such as hVNC, to user groups that require it.
- M1038 Execution Prevention
Limit or restrict program execution using anti-virus software. On MacOS, allowlist programs that are allowed to have the plist tag. All other programs should be considered suspicious.
Groups (19)
- G0007 APT28
- G0009 Deep Panda
- G0022 APT3
- G0046 FIN7
- G0047 Gamaredon Group
- G0050 APT32
- G0052 CopyKittens
- G0059 Magic Hound
- G0073 APT19
- G0078 Gorgon Group
- G0079 DarkHydrus
- G0082 APT38
- G0094 Kimsuky
- G0099 APT-C-36
- G0126 Higaisa
- G0133 Nomadic Octopus
- G1022 ToddyCat
- G1051 Medusa Group
- G1055 VOID MANTICORE
Software (43)
- S0013 PlugX
- S0037 HAMMERTOSS
- S0250 Koadic
- S0260 InvisiMole
- S0262 QuasarRAT
- S0266 TrickBot
- S0331 Agent Tesla
- S0332 Remcos
- S0360 BONDUPDATER
- S0373 Astaroth
- S0386 Ursnif
- S0387 KeyBoy
- S0431 HotCroissant
- S0437 Kivars
- S0441 PowerShower
- S0455 Metamorfo
- S0466 WindTail
- S0491 StrongPity
- S0500 MCMD
- S0625 Cuba
- S0669 KOCTOPUS
- S0670 WarzoneRAT
- S0686 QuietSieve
- S0688 Meteor
- S0692 SILENTTRINITY
- S1020 Kevin
- S1053 AvosLocker
- S1076 QUIETCANARY
- S1086 Snip3
- S1087 AsyncRAT
- S1089 SharpDisco
- S1152 IMAPLoader
- S1172 OilBooster
- S1199 LockBit 2.0
- S1213 Lumma Stealer
- S1226 BOOKWORM
- S1237 CANONSTAGER
- S1244 Medusa Ransomware
- S1245 InvisibleFerret
- S9001 SystemBC
- S9010 GlassWorm
- S9019 PureCrypter
- S9034 Tsundere Botnet
