Actor(s): Pirate Panda
There is no description at this point.
rule win_winsloader_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-12-06" version = "1" description = "Detects win.winsloader." 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.winsloader" 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 = { 83c40c 6800040000 8d8dfcf7ffff 51 } // n = 4, score = 200 // 83c40c | add esp, 0xc // 6800040000 | push 0x400 // 8d8dfcf7ffff | lea ecx, [ebp - 0x804] // 51 | push ecx $sequence_1 = { 8bf8 83c434 85ff 7510 } // n = 4, score = 200 // 8bf8 | mov edi, eax // 83c434 | add esp, 0x34 // 85ff | test edi, edi // 7510 | jne 0x12 $sequence_2 = { 89941d02fcffff 89841d06fcffff b8???????? 898c1d0afcffff 83c410 } // n = 5, score = 200 // 89941d02fcffff | mov dword ptr [ebp + ebx - 0x3fe], edx // 89841d06fcffff | mov dword ptr [ebp + ebx - 0x3fa], eax // b8???????? | // 898c1d0afcffff | mov dword ptr [ebp + ebx - 0x3f6], ecx // 83c410 | add esp, 0x10 $sequence_3 = { 68???????? 51 e8???????? 68???????? 8d5c3e04 e8???????? } // n = 6, score = 200 // 68???????? | // 51 | push ecx // e8???????? | // 68???????? | // 8d5c3e04 | lea ebx, [esi + edi + 4] // e8???????? | $sequence_4 = { 898c1d0afcffff 83c410 66c7841d0efcffff4501 8d7001 8a08 } // n = 5, score = 200 // 898c1d0afcffff | mov dword ptr [ebp + ebx - 0x3f6], ecx // 83c410 | add esp, 0x10 // 66c7841d0efcffff4501 | mov word ptr [ebp + ebx - 0x3f2], 0x145 // 8d7001 | lea esi, [eax + 1] // 8a08 | mov cl, byte ptr [eax] $sequence_5 = { 8d8375050000 6a00 a3???????? ff15???????? } // n = 4, score = 200 // 8d8375050000 | lea eax, [ebx + 0x575] // 6a00 | push 0 // a3???????? | // ff15???????? | $sequence_6 = { 0fb7c0 8bf0 6689841d10fcffff 56 83c316 8d941dfcfbffff 68???????? } // n = 7, score = 200 // 0fb7c0 | movzx eax, ax // 8bf0 | mov esi, eax // 6689841d10fcffff | mov word ptr [ebp + ebx - 0x3f0], ax // 56 | push esi // 83c316 | add ebx, 0x16 // 8d941dfcfbffff | lea edx, [ebp + ebx - 0x404] // 68???????? | $sequence_7 = { f3a5 66a5 8b15???????? 8990fa0d0000 8b0d???????? } // n = 5, score = 200 // f3a5 | rep movsd dword ptr es:[edi], dword ptr [esi] // 66a5 | movsw word ptr es:[edi], word ptr [esi] // 8b15???????? | // 8990fa0d0000 | mov dword ptr [eax + 0xdfa], edx // 8b0d???????? | $sequence_8 = { 8bd8 c745fcffffffff 85db 7516 56 e8???????? } // n = 6, score = 200 // 8bd8 | mov ebx, eax // c745fcffffffff | mov dword ptr [ebp - 4], 0xffffffff // 85db | test ebx, ebx // 7516 | jne 0x18 // 56 | push esi // e8???????? | $sequence_9 = { c3 e8???????? 85c0 0f8487660000 c3 833d????????ff 7503 } // n = 7, score = 100 // c3 | ret // e8???????? | // 85c0 | test eax, eax // 0f8487660000 | je 0x668d // c3 | ret // 833d????????ff | // 7503 | jne 5 $sequence_10 = { 894dfc 80fb08 750f 32db } // n = 4, score = 100 // 894dfc | mov dword ptr [ebp - 4], ecx // 80fb08 | cmp bl, 8 // 750f | jne 0x11 // 32db | xor bl, bl $sequence_11 = { 33c0 40 e9???????? 8365c800 c745cc231a0110 a1???????? 8d4dc8 } // n = 7, score = 100 // 33c0 | xor eax, eax // 40 | inc eax // e9???????? | // 8365c800 | and dword ptr [ebp - 0x38], 0 // c745cc231a0110 | mov dword ptr [ebp - 0x34], 0x10011a23 // a1???????? | // 8d4dc8 | lea ecx, [ebp - 0x38] $sequence_12 = { 8d940dfcfbffff 52 e8???????? 83c40c 0fb685f7f3ffff } // n = 5, score = 100 // 8d940dfcfbffff | lea edx, [ebp + ecx - 0x404] // 52 | push edx // e8???????? | // 83c40c | add esp, 0xc // 0fb685f7f3ffff | movzx eax, byte ptr [ebp - 0xc09] $sequence_13 = { c1e100 8b9568f3ffff 8991a8ad0110 8b85f8f3ffff 05b4130000 668985f0f3ffff } // n = 6, score = 100 // c1e100 | shl ecx, 0 // 8b9568f3ffff | mov edx, dword ptr [ebp - 0xc98] // 8991a8ad0110 | mov dword ptr [ecx + 0x1001ada8], edx // 8b85f8f3ffff | mov eax, dword ptr [ebp - 0xc08] // 05b4130000 | add eax, 0x13b4 // 668985f0f3ffff | mov word ptr [ebp - 0xc10], ax $sequence_14 = { 8841ff 83ea01 75f2 8b542424 8a1a 8d4701 50 } // n = 7, score = 100 // 8841ff | mov byte ptr [ecx - 1], al // 83ea01 | sub edx, 1 // 75f2 | jne 0xfffffff4 // 8b542424 | mov edx, dword ptr [esp + 0x24] // 8a1a | mov bl, byte ptr [edx] // 8d4701 | lea eax, [edi + 1] // 50 | push eax $sequence_15 = { 8b049594440110 8985ccf6ffff 85c0 757c 50 8985d4f4ffff 89855cfcffff } // n = 7, score = 100 // 8b049594440110 | mov eax, dword ptr [edx*4 + 0x10014494] // 8985ccf6ffff | mov dword ptr [ebp - 0x934], eax // 85c0 | test eax, eax // 757c | jne 0x7e // 50 | push eax // 8985d4f4ffff | mov dword ptr [ebp - 0xb2c], eax // 89855cfcffff | mov dword ptr [ebp - 0x3a4], eax condition: 7 of them and filesize < 270336 }
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