YARA · SEKOIA.IO Community
SEKOIA_Apt_Kimsuky_Klogexe
Detects KLogExe, a keylogger used by Kimsuky
- Author
- Sekoia.io
- Date
- 2024-09-27
- Modified
- 2024-12-19
- Score / Quality
- 75 / 80
What this rule detects
Detects KLogExe, a keylogger used by Kimsuky
Associated malware family: Kimsuky, Klogexe.
Targets: Windows PE.
It defines 10 patterns (10 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SEKOIA_Apt_Kimsuky_Klogexe : FILE
{
meta:
= "Detects KLogExe, a keylogger used by Kimsuky"
= "Sekoia.io"
= "f6e3b1a5-43b6-4dac-83c2-a365c41de38d"
= "2024-09-27"
= "2024-12-19"
= "https://github.com/SEKOIA-IO/Community"
= "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/yara_rules/apt_kimsuky_klogexe.yar#L1-L32"
= "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/LICENSE.md"
= "e1d683ee1746c08c5fff1c4c2b3b02f0"
= "90946c6358eacd119fe1eb36ec7a0a18"
= "9760f489a390665b5e7854429b550c83"
= "4b616908ceacd85c5d8b527cd1a718082c709071dc1fa9c9ccc96e71dc4e7449"
= 75
= 80
= "FILE"
= "1.0"
= "TLP:CLEAR"
strings:
$event = "Norton_BreakHelper" ascii wide
$log = "------ %d/%d/%d : %d/%d ------" ascii wide
$keylog_1 = "[RM+]"
$keylog_2 = "[Tab+]"
$keylog_3 = "[Home+]"
$keylog_4 = "[End+]"
$keylog_5 = "[clip_s]: %s "
$keylog_6 = "%s[Too many clip_tail]"
$keylog_7 = "%s[F%d]"
$user_agent = "Chrome/31.0." wide
condition:
uint16be( 0 ) == 0x4d5a and filesize < 600KB and 8 of them
}
Strings (10 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $event | text | "Norton_BreakHelper" | ascii wide |
| $log | text | "------ %d/%d/%d : %d/%d ------" | ascii wide |
| $keylog_1 | text | "[RM+]" | |
| $keylog_2 | text | "[Tab+]" | |
| $keylog_3 | text | "[Home+]" | |
| $keylog_4 | text | "[End+]" | |
| $keylog_5 | text | "[clip_s]: %s " | |
| $keylog_6 | text | "%s[Too many clip_tail]" | |
| $keylog_7 | text | "%s[F%d]" | |
| $user_agent | text | "Chrome/31.0." | wide |
Condition
uint16be( 0 ) == 0x4d5a and filesize < 600KB and 8 of themIn plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- The file must be smaller than 600KB (a cheap guard that skips large files).
- At least 8 patterns in the rule must match.
Test this rule in your browser
Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.
References
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- e1d683ee1746c08c5fff1c4c2b3b02f0
- 90946c6358eacd119fe1eb36ec7a0a18
- 9760f489a390665b5e7854429b550c83
Licence & attribution
Author: Sekoia.io
Source repository: SEKOIA.IO Community @ a438a5901a
Licence: Detection Rule License 1.1 (repository licence)
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: f6e3b1a5-43b6-4dac-83c2-a365c41de38d
Metadata
| version | 1.0 |
|---|---|
| classification | TLP:CLEAR |
Tags:FILE
Related rules
- APT / threat actorSEKOIA.IO Community· Sekoia.io· 2024-09-27
- APT / threat actorSEKOIA.IO Community· Sekoia.io· 2024-09-23
- APT / threat actorSEKOIA.IO Community· Sekoia.io· 2024-06-11
- APT / threat actorSEKOIA.IO Community· Sekoia.io· 2024-03-06
- APT / threat actorSEKOIA.IO Community· Sekoia.io· 2024-03-06
- APT / threat actorSEKOIA.IO Community· Sekoia.io· 2024-06-11
- APT / threat actorSEKOIA.IO Community· Sekoia.io· 2024-09-23
- APT / threat actorSEKOIA.IO Community· Sekoia.io· 2023-09-11