Actor(s): DragonOK, Samurai Panda
There is no description at this point.
rule win_former_first_rat_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-12-06" version = "1" description = "Detects win.former_first_rat." 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.former_first_rat" 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 = { 899424ec030000 898c24e8030000 8b4f10 8d9424e8030000 6a00 52 898424f8030000 } // n = 7, score = 200 // 899424ec030000 | mov dword ptr [esp + 0x3ec], edx // 898c24e8030000 | mov dword ptr [esp + 0x3e8], ecx // 8b4f10 | mov ecx, dword ptr [edi + 0x10] // 8d9424e8030000 | lea edx, [esp + 0x3e8] // 6a00 | push 0 // 52 | push edx // 898424f8030000 | mov dword ptr [esp + 0x3f8], eax $sequence_1 = { 894c240c 8bd3 3bc1 7420 8d642400 8bf0 } // n = 6, score = 200 // 894c240c | mov dword ptr [esp + 0xc], ecx // 8bd3 | mov edx, ebx // 3bc1 | cmp eax, ecx // 7420 | je 0x22 // 8d642400 | lea esp, [esp] // 8bf0 | mov esi, eax $sequence_2 = { 52 bb1c000000 8d742428 894c245c c744246000000000 } // n = 5, score = 200 // 52 | push edx // bb1c000000 | mov ebx, 0x1c // 8d742428 | lea esi, [esp + 0x28] // 894c245c | mov dword ptr [esp + 0x5c], ecx // c744246000000000 | mov dword ptr [esp + 0x60], 0 $sequence_3 = { e8???????? 8b8d0cffffff 68???????? 51 e8???????? } // n = 5, score = 200 // e8???????? | // 8b8d0cffffff | mov ecx, dword ptr [ebp - 0xf4] // 68???????? | // 51 | push ecx // e8???????? | $sequence_4 = { ff15???????? 33c0 66833d????????09 0f94c0 a3???????? 6808020000 } // n = 6, score = 200 // ff15???????? | // 33c0 | xor eax, eax // 66833d????????09 | // 0f94c0 | sete al // a3???????? | // 6808020000 | push 0x208 $sequence_5 = { c785e8feffff0f000000 899decfeffff 899df0feffff 899d04ffffff 899df4feffff } // n = 5, score = 200 // c785e8feffff0f000000 | mov dword ptr [ebp - 0x118], 0xf // 899decfeffff | mov dword ptr [ebp - 0x114], ebx // 899df0feffff | mov dword ptr [ebp - 0x110], ebx // 899d04ffffff | mov dword ptr [ebp - 0xfc], ebx // 899df4feffff | mov dword ptr [ebp - 0x10c], ebx $sequence_6 = { e8???????? 8d8de0feffff 51 bb08000000 e8???????? 8b9df8feffff 57 } // n = 7, score = 200 // e8???????? | // 8d8de0feffff | lea ecx, [ebp - 0x120] // 51 | push ecx // bb08000000 | mov ebx, 8 // e8???????? | // 8b9df8feffff | mov ebx, dword ptr [ebp - 0x108] // 57 | push edi $sequence_7 = { 8bf2 8bfb 81c208020000 b982000000 81c308020000 f3a5 3bd0 } // n = 7, score = 200 // 8bf2 | mov esi, edx // 8bfb | mov edi, ebx // 81c208020000 | add edx, 0x208 // b982000000 | mov ecx, 0x82 // 81c308020000 | add ebx, 0x208 // f3a5 | rep movsd dword ptr es:[edi], dword ptr [esi] // 3bd0 | cmp edx, eax $sequence_8 = { 48897c2428 488d05169b0200 488907 488d4f08 e8???????? } // n = 5, score = 100 // 48897c2428 | mov esi, dword ptr [esi + 0x20] // 488d05169b0200 | dec eax // 488907 | add esi, 0xffffff70 // 488d4f08 | dec eax // e8???????? | $sequence_9 = { 480f42db 4883792010 7206 488b4908 eb04 } // n = 5, score = 100 // 480f42db | dec eax // 4883792010 | mov dword ptr [esp + 0x28], edi // 7206 | dec eax // 488b4908 | lea eax, [0x29b16] // eb04 | dec eax $sequence_10 = { 48837e2008 7209 488b4e08 e8???????? 488d4608 } // n = 5, score = 100 // 48837e2008 | dec eax // 7209 | cmp dword ptr [esi + 0x20], 8 // 488b4e08 | jb 0xb // e8???????? | // 488d4608 | dec eax $sequence_11 = { 48895c2468 0f28442450 660f7f442450 0f284c2460 660f7f4c2460 } // n = 5, score = 100 // 48895c2468 | mov dword ptr [esp + 0x60], ebp // 0f28442450 | inc eax // 660f7f442450 | mov byte ptr [esp + 0x50], ch // 0f284c2460 | dec eax // 660f7f4c2460 | mov ecx, ebx $sequence_12 = { 48896c2460 40886c2450 488bcb e8???????? } // n = 4, score = 100 // 48896c2460 | dec eax // 40886c2450 | add dword ptr [esi + 0x20], edi // 488bcb | dec eax // e8???????? | $sequence_13 = { 488d4754 48894760 48832100 488b4748 48832000 } // n = 5, score = 100 // 488d4754 | mov dword ptr [edi], eax // 48894760 | dec eax // 48832100 | lea ecx, [edi + 8] // 488b4748 | dec eax // 48832000 | mov dword ptr [esp + 0x68], ebx $sequence_14 = { 90 48017e20 488b7620 4881c670ffffff } // n = 4, score = 100 // 90 | mov ecx, dword ptr [esi + 8] // 48017e20 | dec eax // 488b7620 | lea eax, [esi + 8] // 4881c670ffffff | nop $sequence_15 = { 488b7968 488d0532800200 8bf2 488bd9 } // n = 4, score = 100 // 488b7968 | movaps xmm0, xmmword ptr [esp + 0x50] // 488d0532800200 | movdqa xmmword ptr [esp + 0x50], xmm0 // 8bf2 | movaps xmm1, xmmword ptr [esp + 0x60] // 488bd9 | movdqa xmmword ptr [esp + 0x60], xmm1 condition: 7 of them and filesize < 626688 }
If your designated proposal does not fit in any other category, feel free to write a free-text in the comment field below. Changes regarding references should be proposed on the Malpedia library page.
Your suggestion will be reviewed before being published. Thank you for contributing!
YYYY-MM-DD
YYYY-MM
YYYY