Virtualization/Sandbox Evasion: System Checks
- ID
- T1497.001
- Tactics
- TA0005 Stealth, TA0007 Discovery
- Sub-technique of
- T1497 Virtualization/Sandbox Evasion
- Platforms
- Linux, macOS, Windows
- Data sources
- Process Creation, Module Load, Process Access
- Source
- attack.mitre.org
- MITRE last modified
- 12 Sep 2026
Adversaries may employ various system checks to detect and avoid virtualization and analysis environments. This may include changing behaviors based on the results of checks for the presence of artifacts indicative of a virtual machine environment (VME) or sandbox. If the adversary detects a VME, they may alter their malware to disengage from the victim or conceal the core functions of the implant. They may also search for VME artifacts before dropping secondary or additional payloads. Adversaries may use the information learned from Virtualization/Sandbox Evasion during automated discovery to shape follow-on behaviors.[1]
Specific checks will vary based on the target and/or adversary, but may involve behaviors such as Windows Management Instrumentation, PowerShell, System Information Discovery, and Query Registry to obtain system information and search for VME artifacts. Adversaries may search for VME artifacts in memory, processes, file system, hardware, and/or the Registry. Adversaries may use scripting to automate these checks into one script and then have the program exit if it determines the system to be a virtual environment.
Checks could include generic system properties such as host/domain name and samples of network traffic. Adversaries may also check the network adapters addresses, CPU core count, and available memory/drive size. Once executed, malware may also use File and Directory Discovery to check if it was saved in a folder or file with unexpected or even analysis-related naming artifacts such as malware, sample, or hash.
Other common checks may enumerate services running that are unique to these applications, installed programs on the system, manufacturer/product fields for strings relating to virtual machine applications, and VME-specific hardware/processor instructions.[2] In applications like VMWare, adversaries can also use a special I/O port to send commands and receive output.
Hardware checks, such as the presence of the fan, temperature, and audio devices, could also be used to gather evidence that can be indicative a virtual environment. Adversaries may also query for specific readings from these devices.[3]
Detection
- DET0168 Virtualization/Sandbox Evasion via System Checks across Windows, Linux, macOS
Data components: Process Creation, Module Load, Process Access
Groups (7)
- G0012 Darkhotel
- G0047 Gamaredon Group
- G0049 OilRig
- G0090 WIRTE
- G0094 Kimsuky
- G0120 Evilnum
- G1017 Volt Typhoon
Software (63)
- S0013 PlugX
- S0024 Dyre
- S0094 Trojan.Karagany
- S0182 FinFisher
- S0192 Pupy
- S0226 Smoke Loader
- S0237 GravityRAT
- S0240 ROKRAT
- S0242 SynAck
- S0248 yty
- S0260 InvisiMole
- S0264 OopsIE
- S0270 RogueRobin
- S0332 Remcos
- S0333 UBoatRAT
- S0337 BadPatch
- S0352 OSX_OCEANLOTUS.D
- S0354 Denis
- S0373 Astaroth
- S0396 EvilBunny
- S0428 PoetRAT
- S0438 Attor
- S0439 Okrum
- S0527 CSPY Downloader
- S0531 Grandoreiro
- S0532 Lucifer
- S0559 SUNBURST
- S0561 GuLoader
- S0576 MegaCortex
- S0588 GoldMax
- S0612 WastedLocker
- S0626 P8RAT
- S0627 SodaMaster
- S0637 NativeZone
- S0644 ObliqueRAT
- S0650 QakBot
- S0657 BLUELIGHT
- S0679 Ferocious
- S0689 WhisperGate
- S1018 Saint Bot
- S1019 Shark
- S1039 Bumblebee
- S1048 macOS.OSAMiner
- S1064 SVCReady
- S1066 DarkTortilla
- S1070 Black Basta
- S1086 Snip3
- S1087 AsyncRAT
- S1111 DarkGate
- S1122 Mispadu
- S1130 Raspberry Robin
- S1145 Pikabot
- S1147 Nightdoor
- S1159 DUSTTRAP
- S1160 Latrodectus
- S1179 Exbyte
- S1180 BlackByte Ransomware
- S1207 XLoader
- S1213 Lumma Stealer
- S9018 HeartCrypt
Showing 60 of 63. Full list on attack.mitre.org.
