This hypothesis targets the presence of Free Pascal v10.10 Win32 console binaries, which adversaries may leverage to execute custom scripts or tools in a low-noise manner on Windows endpoints. Proactively hunting for this specific version helps identify potential staging or execution artifacts that standard generic compiler detections might miss, ensuring visibility into niche tooling used for post-compromise activities.
rule Free_Pascal_v1010_win32_console: PEiD
{
strings:
$a = { C6 05 ?? ?? ?? 00 01 E8 ?? ?? 00 00 C6 05 ?? ?? ?? 00 00 E8 ?? ?? 00 00 50 E8 00 00 00 00 FF 25 ?? ?? ?? 00 55 89 E5 ?? EC }
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.
vstsagent.exe, jenkins.exe) or where the executable path resides within a designated CI/CD workspace directory (e.g., C:\agent\_work\).schtasks or a service to convert legacy data files (e.g., .csv to .xml) using a custom Free Pascal console application stored in a shared network drive or local system directory.
schtasks.exe or svchost.exe (Service Control Manager) and the executable path is located in a standard system or application data directory (e.g., C:\Program Files\InternalTools\ or C:\Windows\System32\).C:\Windows\Temp\, C:\ProgramData\, or C:\Users\Default\ and the parent process is gpupdate.exe or svchost.exe.