This rule detects the presence of VCAsmProtector, a commercial code virtualization and obfuscation tool often used by adversaries to protect malicious payloads and evade static analysis. Proactively hunting for this indicator in Azure Sentinel helps identify compromised endpoints or suspicious artifacts that may be leveraging advanced obfuscation techniques to hide their presence within the environment.
rule VcAsmProtectorV10XVcAsm
{
meta:
author="malware-lu"
strings:
$a0 = { 55 8B EC 6A FF 68 [4] 68 [4] 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 E8 03 00 00 00 }
condition:
$a0 at pe.entry_point
}
This YARA rule can be deployed in the following contexts:
This rule contains 1 string patterns in its detection logic.
Scenario: A developer or build engineer runs a custom C/C++ application compiled with Microsoft Visual C++ (MSVC) that includes the vcasmprotector library or similar assembly-level protection features (e.g., for obfuscation or anti-debugging in proprietary internal tools). The binary is executed directly from a developer workstation or a CI/CD agent during testing phases.
C:\Users\*\src\, C:\Builds\, C:\Jenkins\workspace\) or exclude processes initiated by known build agents (e.g., jenkins.exe, agent.exe, msbuild.exe) when the parent process is a compiler or build tool.Scenario: An IT administrator deploys a legacy internal utility or a third-party software installer that was compiled with an older version of MSVC and includes assembly-level protection. The executable is run from a network share (\\fileserver\apps\) or a temporary extraction folder (C:\Temp\) during a manual patching or software distribution task.
\\fileserver\, \\apps\) or temporary directories (C:\Temp\, C:\Users\*\AppData\Local\Temp\) if the parent process is a known administrative tool (e.g., cmd.exe, powershell.exe, explorer.exe) and the user belongs to an admin group.Scenario: A scheduled task runs a proprietary backup or data integrity verification tool that uses assembly-level protection to prevent tampering. The tool is stored in a dedicated service account’s profile or a specific program data directory (e.g., C:\ProgramData\InternalTools\) and is triggered by Task Scheduler (`svchost.exe