There is no description at this point.
rule win_artra_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-01-25" version = "1" description = "Detects win.artra." 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.artra" malpedia_rule_date = "20230124" malpedia_hash = "2ee0eebba83dce3d019a90519f2f972c0fcf9686" malpedia_version = "20230125" 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 = { 8b442410 5f 5e 83c41c c21000 5f 33c0 } // n = 7, score = 800 // 8b442410 | mov eax, dword ptr [esp + 0x10] // 5f | pop edi // 5e | pop esi // 83c41c | add esp, 0x1c // c21000 | ret 0x10 // 5f | pop edi // 33c0 | xor eax, eax $sequence_1 = { 5f 8a08 40 84c9 75f9 2bc2 880c30 } // n = 7, score = 700 // 5f | pop edi // 8a08 | mov cl, byte ptr [eax] // 40 | inc eax // 84c9 | test cl, cl // 75f9 | jne 0xfffffffb // 2bc2 | sub eax, edx // 880c30 | mov byte ptr [eax + esi], cl $sequence_2 = { 800431f3 8bc6 41 8d7801 8d9b00000000 } // n = 5, score = 700 // 800431f3 | add byte ptr [ecx + esi], 0xf3 // 8bc6 | mov eax, esi // 41 | inc ecx // 8d7801 | lea edi, [eax + 1] // 8d9b00000000 | lea ebx, [ebx] $sequence_3 = { 2bc7 3bc8 72e3 8bc6 8d5001 5f 8a08 } // n = 7, score = 700 // 2bc7 | sub eax, edi // 3bc8 | cmp ecx, eax // 72e3 | jb 0xffffffe5 // 8bc6 | mov eax, esi // 8d5001 | lea edx, [eax + 1] // 5f | pop edi // 8a08 | mov cl, byte ptr [eax] $sequence_4 = { 57 33c9 8d7801 8da42400000000 8a10 40 84d2 } // n = 7, score = 700 // 57 | push edi // 33c9 | xor ecx, ecx // 8d7801 | lea edi, [eax + 1] // 8da42400000000 | lea esp, [esp] // 8a10 | mov dl, byte ptr [eax] // 40 | inc eax // 84d2 | test dl, dl $sequence_5 = { 8d442414 50 ffd7 85c0 7445 53 } // n = 6, score = 600 // 8d442414 | lea eax, [esp + 0x14] // 50 | push eax // ffd7 | call edi // 85c0 | test eax, eax // 7445 | je 0x47 // 53 | push ebx $sequence_6 = { 8d54241c 52 ffd7 85c0 75cc 5d } // n = 6, score = 600 // 8d54241c | lea edx, [esp + 0x1c] // 52 | push edx // ffd7 | call edi // 85c0 | test eax, eax // 75cc | jne 0xffffffce // 5d | pop ebp $sequence_7 = { 2bc2 03fb 8a4f01 47 84c9 75f8 } // n = 6, score = 600 // 2bc2 | sub eax, edx // 03fb | add edi, ebx // 8a4f01 | mov cl, byte ptr [edi + 1] // 47 | inc edi // 84c9 | test cl, cl // 75f8 | jne 0xfffffffa $sequence_8 = { 8a08 880a 40 42 84c9 75f6 e8???????? } // n = 7, score = 600 // 8a08 | mov cl, byte ptr [eax] // 880a | mov byte ptr [edx], cl // 40 | inc eax // 42 | inc edx // 84c9 | test cl, cl // 75f6 | jne 0xfffffff8 // e8???????? | $sequence_9 = { 57 ff15???????? 6a6d 56 ff15???????? 8bf0 e8???????? } // n = 7, score = 600 // 57 | push edi // ff15???????? | // 6a6d | push 0x6d // 56 | push esi // ff15???????? | // 8bf0 | mov esi, eax // e8???????? | $sequence_10 = { 8b1d???????? 55 8b2d???????? 90 } // n = 4, score = 600 // 8b1d???????? | // 55 | push ebp // 8b2d???????? | // 90 | nop $sequence_11 = { 8b2d???????? 90 8b542410 8d4c2410 51 56 52 } // n = 7, score = 600 // 8b2d???????? | // 90 | nop // 8b542410 | mov edx, dword ptr [esp + 0x10] // 8d4c2410 | lea ecx, [esp + 0x10] // 51 | push ecx // 56 | push esi // 52 | push edx $sequence_12 = { e8???????? 8b3d???????? 6a00 6a00 6a00 8d442414 50 } // n = 7, score = 600 // e8???????? | // 8b3d???????? | // 6a00 | push 0 // 6a00 | push 0 // 6a00 | push 0 // 8d442414 | lea eax, [esp + 0x14] // 50 | push eax $sequence_13 = { 8bf8 85ff 0f8488000000 6a00 57 } // n = 5, score = 600 // 8bf8 | mov edi, eax // 85ff | test edi, edi // 0f8488000000 | je 0x8e // 6a00 | push 0 // 57 | push edi $sequence_14 = { 754a 6a06 6a01 6a02 ff15???????? } // n = 5, score = 500 // 754a | jne 0x4c // 6a06 | push 6 // 6a01 | push 1 // 6a02 | push 2 // ff15???????? | $sequence_15 = { 8d041e 50 55 896c2420 } // n = 4, score = 500 // 8d041e | lea eax, [esi + ebx] // 50 | push eax // 55 | push ebp // 896c2420 | mov dword ptr [esp + 0x20], ebp $sequence_16 = { 8b11 8b02 b902000000 6a50 } // n = 4, score = 500 // 8b11 | mov edx, dword ptr [ecx] // 8b02 | mov eax, dword ptr [edx] // b902000000 | mov ecx, 2 // 6a50 | push 0x50 $sequence_17 = { 5f 8bc6 5e 8b4c2404 64890d00000000 83c410 c3 } // n = 7, score = 500 // 5f | pop edi // 8bc6 | mov eax, esi // 5e | pop esi // 8b4c2404 | mov ecx, dword ptr [esp + 4] // 64890d00000000 | mov dword ptr fs:[0], ecx // 83c410 | add esp, 0x10 // c3 | ret $sequence_18 = { 52 e8???????? 83c404 33ed 85f6 7e1c } // n = 6, score = 400 // 52 | push edx // e8???????? | // 83c404 | add esp, 4 // 33ed | xor ebp, ebp // 85f6 | test esi, esi // 7e1c | jle 0x1e $sequence_19 = { ffd6 85c0 75cc 5d 5b 8b442410 } // n = 6, score = 400 // ffd6 | call esi // 85c0 | test eax, eax // 75cc | jne 0xffffffce // 5d | pop ebp // 5b | pop ebx // 8b442410 | mov eax, dword ptr [esp + 0x10] $sequence_20 = { 83e801 7426 83e801 7416 8a4c2414 8a542413 } // n = 6, score = 400 // 83e801 | sub eax, 1 // 7426 | je 0x28 // 83e801 | sub eax, 1 // 7416 | je 0x18 // 8a4c2414 | mov cl, byte ptr [esp + 0x14] // 8a542413 | mov dl, byte ptr [esp + 0x13] $sequence_21 = { 56 8d3c85e03b4100 e8???????? 83e01f 59 c1e006 0307 } // n = 7, score = 400 // 56 | push esi // 8d3c85e03b4100 | lea edi, [eax*4 + 0x413be0] // e8???????? | // 83e01f | and eax, 0x1f // 59 | pop ecx // c1e006 | shl eax, 6 // 0307 | add eax, dword ptr [edi] $sequence_22 = { b9???????? 2bcb 8bfe 8a1401 } // n = 4, score = 400 // b9???????? | // 2bcb | sub ecx, ebx // 8bfe | mov edi, esi // 8a1401 | mov dl, byte ptr [ecx + eax] $sequence_23 = { 75f9 2bc2 8b542428 50 68???????? 6a01 } // n = 6, score = 200 // 75f9 | jne 0xfffffffb // 2bc2 | sub eax, edx // 8b542428 | mov edx, dword ptr [esp + 0x28] // 50 | push eax // 68???????? | // 6a01 | push 1 $sequence_24 = { e8???????? 6a00 8d44242c 50 6a00 683f000f00 6a00 } // n = 7, score = 200 // e8???????? | // 6a00 | push 0 // 8d44242c | lea eax, [esp + 0x2c] // 50 | push eax // 6a00 | push 0 // 683f000f00 | push 0xf003f // 6a00 | push 0 $sequence_25 = { 68???????? 6801000080 ff15???????? 85c0 7549 b8???????? } // n = 6, score = 200 // 68???????? | // 6801000080 | push 0x80000001 // ff15???????? | // 85c0 | test eax, eax // 7549 | jne 0x4b // b8???????? | condition: 7 of them and filesize < 811008 }
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