Hunt Hypothesis
This rule identifies executable files compiled with Borland Delphi or Microsoft Visual C++ that exhibit specific assembly patterns, potentially indicating the presence of custom or obfuscated malware binaries. Proactively hunting for these artifacts helps the SOC team uncover stealthy threats that may evade signature-based detections by leveraging common development frameworks to blend in with legitimate software.
YARA Rule
rule FSGv110EngdulekxtBorlandDelphiMicrosoftVisualCASM
{
meta:
author="malware-lu"
strings:
$a0 = { EB 02 CD 20 EB 02 CD 20 EB 02 CD 20 C1 E6 18 BB 80 [2] 00 EB 02 82 B8 EB 01 10 8D 05 F4 }
condition:
$a0 at pe.entry_point
}
Deployment Notes
This YARA rule can be deployed in the following contexts:
- Microsoft Defender for Endpoint — Custom indicators / advanced hunting
- Email Gateway — Attachment scanning
- File Share Monitoring — Periodic scanning of shared drives
- YARA CLI — Manual threat hunting on endpoints
This rule contains 1 string patterns in its detection logic.
False Positive Guidance
- Scenario: Development teams compiling legacy or new applications using Borland Delphi or Microsoft Visual C++ compilers on build servers or developer workstations. The resulting executables often contain specific compiler signatures, version strings, or resource sections that match the YARA rule’s pattern for these frameworks.
- Filter/Exclusion: Exclude files located in standard build output directories (e.g.,
C:\Builds\, D:\Projects\, \\fileserver\dev\builds\) or files owned by service accounts associated with CI/CD pipelines (e.g., svc-build, jenkins-agent).
- Scenario: Administrative installation or patching of enterprise software known to be built with these compilers, such as Adobe Creative Cloud, Oracle Database clients, or SAP GUI, where the installer or core binaries are detected during deployment via SCCM or Intune.
- Filter/Exclusion: Exclude processes or files initiated by known administrative tools like
ccmexec.exe (SCCM), IntuneAgent.exe, or msiexec.exe when the parent process is a recognized management agent, or exclude specific known-good file hashes for major enterprise applications.
- Scenario: Scheduled maintenance jobs or backup agents (e.g., Veeam, Commvault, or Veritas NetBackup) scanning or restoring large volumes of data, where temporary extraction of executables or scanning of archived binaries triggers the detection due to the presence of compiler artifacts in the scanned files.
- Filter/Exclusion: Exclude files located in backup scratch directories (e.g.,
C:\Veeam\Backup\, D:\Commvault\scratch\) or exclude detections where the file path contains keywords like \backup\, \scratch\, or \temp\ and the file size is consistent with typical application binaries rather