This hypothesis targets the presence of ACProtect-packed binaries, a common obfuscation technique used by adversaries to hide malicious payloads and evade signature-based detection. Proactively hunting for these indicators in Azure Sentinel allows the SOC to identify potentially compromised endpoints or suspicious artifacts that may be leveraging packing to mask their true intent before they execute further malicious actions.
rule PseudoSigner_01_ACProtect_109_additional: PEiD
{
strings:
$a = { 60 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 EB 02 00 00 90 90 90 04 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 EB 06 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 EB 06 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 EB 02 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 EB 08 00 90 90 90 EB 06 00 00 90 90 90 90 90 90 EB 06 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 04 90 90 90 90 90 90 90 90 90 90 90 90 90 90 00 01 E9 }
condition:
$a at pe.entry_point
}
This YARA rule can be deployed in the following contexts:
This rule contains 1 string patterns in its detection logic.
ACProtect.exe or ACProtectGUI.exe during manual application hardening tasks by the DevOps or Security Engineering team.
cmd.exe, powershell.exe, or pwsh.exe and the command line contains arguments like /s, /p, or /o (indicating specific protection operations), or exclude based on the specific file path C:\Tools\ACProtect\bin\ACProtect.exe.java.exe (Jenkins agent), node.exe (CI runner), or dotnet.exe (build tool), and the working directory matches known CI/CD workspace paths such as C:\Jenkins\workspace\ or D:\AzureDevOps\agent\.schtasks.exe or taskeng.exe (Task Scheduler engine), and the user context is a known service account (e.g., DOMAIN\svc-maintenance or DOMAIN\svc-build).\Temp\, \tmp\, or \Setup\ and the parent process is `