There is no description at this point.
rule win_stegoloader_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-12-06" version = "1" description = "Detects win.stegoloader." 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.stegoloader" 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 = { f7db 1bdb f7d3 235dfc 3bdf 7409 } // n = 6, score = 200 // f7db | neg ebx // 1bdb | sbb ebx, ebx // f7d3 | not ebx // 235dfc | and ebx, dword ptr [ebp - 4] // 3bdf | cmp ebx, edi // 7409 | je 0xb $sequence_1 = { 4a 75f0 8a043e 46 84c0 7669 0fb6c0 } // n = 7, score = 200 // 4a | dec edx // 75f0 | jne 0xfffffff2 // 8a043e | mov al, byte ptr [esi + edi] // 46 | inc esi // 84c0 | test al, al // 7669 | jbe 0x6b // 0fb6c0 | movzx eax, al $sequence_2 = { 59 eb32 8bc8 837db806 } // n = 4, score = 200 // 59 | pop ecx // eb32 | jmp 0x34 // 8bc8 | mov ecx, eax // 837db806 | cmp dword ptr [ebp - 0x48], 6 $sequence_3 = { 59 7422 43 3b5e14 76e2 ff45fc 837dfc02 } // n = 7, score = 200 // 59 | pop ecx // 7422 | je 0x24 // 43 | inc ebx // 3b5e14 | cmp ebx, dword ptr [esi + 0x14] // 76e2 | jbe 0xffffffe4 // ff45fc | inc dword ptr [ebp - 4] // 837dfc02 | cmp dword ptr [ebp - 4], 2 $sequence_4 = { 0f84f9010000 c645a443 c645a54d c645a644 } // n = 4, score = 200 // 0f84f9010000 | je 0x1ff // c645a443 | mov byte ptr [ebp - 0x5c], 0x43 // c645a54d | mov byte ptr [ebp - 0x5b], 0x4d // c645a644 | mov byte ptr [ebp - 0x5a], 0x44 $sequence_5 = { c645e968 c645ea65 c645eb6c c645ec6c c645ed5f c645ee54 c645ef72 } // n = 7, score = 200 // c645e968 | mov byte ptr [ebp - 0x17], 0x68 // c645ea65 | mov byte ptr [ebp - 0x16], 0x65 // c645eb6c | mov byte ptr [ebp - 0x15], 0x6c // c645ec6c | mov byte ptr [ebp - 0x14], 0x6c // c645ed5f | mov byte ptr [ebp - 0x13], 0x5f // c645ee54 | mov byte ptr [ebp - 0x12], 0x54 // c645ef72 | mov byte ptr [ebp - 0x11], 0x72 $sequence_6 = { 7415 ff75f4 8bcb ff7604 } // n = 4, score = 200 // 7415 | je 0x17 // ff75f4 | push dword ptr [ebp - 0xc] // 8bcb | mov ecx, ebx // ff7604 | push dword ptr [esi + 4] $sequence_7 = { 8d0481 8b0438 03c7 3bc6 720e 8b4df0 03ce } // n = 7, score = 200 // 8d0481 | lea eax, [ecx + eax*4] // 8b0438 | mov eax, dword ptr [eax + edi] // 03c7 | add eax, edi // 3bc6 | cmp eax, esi // 720e | jb 0x10 // 8b4df0 | mov ecx, dword ptr [ebp - 0x10] // 03ce | add ecx, esi $sequence_8 = { ff742414 8bce ff5004 84c0 } // n = 4, score = 200 // ff742414 | push dword ptr [esp + 0x14] // 8bce | mov ecx, esi // ff5004 | call dword ptr [eax + 4] // 84c0 | test al, al $sequence_9 = { 03df 8b03 03c7 33c9 3808 7407 } // n = 6, score = 200 // 03df | add ebx, edi // 8b03 | mov eax, dword ptr [ebx] // 03c7 | add eax, edi // 33c9 | xor ecx, ecx // 3808 | cmp byte ptr [eax], cl // 7407 | je 9 $sequence_10 = { 8d0448 0fb70438 eb07 662b5e10 0fb7c3 8b4e1c } // n = 6, score = 200 // 8d0448 | lea eax, [eax + ecx*2] // 0fb70438 | movzx eax, word ptr [eax + edi] // eb07 | jmp 9 // 662b5e10 | sub bx, word ptr [esi + 0x10] // 0fb7c3 | movzx eax, bx // 8b4e1c | mov ecx, dword ptr [esi + 0x1c] $sequence_11 = { 83c604 4b 890411 75db eb0a } // n = 5, score = 200 // 83c604 | add esi, 4 // 4b | dec ebx // 890411 | mov dword ptr [ecx + edx], eax // 75db | jne 0xffffffdd // eb0a | jmp 0xc $sequence_12 = { 33db 56 668945f4 83c002 33f6 3bd3 } // n = 6, score = 200 // 33db | xor ebx, ebx // 56 | push esi // 668945f4 | mov word ptr [ebp - 0xc], ax // 83c002 | add eax, 2 // 33f6 | xor esi, esi // 3bd3 | cmp edx, ebx $sequence_13 = { 7e68 8b4d0c 8b4508 53 56 57 8b7d10 } // n = 7, score = 200 // 7e68 | jle 0x6a // 8b4d0c | mov ecx, dword ptr [ebp + 0xc] // 8b4508 | mov eax, dword ptr [ebp + 8] // 53 | push ebx // 56 | push esi // 57 | push edi // 8b7d10 | mov edi, dword ptr [ebp + 0x10] $sequence_14 = { 7409 8b01 6a01 ff10 897d0c } // n = 5, score = 200 // 7409 | je 0xb // 8b01 | mov eax, dword ptr [ecx] // 6a01 | push 1 // ff10 | call dword ptr [eax] // 897d0c | mov dword ptr [ebp + 0xc], edi $sequence_15 = { 8a4510 f6d8 1bc0 83e004 894510 e8???????? 3bc3 } // n = 7, score = 200 // 8a4510 | mov al, byte ptr [ebp + 0x10] // f6d8 | neg al // 1bc0 | sbb eax, eax // 83e004 | and eax, 4 // 894510 | mov dword ptr [ebp + 0x10], eax // e8???????? | // 3bc3 | cmp eax, ebx condition: 7 of them and filesize < 802816 }
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