Virtualization/Sandbox Evasion

Adversaries may employ various means 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.

Adversaries may use several methods to accomplish Virtualization/Sandbox Evasion such as checking for security monitoring tools (e.g., Sysinternals, Wireshark, etc.) or other system artifacts associated with analysis or virtualization. Adversaries may also check for legitimate user activity to help determine if it is in an analysis environment. Additional methods include use of sleep timers or loops within malware code to avoid operating within a temporary sandbox.[1]

ID: T1497
Sub-techniques:  T1497.001, T1497.002, T1497.003
Platforms: Linux, Windows, macOS
Data Sources: Command: Command Execution, Process: OS API Execution, Process: Process Creation
Defense Bypassed: Anti-virus, Host forensic analysis, Signature-based detection, Static File Analysis
Contributors: Deloitte Threat Library Team; Sunny Neo
Version: 1.2
Created: 17 April 2019
Last Modified: 21 April 2021

Procedure Examples

ID Name Description
S0331 Agent Tesla

Agent Tesla has he ability to perform anti-sandboxing and anti-virtualization checks.[2]

S0534 Bazar

Bazar can attempt to overload sandbox analysis by sending 1550 calls to printf.[3]

S0484 Carberp

Carberp has removed various hooks before installing the trojan or bootkit to evade sandbox analysis or other analysis software.[4]

S0023 CHOPSTICK

CHOPSTICK includes runtime checks to identify an analysis environment and prevent execution on it.[5]

S0046 CozyCar

Some versions of CozyCar will check to ensure it is not being executed inside a virtual machine or a known malware analysis sandbox environment. If it detects that it is, it will exit.[6]

G0012 Darkhotel

Darkhotel malware has employed just-in-time decryption of strings to evade sandbox detection.[7]

S0554 Egregor

Egregor has used multiple anti-analysis and anti-sandbox techniques to prevent automated analysis by sandboxes.[8][9]

S0499 Hancitor

Hancitor has used a macro to check that an ActiveDocument shape object in the lure message is present. If this object is not found, the macro will exit without downloading additional payloads.[10]

S0532 Lucifer

Lucifer can crash a debugger by passing a format string to OutputDebugStringA().[11]

S0455 Metamorfo

Metamorfo has embedded a "vmdetect.exe" executable to identify virtual machines at the beginning of execution.[12]

S0148 RTM

RTM can detect if it is running within a sandbox or other virtualized analysis environment.[13]

S0380 StoneDrill

StoneDrill has used several anti-emulation techniques to prevent automated analysis by emulators or sandboxes.[14]

Mitigations

This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.

Detection

Virtualization, sandbox, user activity, and related discovery techniques will likely occur in the first steps of an operation but may also occur throughout as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as lateral movement, based on the information obtained. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. Monitoring for suspicious processes being spawned that gather a variety of system information or perform other forms of Discovery, especially in a short period of time, may aid in detection.

References