Krilog
Table of Contents
Overview
Spyware:Win32/Krilog (or Keylogger:Win32/Krilog) is a malicious tool designed specifically to capture a user's keystrokes (`T1056.001`), mouse clicks, and sometimes screen contents (`T1113`) without their knowledge or consent. It is a primary tool used by attackers for credential harvesting, corporate espionage, and identity theft.
Understanding Krilog (Keylogger)
To an end-user, a Krilog infection is entirely invisible; the software is designed specifically to hide its presence while silently recording activity. For a SOC analyst, a keylogger detection implies a total compromise of confidentiality for that host. Every password typed, every email drafted, and every secure portal accessed while the keylogger was active must be considered compromised.
Execution and Data Capture Mechanics
Krilog is typically dropped by a primary infection vector (like a trojan delivered via malspam). Once active, it uses low-level Windows APIs (such as `SetWindowsHookEx`) to intercept hardware events before they reach the intended application (`T1056.001`). It records these events into a hidden, encrypted log file (often stored in `%Temp%` or `%AppData%`). On a scheduled basis, Krilog bundles this log file and exfiltrates it to the attacker's C2 server (`T1041`), often via SMTP (email), FTP, or HTTP POST.
Indicators of Compromise & Impact
The impact is severe credential compromise and data theft. Host-based IoCs include EDR alerts for suspicious API hooking (e.g., a non-standard process injecting hooks into `explorer.exe` or browser processes). The presence of hidden, rapidly growing text or encrypted files in user profile directories is a strong indicator. Network IoCs involve regular, small bursts of outbound traffic (often SMTP or FTP) corresponding to the exfiltration of the keylog files.
MITRE ATT&CK Techniques
Observed techniques used by this family, mapped to our technical analysis hubs and the official MITRE ATT&CK framework:
| Technique | Name | Tactic | Official Spec |
|---|---|---|---|
T1056.001 | Input Capture: Keylogging (The primary function of the malware) | Credential Access | ATT&CK ↗ |
T1055 | Process Injection (Injecting hooks into legitimate processes to capture input) | Defense Evasion | ATT&CK ↗ |
T1041 | Exfiltration Over C2 Channel (Sending the captured logs to the attacker) | Exfiltration | ATT&CK ↗ |
Tactical Mitigations
Based on the techniques used by this family, consider the following defensive strategies:
- T1056.001: Implement Endpoint Detection and Response (EDR) to monitor for suspicious API calls related to keystroke interception. Enforce Multi-Factor Authentication (MFA) to render stolen passwords useless.
MITRE D3FEND™ Defensive Countermeasures
Defensive techniques mapped to counter the offensive tradecraft observed in this family (via the MITRE D3FEND matrix):
| D3FEND ID | Countermeasure Name | Tactic | Countered ATT&CK | Defensive Guidance |
|---|---|---|---|---|
D3-EAF | Egress Analysis and Filtering | Isolate | T1041 | Enforce perimeter TLS inspection and alert on anomalous outbound data volume ratios transmitting over active C2 channels. |
D3-PIAD | Process Injection Analysis & Detection | Detect | T1055 | Monitor cross-process thread creation (CreateRemoteThread) and asynchronous procedure calls (QueueUserAPC). |
D3-MFA | Multi-factor Authentication | Harden | T1056.001 | Enforce FIDO2 / WebAuthn physical tokens to render keystroke-intercepted passwords useless. |
Tiered Detection Rules (Cisco CAIRN Model)
Modern threat detection requires multi-layered rule engineering. We classify detections into three operational tiers based on signal fidelity:
Tier 1 Primitive Artifact Rule (Fast Triage)
Matches raw strings and file markers. Vulnerable to binary repacking and simple obfuscation.
rule MALWARE_WIN_KRILOG_T1_ARTIFACT {
meta:
description = "Tier 1 Primitive Artifact: Raw string matches for Krilog"
tier = "T1 - Primitive Artifact"
confidence = "Low-Medium (Fast Triage)"
author = "SystemHelpdesk Threat Research Desk"
date = "2026-10-14"
strings:
$s1 = "krilog" ascii wide nocase
condition:
uint16(0) == 0x5a4d and any of them
}
Tier 2 Behavioral Context Rule (Process Chains & Sigma)
Tracks parent-child process anomalies and suspicious scripting telemetry. Resilient against file renames.
title: SystemHelpDesk Detection - Krilog (Trojan) Execution & Triage
id: 360bc215-c5ac-5942-add3-3dfa34d5ae8f
status: production
description: Detects execution, defense evasion, and persistence behaviors associated
with the Krilog malware family. Detects suspicious execution from temporary user
directories with hidden window flags and background transfer utilities.
references:
- https://malware-families-catalog.systemhelpdesk.com/families/krilog
- https://malware-families-catalog.systemhelpdesk.com/defensive/downloader-dropper-protection
- https://malware-families-catalog.systemhelpdesk.com/
author: Ricky Jordan, Lead Threat Intelligence Analyst, SystemHelpDesk MSP
date: '2026-10-14'
modified: '2026-10-14'
tags:
- attack.trojan
- author.ricky-jordan
- source.systemhelpdesk-mfc
- attack.t1056_001
- attack.t1041
- attack.t1055
logsource:
category: process_creation
product: windows
detection:
selection_process:
Image|endswith:
- \cmd.exe
- \powershell.exe
- \cscript.exe
- \wscript.exe
CommandLine|contains:
- AppData\Local\Temp
- -WindowStyle Hidden
- /e:jscript
- bitsadmin /transfer
condition: selection_process
falsepositives:
- Legitimate enterprise administrative scripts during approved change windows
- Authorized IT software deployment utilities and backup management agents
level: medium
Tier 3 Attribution Fingerprint Rule (High Fidelity)
Deep signature matching distinctive operational fingerprints and payload characteristics.
rule MALWARE_WIN_KRILOG_T3_ATTRIBUTION {
meta:
description = "Tier 3 Attribution Fingerprint: Heuristic detection for Krilog tradecraft"
tier = "T3 - Attribution Fingerprint"
confidence = "High (Confirmed Family Signature)"
author = "SystemHelpdesk Threat Research Desk"
date = "2026-10-14"
strings:
// Core family identifier & heuristic payload signatures
$attrib_str = "krilog" ascii wide nocase
$pe_magic = "MZ" ascii
$net_marker = "http" ascii nocase
condition:
uint16(0) == 0x5a4d and ($attrib_str and $net_marker) and filesize < 15MB
}
Containment & Response Steps
Ordered checklist for responders. Adapt to your environment and engage professional support for active incidents.
- Isolate the endpoint immediately to prevent any further exfiltration of the captured keystrokes.
- Assume all passwords typed on this machine since the estimated time of infection are compromised; force immediate password resets across all corporate accounts.
- Analyze the exfiltrated log files (if they can be recovered locally) to determine exactly what sensitive data was stolen.
- Use EDR or AV to identify and remove the Krilog executable and its associated registry persistence keys.
What to Avoid
Common mistakes during response to this family that can destroy evidence, spread the infection, or worsen recovery.
- Do not allow the user to type their new passwords on the infected machine until it has been completely wiped and re-imaged.
- Avoid closing the incident after removing the malware; the stolen credentials represent an ongoing threat.
References & External Analysis
- Search "krilog" on VirusTotal (External Analysis)
- Search "krilog" on Any.Run (Sandbox Sandbox)
- Search "krilog" on MalwareBazaar (Malware Samples)
Frequently Asked Questions
What is Krilog and what threat category does it belong to?
Krilog is classified as a Trojan. Documented across security telemetry, it is engineered to execute unauthorized operations, establish persistent footholds on target endpoints, and facilitate malicious campaigns targeting enterprise and individual environments.
How does Krilog establish persistence and evade defensive controls?
Krilog typically establishes persistence through registry run keys, scheduled tasks, or service installations, while evading signature-based antivirus solutions through code obfuscation, memory injection, or anti-analysis sandbox checks.
What are the essential incident response steps for mitigating a Krilog compromise?
Security teams responding to Krilog should immediately isolate affected endpoints from the network, perform memory triage to capture volatile forensic artifacts, audit registry and startup persistence mechanisms, revoke exposed user credentials, and restore systems from verified, clean backups.
What secondary payloads and staging behaviors are commonly associated with Krilog?
Krilog frequently operates as a loader or dropper designed to establish a foothold before downloading and executing secondary high-impact malware payloads. Depending on the threat actor's objectives, these dropped modules can range from ransomware and banking injects to modular infostealers and remote management backdoors.
How can security operations teams effectively detect and hunt for Krilog across enterprise endpoints?
Defenders should hunt for Krilog by deploying behavioral endpoint detection and response (EDR) rules that monitor suspicious process spawning (such as cmd.exe or powershell.exe spawned from office documents or temporary directories), anomalous outbound network connections from non-browser binaries, and unauthorized modifications to Windows Run keys and scheduled task registries.
How do I remove the Krilog Trojan from Windows?
Manual removal of Krilog is highly discouraged as it may leave persistence mechanisms intact. We recommend disconnecting the device from the internet and utilizing a professional incident response service or enterprise-grade EDR software to conduct a full forensic sweep.
Is Krilog a virus or a Trojan?
Krilog is classified as a Trojan. Unlike traditional viruses that infect files, modern malware like Krilog typically operates as a standalone payload designed to compromise systems, steal data, or deploy secondary stage implants.
What are the main symptoms of a Krilog infection?
Symptoms of Krilog can include unexpected system slowness, unauthorized outbound network traffic to unknown IP addresses, disabled security software, and suspicious background processes running from AppData or Temp directories.
Protect Your Network Against Trojans
Want to prevent Krilog and similar threats from compromising your organization? Read our comprehensive defensive guide: Banking Trojan Protection for Businesses.
📣 Threat Intel Correction or Update?
Notice an outdated IOC, unlisted alias, or disputed attribution? Threat researchers are invited to propose an update on GitHub or contact the SystemHelpDesk research desk. All community revisions are credited in our public CHANGELOG.
Machine-readable
Get this profile as JSON: https://malware-families-catalog.systemhelpdesk.com/api/krilog.json
Ecosystem & Interactive Environments
This profile is part of the Malware Families Catalog, a public dataset of 2,899 malware families. The catalog is also published across our ecosystem: Hugging Face, Kaggle, Zenodo, Replit, StackBlitz, CodeSandbox, and CodePen.