There is no description at this point.
rule win_stegoloader_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" 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 = "20260422" malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14" malpedia_version = "20260504" 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 = { 8b5204 8b5208 85d2 7405 895128 fec0 } // n = 6, score = 200 // 8b5204 | mov edx, dword ptr [edx + 4] // 8b5208 | mov edx, dword ptr [edx + 8] // 85d2 | test edx, edx // 7405 | je 7 // 895128 | mov dword ptr [ecx + 0x28], edx // fec0 | inc al $sequence_1 = { 8a09 ff442414 48 880a 75eb 89742408 } // n = 6, score = 200 // 8a09 | mov cl, byte ptr [ecx] // ff442414 | inc dword ptr [esp + 0x14] // 48 | dec eax // 880a | mov byte ptr [edx], cl // 75eb | jne 0xffffffed // 89742408 | mov dword ptr [esp + 8], esi $sequence_2 = { eb02 33f6 3bf3 7477 8b06 53 } // n = 6, score = 200 // eb02 | jmp 4 // 33f6 | xor esi, esi // 3bf3 | cmp esi, ebx // 7477 | je 0x79 // 8b06 | mov eax, dword ptr [esi] // 53 | push ebx $sequence_3 = { 50 8d45f4 50 8b4508 53 53 ff5008 } // n = 7, score = 200 // 50 | push eax // 8d45f4 | lea eax, [ebp - 0xc] // 50 | push eax // 8b4508 | mov eax, dword ptr [ebp + 8] // 53 | push ebx // 53 | push ebx // ff5008 | call dword ptr [eax + 8] $sequence_4 = { 53 53 6a04 53 53 c70044000000 c7402c01000000 } // n = 7, score = 200 // 53 | push ebx // 53 | push ebx // 6a04 | push 4 // 53 | push ebx // 53 | push ebx // c70044000000 | mov dword ptr [eax], 0x44 // c7402c01000000 | mov dword ptr [eax + 0x2c], 1 $sequence_5 = { 50 ff75f4 8d45e8 50 83c604 } // n = 5, score = 200 // 50 | push eax // ff75f4 | push dword ptr [ebp - 0xc] // 8d45e8 | lea eax, [ebp - 0x18] // 50 | push eax // 83c604 | add esi, 4 $sequence_6 = { 8945ec e8???????? 8b7d08 33f6 8945f0 } // n = 5, score = 200 // 8945ec | mov dword ptr [ebp - 0x14], eax // e8???????? | // 8b7d08 | mov edi, dword ptr [ebp + 8] // 33f6 | xor esi, esi // 8945f0 | mov dword ptr [ebp - 0x10], eax $sequence_7 = { 59 747c 56 57 6a14 e8???????? } // n = 6, score = 200 // 59 | pop ecx // 747c | je 0x7e // 56 | push esi // 57 | push edi // 6a14 | push 0x14 // e8???????? | $sequence_8 = { c645f36c c645f46c c645f500 56 } // n = 4, score = 200 // c645f36c | mov byte ptr [ebp - 0xd], 0x6c // c645f46c | mov byte ptr [ebp - 0xc], 0x6c // c645f500 | mov byte ptr [ebp - 0xb], 0 // 56 | push esi $sequence_9 = { c645e874 c645e972 c645ea6f c645eb6c c645ec5f } // n = 5, score = 200 // c645e874 | mov byte ptr [ebp - 0x18], 0x74 // c645e972 | mov byte ptr [ebp - 0x17], 0x72 // c645ea6f | mov byte ptr [ebp - 0x16], 0x6f // c645eb6c | mov byte ptr [ebp - 0x15], 0x6c // c645ec5f | mov byte ptr [ebp - 0x14], 0x5f $sequence_10 = { eb0c 895804 895808 897e24 897e28 897e20 } // n = 6, score = 200 // eb0c | jmp 0xe // 895804 | mov dword ptr [eax + 4], ebx // 895808 | mov dword ptr [eax + 8], ebx // 897e24 | mov dword ptr [esi + 0x24], edi // 897e28 | mov dword ptr [esi + 0x28], edi // 897e20 | mov dword ptr [esi + 0x20], edi $sequence_11 = { d1e9 741b 85c0 741b 8b542414 8b742414 } // n = 6, score = 200 // d1e9 | shr ecx, 1 // 741b | je 0x1d // 85c0 | test eax, eax // 741b | je 0x1d // 8b542414 | mov edx, dword ptr [esp + 0x14] // 8b742414 | mov esi, dword ptr [esp + 0x14] $sequence_12 = { 84c0 7414 ff75ec 8b3d???????? } // n = 4, score = 200 // 84c0 | test al, al // 7414 | je 0x16 // ff75ec | push dword ptr [ebp - 0x14] // 8b3d???????? | $sequence_13 = { 8b4004 6a40 8945f8 6800300000 8d45f8 50 } // n = 6, score = 200 // 8b4004 | mov eax, dword ptr [eax + 4] // 6a40 | push 0x40 // 8945f8 | mov dword ptr [ebp - 8], eax // 6800300000 | push 0x3000 // 8d45f8 | lea eax, [ebp - 8] // 50 | push eax $sequence_14 = { 85db 59 59 7417 57 56 e8???????? } // n = 7, score = 200 // 85db | test ebx, ebx // 59 | pop ecx // 59 | pop ecx // 7417 | je 0x19 // 57 | push edi // 56 | push esi // e8???????? | $sequence_15 = { 8bec 81ec0c020000 53 8d85f4fdffff } // n = 4, score = 200 // 8bec | mov ebp, esp // 81ec0c020000 | sub esp, 0x20c // 53 | push ebx // 8d85f4fdffff | lea eax, [ebp - 0x20c] 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