This rule detects the presence of the Armadillo malware family, a known threat actor toolchain that often leverages custom tooling for initial access and lateral movement within Azure environments. Proactively hunting for this signature allows the SOC to identify dormant or active infections early, mitigating the risk of persistent footholds before they escalate to data exfiltration or privilege escalation.
rule Armadillo3X5XSiliconRealmsToolworks
{
meta:
author="malware-lu"
strings:
$a0 = { 60 E8 00 00 00 00 5D 50 51 0F CA F7 D2 9C F7 D2 0F CA EB 0F B9 EB 0F B8 EB 07 B9 EB 0F 90 EB 08 FD EB 0B F2 EB F5 EB F6 F2 EB 08 FD EB E9 F3 EB E4 FC E9 9D 0F C9 8B CA F7 D1 59 58 50 51 0F CA F7 D2 9C F7 D2 0F CA EB 0F B9 EB 0F B8 EB 07 B9 EB 0F 90 EB 08 FD EB 0B F2 EB F5 EB F6 F2 EB 08 FD EB E9 F3 EB E4 FC E9 9D 0F C9 8B CA F7 D1 59 58 50 51 0F CA F7 D2 9C F7 D2 0F CA EB 0F B9 EB 0F B8 EB 07 B9 EB 0F 90 EB 08 FD EB 0B F2 EB F5 EB F6 F2 EB 08 FD EB E9 F3 EB E4 FC E9 9D 0F C9 8B CA F7 D1 59 58 60 33 C9 75 02 EB 15 EB 33 }
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.
armadillo3x5 (or similar internal naming convention) that compiles C++ extensions for a “Silicon Realms” physics engine. The binary contains specific string markers or section headers that match the YARA rule’s heuristic for tooling artifacts.
go.exe or msbuild.exe and the executable path resides under C:\Projects\PhysicsEngine\build\ or C:\Users\<dev>\go\bin\.Toolworks_SiliconRealms_v2 via Group Policy or SCCM. The tool is a signed PE executable that includes a version string or comment section containing “Armadillo” and “3x5” as part of its internal build metadata, triggering the string-based match.
Toolworks_SiliconRealms*.exe and the digital signature is valid from the internal corporate CA, or where the process is launched by gpupdate.exe or ccmexec.exe._armadillo3x5_silicon_realms_toolworks.so (or .pyd) for high-performance matrix operations. The YARA rule matches the file header or embedded strings in the shared library during loading.
python.exe or jupyter-notebook.exe and the file path ends in site-packages\ or venv\lib\.