Keylogger.
rule win_aytoke_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-07-11" version = "1" description = "Detects win.aytoke." 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.aytoke" malpedia_rule_date = "20230705" malpedia_hash = "42d0574f4405bd7d2b154d321d345acb18834a41" malpedia_version = "20230715" 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 = { 83c704 81ff???????? 7ed6 85f6 7fb7 } // n = 5, score = 200 // 83c704 | add edi, 4 // 81ff???????? | // 7ed6 | jle 0xffffffd8 // 85f6 | test esi, esi // 7fb7 | jg 0xffffffb9 $sequence_1 = { 89bd44eeffff 663bf8 0f8e0becffff 6a00 e8???????? } // n = 5, score = 200 // 89bd44eeffff | mov dword ptr [ebp - 0x11bc], edi // 663bf8 | cmp di, ax // 0f8e0becffff | jle 0xffffec11 // 6a00 | push 0 // e8???????? | $sequence_2 = { 6a00 ff15???????? 68e8030000 8d9550eeffff 52 53 } // n = 6, score = 200 // 6a00 | push 0 // ff15???????? | // 68e8030000 | push 0x3e8 // 8d9550eeffff | lea edx, [ebp - 0x11b0] // 52 | push edx // 53 | push ebx $sequence_3 = { c3 8bff 55 8bec 6a01 6aff } // n = 6, score = 200 // c3 | ret // 8bff | mov edi, edi // 55 | push ebp // 8bec | mov ebp, esp // 6a01 | push 1 // 6aff | push -1 $sequence_4 = { 33c0 83c408 c645e000 8945e1 8945e5 8945e9 668945ed } // n = 7, score = 200 // 33c0 | xor eax, eax // 83c408 | add esp, 8 // c645e000 | mov byte ptr [ebp - 0x20], 0 // 8945e1 | mov dword ptr [ebp - 0x1f], eax // 8945e5 | mov dword ptr [ebp - 0x1b], eax // 8945e9 | mov dword ptr [ebp - 0x17], eax // 668945ed | mov word ptr [ebp - 0x13], ax $sequence_5 = { ffd2 8b8594f9ffff 50 ff15???????? 8b8d8cf9ffff } // n = 5, score = 200 // ffd2 | call edx // 8b8594f9ffff | mov eax, dword ptr [ebp - 0x66c] // 50 | push eax // ff15???????? | // 8b8d8cf9ffff | mov ecx, dword ptr [ebp - 0x674] $sequence_6 = { c1e106 8b048500c44100 c644080401 57 e8???????? 59 } // n = 6, score = 200 // c1e106 | shl ecx, 6 // 8b048500c44100 | mov eax, dword ptr [eax*4 + 0x41c400] // c644080401 | mov byte ptr [eax + ecx + 4], 1 // 57 | push edi // e8???????? | // 59 | pop ecx $sequence_7 = { ffd7 8b85e8fcffff 50 68???????? e8???????? } // n = 5, score = 200 // ffd7 | call edi // 8b85e8fcffff | mov eax, dword ptr [ebp - 0x318] // 50 | push eax // 68???????? | // e8???????? | $sequence_8 = { 8a08 40 84c9 75f9 2bc2 bb5c000000 85c0 } // n = 7, score = 200 // 8a08 | mov cl, byte ptr [eax] // 40 | inc eax // 84c9 | test cl, cl // 75f9 | jne 0xfffffffb // 2bc2 | sub eax, edx // bb5c000000 | mov ebx, 0x5c // 85c0 | test eax, eax $sequence_9 = { c6460401 830eff 2b34bd00c44100 c1fe06 8bc7 c1e005 03f0 } // n = 7, score = 200 // c6460401 | mov byte ptr [esi + 4], 1 // 830eff | or dword ptr [esi], 0xffffffff // 2b34bd00c44100 | sub esi, dword ptr [edi*4 + 0x41c400] // c1fe06 | sar esi, 6 // 8bc7 | mov eax, edi // c1e005 | shl eax, 5 // 03f0 | add esi, eax condition: 7 of them and filesize < 425984 }
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