Actor(s): Turla
A keylogger used by Turla.
rule win_ksl0t_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-12-06" version = "1" description = "Detects win.ksl0t." info = "autogenerated rule brought to you by yara-signator" tool = "yara-signator v0.6.0" signator_config = "callsandjumps;datarefs;binvalue" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.ksl0t" malpedia_rule_date = "20231130" malpedia_hash = "fc8a0e9f343f6d6ded9e7df1a64dac0cc68d7351" malpedia_version = "20230808" malpedia_license = "CC BY-SA 4.0" malpedia_sharing = "TLP:WHITE" /* DISCLAIMER * The strings used in this rule have been automatically selected from the * disassembly of memory dumps and unpacked files, using YARA-Signator. * The code and documentation is published here: * https://github.com/fxb-cocacoding/yara-signator * As Malpedia is used as data source, please note that for a given * number of families, only single samples are documented. * This likely impacts the degree of generalization these rules will offer. * Take the described generation method also into consideration when you * apply the rules in your use cases and assign them confidence levels. */ strings: $sequence_0 = { ff15???????? 83c40c 3bf7 7515 ff15???????? } // n = 5, score = 200 // ff15???????? | // 83c40c | add esp, 0xc // 3bf7 | cmp esi, edi // 7515 | jne 0x17 // ff15???????? | $sequence_1 = { c68424a100000039 c68424a200000039 888c24a3000000 c684248000000026 } // n = 4, score = 200 // c68424a100000039 | mov byte ptr [esp + 0xa1], 0x39 // c68424a200000039 | mov byte ptr [esp + 0xa2], 0x39 // 888c24a3000000 | mov byte ptr [esp + 0xa3], cl // c684248000000026 | mov byte ptr [esp + 0x80], 0x26 $sequence_2 = { c684241001000006 88842411010000 889c2412010000 c684241301000013 } // n = 4, score = 200 // c684241001000006 | mov byte ptr [esp + 0x110], 6 // 88842411010000 | mov byte ptr [esp + 0x111], al // 889c2412010000 | mov byte ptr [esp + 0x112], bl // c684241301000013 | mov byte ptr [esp + 0x113], 0x13 $sequence_3 = { 68???????? 8d8d00080000 51 ff15???????? 8d9500080000 52 } // n = 6, score = 200 // 68???????? | // 8d8d00080000 | lea ecx, [ebp + 0x800] // 51 | push ecx // ff15???????? | // 8d9500080000 | lea edx, [ebp + 0x800] // 52 | push edx $sequence_4 = { ff942418040000 4c8bd8 488b842420040000 4c899878010000 488d542468 } // n = 5, score = 200 // ff942418040000 | add esp, 0x38 // 4c8bd8 | ret // 488b842420040000 | call dword ptr [esp + 0x418] // 4c899878010000 | dec esp // 488d542468 | mov ebx, eax $sequence_5 = { c68424f600000034 c68424f700000038 c68424f800000030 c68424f900000002 c68424fa00000055 c644245813 c64424593c } // n = 7, score = 200 // c68424f600000034 | mov byte ptr [esp + 0xf6], 0x34 // c68424f700000038 | mov byte ptr [esp + 0xf7], 0x38 // c68424f800000030 | mov byte ptr [esp + 0xf8], 0x30 // c68424f900000002 | mov byte ptr [esp + 0xf9], 2 // c68424fa00000055 | mov byte ptr [esp + 0xfa], 0x55 // c644245813 | mov byte ptr [esp + 0x58], 0x13 // c64424593c | mov byte ptr [esp + 0x59], 0x3c $sequence_6 = { c684245a01000021 c684245b01000018 c684245c01000030 c684245d01000026 c684245e01000026 c684245f01000034 } // n = 6, score = 200 // c684245a01000021 | mov ecx, esi // c684245b01000018 | mov byte ptr [esp + 0x88], 2 // c684245c01000030 | mov byte ptr [esp + 0x89], 0x55 // c684245d01000026 | mov byte ptr [esp + 0x118], 0 // c684245e01000026 | mov byte ptr [esp + 0x119], 0x3b // c684245f01000034 | mov byte ptr [esp + 0x11a], 0x3d $sequence_7 = { 4881c294000000 41b801000000 488d0dd7e60000 ff15???????? } // n = 4, score = 200 // 4881c294000000 | dec eax // 41b801000000 | lea edx, [0x2892] // 488d0dd7e60000 | dec eax // ff15???????? | $sequence_8 = { 8d94241c030000 52 53 89466c ffd7 894670 } // n = 6, score = 200 // 8d94241c030000 | lea edx, [esp + 0x31c] // 52 | push edx // 53 | push ebx // 89466c | mov dword ptr [esi + 0x6c], eax // ffd7 | call edi // 894670 | mov dword ptr [esi + 0x70], eax $sequence_9 = { 3bcf 7518 81fa00010000 7510 } // n = 4, score = 200 // 3bcf | cmp ecx, edi // 7518 | jne 0x1a // 81fa00010000 | cmp edx, 0x100 // 7510 | jne 0x12 $sequence_10 = { c684248800000002 c684248900000055 c684241801000000 c68424190100003b c684241a0100003d c684241b0100003a } // n = 6, score = 200 // c684248800000002 | dec eax // c684248900000055 | lea edx, [esp + 0x68] // c684241801000000 | dec eax // c68424190100003b | mov ecx, esi // c684241a0100003d | dec eax // c684241b0100003a | mov ecx, eax $sequence_11 = { 84c0 745a 68???????? 68???????? ff15???????? 68???????? 68???????? } // n = 7, score = 200 // 84c0 | test al, al // 745a | je 0x5c // 68???????? | // 68???????? | // ff15???????? | // 68???????? | // 68???????? | $sequence_12 = { 488bce 488905???????? ff15???????? 488bc8 e8???????? 488d1592280000 488bce } // n = 7, score = 200 // 488bce | dec eax // 488905???????? | // ff15???????? | // 488bc8 | mov eax, dword ptr [esp + 0x420] // e8???????? | // 488d1592280000 | dec esp // 488bce | mov dword ptr [eax + 0x178], ebx $sequence_13 = { ff15???????? 8bf0 6800020000 57 8d95000d0000 52 ff15???????? } // n = 7, score = 200 // ff15???????? | // 8bf0 | mov esi, eax // 6800020000 | push 0x200 // 57 | push edi // 8d95000d0000 | lea edx, [ebp + 0xd00] // 52 | push edx // ff15???????? | $sequence_14 = { 7509 488d0de2450000 eb02 33c9 e8???????? 4883c438 c3 } // n = 7, score = 200 // 7509 | jne 0xb // 488d0de2450000 | dec eax // eb02 | lea ecx, [0x45e2] // 33c9 | jmp 4 // e8???????? | // 4883c438 | xor ecx, ecx // c3 | dec eax $sequence_15 = { c68424f801000038 c68424f901000034 c68424fa01000039 c68424fb01000039 c68424fc0100003a } // n = 5, score = 200 // c68424f801000038 | mov byte ptr [esp + 0x11b], 0x3a // c68424f901000034 | dec eax // c68424fa01000039 | add edx, 0x94 // c68424fb01000039 | inc ecx // c68424fc0100003a | mov eax, 1 condition: 7 of them and filesize < 196608 }
If your designated proposal does not fit in any other category, feel free to write a free-text in the comment field below.
Please propose all changes regarding references on the Malpedia library page
Your suggestion will be reviewed before being published. Thank you for contributing!
YYYY-MM-DD
YYYY-MM
YYYY