Cross-source coverage

T1497.001 / ATT&CK

Virtualization/Sandbox Evasion: System Checks

11 rules · 10 families across 5 sources.

From MITRE ATT&CK 19.2

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.

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. 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.

Tactics
Stealth · Discovery
Platforms
Linux · macOS · Windows
Telemetry
WinEventLog:Sysmonauditd:SYSCALLmacos:unifiedlog

How MITRE says to detect it DET0168

Virtualization/Sandbox Evasion via System Checks across Windows, Linux, macOS

Windows Analytic 0478

Script or binary performs a rapid sequence of system discovery checks (e.g., CPU count, RAM size, registry keys, running processes) indicative of VM detection

  • WinEventLog:Sysmon EventCode=1
  • WinEventLog:Sysmon EventCode=7
  • WinEventLog:Sysmon EventCode=10

Linux Analytic 0479

Shell script or binary uses multiple system commands (e.g., dmidecode, lscpu, lspci) in quick succession to detect virtualization environment

  • auditd:SYSCALL execve of system tools like dmidecode, lspci, lscpu, dmesg, systemd-detect-virt

macOS Analytic 0480

Bash, Swift, or Objective-C programs enumerate system profile, I/O registry, or inspect kernel extensions to identify VM artifacts

  • macos:unifiedlog exec or spawn of 'system_profiler', 'ioreg', 'kextstat', 'sysctl', or calls to sysctl API

SigmaHQ/sigma

3 rules
Detection Severity Format
Powershell Detect Virtualization Environment Medium Sigma
System Information Discovery Using System_Profiler Medium Sigma
System Information Discovery Via Sysctl - MacOS Medium Sigma

elastic/detection-rules

3 rules
Detection Severity Format
Virtual Machine Fingerprinting High Elastic TOML
Suspicious SIP Check by macOS Application Medium Elastic TOML
Virtual Machine Fingerprinting via Grep Medium Elastic TOML

chainguard-dev/osquery-defense-kit

2 rules
Detection Severity Format
Unexpected calls to macOS system utilities (event-based) Undefined osquery SQL
Unexpected calls to system utilities (event-based) Undefined osquery SQL

socfortress/Wazuh-Rules

2 rules · 1 family
Detection Severity Format
Virtualization detection command executed: systemd-detect-virt 2 variants High Wazuh XML
Virtualization detection command executed: systemd-detect-virt 2 variants High Wazuh XML

elastic/protections-artifacts

1 rule
Detection Severity Format
Potential Virtual Machine Fingerprinting via VMDetect Undefined Elastic TOML

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.