There is no description at this point.
rule win_soraya_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.soraya." 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.soraya" 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 = { ff15???????? 8d48bf 80f919 77f2 } // n = 4, score = 200 // ff15???????? | // 8d48bf | lea ecx, [eax - 0x41] // 80f919 | cmp cl, 0x19 // 77f2 | ja 0xfffffff4 $sequence_1 = { 0301 8b4c2410 3901 0f87a1fdffff } // n = 4, score = 100 // 0301 | add eax, dword ptr [ecx] // 8b4c2410 | mov ecx, dword ptr [esp + 0x10] // 3901 | cmp dword ptr [ecx], eax // 0f87a1fdffff | ja 0xfffffda7 $sequence_2 = { e8???????? 8b45fc 33c6 2bc3 50 } // n = 5, score = 100 // e8???????? | // 8b45fc | mov eax, dword ptr [ebp - 4] // 33c6 | xor eax, esi // 2bc3 | sub eax, ebx // 50 | push eax $sequence_3 = { ff15???????? 037df8 3975f8 75db 8b4514 33c9 } // n = 6, score = 100 // ff15???????? | // 037df8 | add edi, dword ptr [ebp - 8] // 3975f8 | cmp dword ptr [ebp - 8], esi // 75db | jne 0xffffffdd // 8b4514 | mov eax, dword ptr [ebp + 0x14] // 33c9 | xor ecx, ecx $sequence_4 = { ff4d3c 7580 8b451c 8b4d24 014dfc c745d03223f000 } // n = 6, score = 100 // ff4d3c | dec dword ptr [ebp + 0x3c] // 7580 | jne 0xffffff82 // 8b451c | mov eax, dword ptr [ebp + 0x1c] // 8b4d24 | mov ecx, dword ptr [ebp + 0x24] // 014dfc | add dword ptr [ebp - 4], ecx // c745d03223f000 | mov dword ptr [ebp - 0x30], 0xf02332 $sequence_5 = { 8bec 51 51 837d1800 747b } // n = 5, score = 100 // 8bec | mov ebp, esp // 51 | push ecx // 51 | push ecx // 837d1800 | cmp dword ptr [ebp + 0x18], 0 // 747b | je 0x7d $sequence_6 = { ff75ec e8???????? 8b4df0 8b45f4 8d440801 8945fc 8d45d8 } // n = 7, score = 100 // ff75ec | push dword ptr [ebp - 0x14] // e8???????? | // 8b4df0 | mov ecx, dword ptr [ebp - 0x10] // 8b45f4 | mov eax, dword ptr [ebp - 0xc] // 8d440801 | lea eax, [eax + ecx + 1] // 8945fc | mov dword ptr [ebp - 4], eax // 8d45d8 | lea eax, [ebp - 0x28] $sequence_7 = { 8b4508 8a08 884d0b 8a4d0b 8b55f8 0fb6c9 } // n = 6, score = 100 // 8b4508 | mov eax, dword ptr [ebp + 8] // 8a08 | mov cl, byte ptr [eax] // 884d0b | mov byte ptr [ebp + 0xb], cl // 8a4d0b | mov cl, byte ptr [ebp + 0xb] // 8b55f8 | mov edx, dword ptr [ebp - 8] // 0fb6c9 | movzx ecx, cl $sequence_8 = { 8d85ecfdffff 50 ffd6 a1???????? 0540010000 50 8d85ecfdffff } // n = 7, score = 100 // 8d85ecfdffff | lea eax, [ebp - 0x214] // 50 | push eax // ffd6 | call esi // a1???????? | // 0540010000 | add eax, 0x140 // 50 | push eax // 8d85ecfdffff | lea eax, [ebp - 0x214] $sequence_9 = { 8b4d0c 8b5520 33ce 8b8c118e40f2ff 8b10 8b18 } // n = 6, score = 100 // 8b4d0c | mov ecx, dword ptr [ebp + 0xc] // 8b5520 | mov edx, dword ptr [ebp + 0x20] // 33ce | xor ecx, esi // 8b8c118e40f2ff | mov ecx, dword ptr [ecx + edx - 0xdbf72] // 8b10 | mov edx, dword ptr [eax] // 8b18 | mov ebx, dword ptr [eax] $sequence_10 = { 59 68???????? 53 ffd7 5b 85c0 } // n = 6, score = 100 // 59 | pop ecx // 68???????? | // 53 | push ebx // ffd7 | call edi // 5b | pop ebx // 85c0 | test eax, eax $sequence_11 = { ff15???????? 488b0d???????? 488364242000 488d5150 4c8d45d0 448bc8 } // n = 6, score = 100 // ff15???????? | // 488b0d???????? | // 488364242000 | dec eax // 488d5150 | add esp, 0x30 // 4c8d45d0 | pop ebx // 448bc8 | dec eax $sequence_12 = { 8b5254 48 f7d0 23d0 8b45f4 } // n = 5, score = 100 // 8b5254 | mov edx, dword ptr [edx + 0x54] // 48 | dec eax // f7d0 | not eax // 23d0 | and edx, eax // 8b45f4 | mov eax, dword ptr [ebp - 0xc] $sequence_13 = { 488bcb ff15???????? 488d1563f0ffff 488bcf } // n = 4, score = 100 // 488bcb | xor eax, eax // ff15???????? | // 488d1563f0ffff | inc ecx // 488bcf | lea edx, [eax + 0x64] $sequence_14 = { 744f ba0c000000 4c8d8c24b0020000 488bce 448d4234 } // n = 5, score = 100 // 744f | je 0x51 // ba0c000000 | mov edx, 0xc // 4c8d8c24b0020000 | dec esp // 488bce | lea ecx, [esp + 0x2b0] // 448d4234 | dec eax $sequence_15 = { 33c0 66390f 0f8515010000 8b4f3c 03cf 813950450000 } // n = 6, score = 100 // 33c0 | xor eax, eax // 66390f | cmp word ptr [edi], cx // 0f8515010000 | jne 0x11b // 8b4f3c | mov ecx, dword ptr [edi + 0x3c] // 03cf | add ecx, edi // 813950450000 | cmp dword ptr [ecx], 0x4550 $sequence_16 = { 4533c0 488bd5 498bcf ff15???????? 498bce } // n = 5, score = 100 // 4533c0 | mov ecx, ebx // 488bd5 | dec eax // 498bcf | lea edx, [0xfffff063] // ff15???????? | // 498bce | dec eax $sequence_17 = { 488bd0 488bd8 ff15???????? 488d15d9f0ffff 488bcf ff15???????? } // n = 6, score = 100 // 488bd0 | lea eax, [ebp - 0x30] // 488bd8 | inc esp // ff15???????? | // 488d15d9f0ffff | mov ecx, eax // 488bcf | inc ebp // ff15???????? | $sequence_18 = { 0fb6c0 2bcb 3bc1 0f8462010000 } // n = 4, score = 100 // 0fb6c0 | movzx eax, al // 2bcb | sub ecx, ebx // 3bc1 | cmp eax, ecx // 0f8462010000 | je 0x168 $sequence_19 = { 8b4804 83e908 f7c1feffffff 763b 8b4dfc } // n = 5, score = 100 // 8b4804 | mov ecx, dword ptr [eax + 4] // 83e908 | sub ecx, 8 // f7c1feffffff | test ecx, 0xfffffffe // 763b | jbe 0x3d // 8b4dfc | mov ecx, dword ptr [ebp - 4] $sequence_20 = { 8d740650 8b02 0306 8b742418 } // n = 4, score = 100 // 8d740650 | lea esi, [esi + eax + 0x50] // 8b02 | mov eax, dword ptr [edx] // 0306 | add eax, dword ptr [esi] // 8b742418 | mov esi, dword ptr [esp + 0x18] $sequence_21 = { 4d2bc6 0fb701 6641398408a0010000 7530 ffc2 48ffc1 } // n = 6, score = 100 // 4d2bc6 | mov ecx, edi // 0fb701 | dec eax // 6641398408a0010000 | and dword ptr [esp + 0x20], 0 // 7530 | dec eax // ffc2 | lea edx, [ecx + 0x50] // 48ffc1 | dec esp $sequence_22 = { 4533c0 418d5064 ff15???????? 4883c430 5b } // n = 5, score = 100 // 4533c0 | mov ecx, esi // 418d5064 | inc esp // ff15???????? | // 4883c430 | lea eax, [edx + 0x34] // 5b | inc ebp 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. 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