Actor(s): Thrip
There is no description at this point.
rule win_spedear_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-07-11" version = "1" description = "Detects win.spedear." 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.spedear" 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 = { 99 83e207 03c2 c1f803 83c40c 85c0 } // n = 6, score = 600 // 99 | cdq // 83e207 | and edx, 7 // 03c2 | add eax, edx // c1f803 | sar eax, 3 // 83c40c | add esp, 0xc // 85c0 | test eax, eax $sequence_1 = { 50 e8???????? 8b7e0c 895e10 } // n = 4, score = 500 // 50 | push eax // e8???????? | // 8b7e0c | mov edi, dword ptr [esi + 0xc] // 895e10 | mov dword ptr [esi + 0x10], ebx $sequence_2 = { 8a5f06 50 894608 e8???????? } // n = 4, score = 500 // 8a5f06 | mov bl, byte ptr [edi + 6] // 50 | push eax // 894608 | mov dword ptr [esi + 8], eax // e8???????? | $sequence_3 = { 894618 ffd7 89461c 5f } // n = 4, score = 400 // 894618 | mov dword ptr [esi + 0x18], eax // ffd7 | call edi // 89461c | mov dword ptr [esi + 0x1c], eax // 5f | pop edi $sequence_4 = { 0fb7442414 338c8248080000 0fb7c5 038c82480c0000 33ce 836c241001 } // n = 6, score = 400 // 0fb7442414 | mov bl, byte ptr [edi + 6] // 338c8248080000 | push eax // 0fb7c5 | mov dword ptr [esi + 8], eax // 038c82480c0000 | mov bl, byte ptr [edi + 6] // 33ce | push eax // 836c241001 | mov dword ptr [esi + 8], eax $sequence_5 = { 8d754c bb04000000 bf80000000 8d442410 50 8d4c241c } // n = 6, score = 400 // 8d754c | add eax, edx // bb04000000 | sar eax, 3 // bf80000000 | add esp, 0xc // 8d442410 | and edx, 7 // 50 | add eax, edx // 8d4c241c | sar eax, 3 $sequence_6 = { 89442428 8b442430 57 6a00 6880000000 6a04 } // n = 6, score = 400 // 89442428 | sar eax, 3 // 8b442430 | add esp, 0xc // 57 | push eax // 6a00 | mov edi, dword ptr [esi + 0xc] // 6880000000 | mov dword ptr [esi + 0x10], ebx // 6a04 | mov eax, dword ptr [edi + 0x18] $sequence_7 = { ff15???????? 8b442410 8b742414 53 e8???????? } // n = 5, score = 400 // ff15???????? | // 8b442410 | add esp, 0xc // 8b742414 | and edx, 7 // 53 | add eax, edx // e8???????? | $sequence_8 = { 6a00 68???????? e8???????? 83c40c 68d0070000 } // n = 5, score = 400 // 6a00 | push 0 // 68???????? | // e8???????? | // 83c40c | add esp, 0xc // 68d0070000 | push 0x7d0 $sequence_9 = { 40 753f 57 51 56 } // n = 5, score = 400 // 40 | sar eax, 3 // 753f | add esp, 0xc // 57 | test eax, eax // 51 | cdq // 56 | and edx, 7 $sequence_10 = { 8bc7 5e 5f 5b 5d c3 6a08 } // n = 7, score = 300 // 8bc7 | mov eax, edi // 5e | pop esi // 5f | pop edi // 5b | pop ebx // 5d | pop ebp // c3 | ret // 6a08 | push 8 $sequence_11 = { 394878 7456 39487c 7451 } // n = 4, score = 300 // 394878 | cmp dword ptr [eax + 0x78], ecx // 7456 | je 0x58 // 39487c | cmp dword ptr [eax + 0x7c], ecx // 7451 | je 0x53 $sequence_12 = { 833e00 741a 6a00 6a00 } // n = 4, score = 300 // 833e00 | call edi // 741a | mov dword ptr [esi + 0x1c], eax // 6a00 | pop edi // 6a00 | push 0 $sequence_13 = { 6a00 6a00 ff7608 ff5604 6800800000 6a00 ff7608 } // n = 7, score = 300 // 6a00 | push 0 // 6a00 | push 0 // ff7608 | push dword ptr [esi + 8] // ff5604 | call dword ptr [esi + 4] // 6800800000 | push 0x8000 // 6a00 | push 0 // ff7608 | push dword ptr [esi + 8] $sequence_14 = { 889de8fdffff e8???????? 57 bf???????? 57 8d85e0fbffff 68???????? } // n = 7, score = 200 // 889de8fdffff | push 0 // e8???????? | // 57 | je 0x1c // bf???????? | // 57 | push 0 // 8d85e0fbffff | push 0 // 68???????? | $sequence_15 = { eb85 488d15286b0000 488d0d096b0000 e8???????? 488d15256b0000 } // n = 5, score = 100 // eb85 | dec eax // 488d15286b0000 | test ebx, ebx // 488d0d096b0000 | jle 0x41 // e8???????? | // 488d15256b0000 | dec eax $sequence_16 = { 48635918 4533d2 4d8bca 4885db 7e36 488bf0 } // n = 6, score = 100 // 48635918 | dec ecx // 4533d2 | sar esp, 5 // 4d8bca | dec esp // 4885db | lea ebp, [0x89ae] // 7e36 | and esi, 0x1f // 488bf0 | dec eax $sequence_17 = { 490394c140340100 f6423880 7441 e8???????? 33db 4533c9 } // n = 6, score = 100 // 490394c140340100 | lea ecx, [esp + 0x151] // f6423880 | xor edx, edx // 7441 | inc ecx // e8???????? | // 33db | mov eax, 0x103 // 4533c9 | inc eax $sequence_18 = { e8???????? 83c410 3975d8 7409 } // n = 4, score = 100 // e8???????? | // 83c410 | push 0x8000 // 3975d8 | push 0 // 7409 | push dword ptr [esi + 8] $sequence_19 = { 8d3400 33c0 66898435f4fdffff 8d85f4fdffff b9???????? e8???????? e8???????? } // n = 7, score = 100 // 8d3400 | je 0x1c // 33c0 | push 0 // 66898435f4fdffff | push 0 // 8d85f4fdffff | push dword ptr [esi + 8] // b9???????? | // e8???????? | // e8???????? | $sequence_20 = { 8bf0 3bf3 7f14 8b75dc 68???????? } // n = 5, score = 100 // 8bf0 | push 0x8000 // 3bf3 | push 0 // 7f14 | push dword ptr [esi + 8] // 8b75dc | call dword ptr [esi + 4] // 68???????? | $sequence_21 = { 488bf3 4c8be3 49c1fc05 4c8d2dae890000 83e61f 486bf658 4b8b44e500 } // n = 7, score = 100 // 488bf3 | mov ecx, dword ptr [esp + 0x30] // 4c8be3 | dec eax // 49c1fc05 | cmp ecx, eax // 4c8d2dae890000 | dec eax // 83e61f | mov esi, ebx // 486bf658 | dec esp // 4b8b44e500 | mov esp, ebx $sequence_22 = { 488bcf ff15???????? eb07 488bd5 8bce } // n = 5, score = 100 // 488bcf | inc ebp // ff15???????? | // eb07 | xor edx, edx // 488bd5 | dec ebp // 8bce | mov ecx, edx $sequence_23 = { f08303ff 7516 488d055b970000 488b4c2430 483bc8 } // n = 5, score = 100 // f08303ff | lock add dword ptr [ebx], -1 // 7516 | jne 0x18 // 488d055b970000 | dec eax // 488b4c2430 | lea eax, [0x975b] // 483bc8 | dec eax $sequence_24 = { 4088bc2460020000 e8???????? 488d8c2451010000 33d2 41b803010000 4088bc2450010000 e8???????? } // n = 7, score = 100 // 4088bc2460020000 | imul esi, esi, 0x58 // e8???????? | // 488d8c2451010000 | dec ebx // 33d2 | mov eax, dword ptr [ebp] // 41b803010000 | dec eax // 4088bc2450010000 | arpl word ptr [ecx + 0x18], bx // e8???????? | $sequence_25 = { ffc3 40302c01 3b5e1c 72ef } // n = 4, score = 100 // ffc3 | mov esi, eax // 40302c01 | inc eax // 3b5e1c | mov byte ptr [esp + 0x260], bh // 72ef | dec eax condition: 7 of them and filesize < 188416 }
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