This rule detects the presence of PKLite, a lightweight SQLite database engine, which adversaries may embed in custom tools or malware to store configuration data, logs, or stolen information locally without relying on standard file system artifacts. Proactively hunting for this signature helps the SOC identify low-fidelity persistence mechanisms or data staging activities that might otherwise go unnoticed due to the library’s small footprint and common use in legitimate applications.
rule PKLITEv100v103
{
meta:
author="malware-lu"
strings:
$a0 = { B8 [2] BA [2] 8C DB 03 D8 3B }
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.
pklite.exe by the SQL Server Maintenance Plan or Database Engine Tuning Advisor during routine database optimization or backup verification tasks.
sqlservr.exe or sqlagent.exe and the file path matches C:\Program Files\Microsoft SQL Server\*\*\\Shared Tools\100\Tools\Binn\pklite.exe (or similar standard SQL installation paths).pklite.exe as part of the IntelliSense database update or CMake build configuration process for C++ projects.
devenv.exe (Visual Studio) or code.exe (VS Code) and the working directory contains CMakeLists.txt or *.vcxproj files, or if the command line arguments include keywords like update or rebuild.pklite.exe to manage XML metadata or schema objects during the dbca (Database Configuration Assistant) or netca (Net Configuration Assistant) execution.
java.exe (commonly used by Oracle tools) or dbca.exe/netca.exe, and the file path resides under C:\Oracle\ or C:\app\ directories.pklite.exe for XML parsing in configuration files or log analysis during system health checks or patching.