There is no description at this point.
rule win_waterminer_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-12-06" version = "1" description = "Detects win.waterminer." 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.waterminer" 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 = { 8b8514f3ffff e9???????? 83bda4f5ffff00 0f8532010000 8b8db8f5ffff c1e104 83bc0dbcf9ffff00 } // n = 7, score = 100 // 8b8514f3ffff | mov eax, dword ptr [ebp - 0xcec] // e9???????? | // 83bda4f5ffff00 | cmp dword ptr [ebp - 0xa5c], 0 // 0f8532010000 | jne 0x138 // 8b8db8f5ffff | mov ecx, dword ptr [ebp - 0xa48] // c1e104 | shl ecx, 4 // 83bc0dbcf9ffff00 | cmp dword ptr [ebp + ecx - 0x644], 0 $sequence_1 = { 03442410 4403e8 428b4405e7 418bd5 } // n = 4, score = 100 // 03442410 | dec esp // 4403e8 | lea eax, [0x55894] // 428b4405e7 | inc ecx // 418bd5 | xor edx, ebp $sequence_2 = { 03bc24a8000000 488bcd 4c8d0d35cb0300 83e13f } // n = 4, score = 100 // 03bc24a8000000 | inc ecx // 488bcd | mov eax, dword ptr [eax + eax] // 4c8d0d35cb0300 | add eax, dword ptr [esp + 0xc] // 83e13f | inc esp $sequence_3 = { 51 b804000000 6bc019 8b8880434b00 330d???????? 894dfc 740d } // n = 7, score = 100 // 51 | push ecx // b804000000 | mov eax, 4 // 6bc019 | imul eax, eax, 0x19 // 8b8880434b00 | mov ecx, dword ptr [eax + 0x4b4380] // 330d???????? | // 894dfc | mov dword ptr [ebp - 4], ecx // 740d | je 0xf $sequence_4 = { 8b8da4fbffff 83e901 898da4fbffff 83bd10fbffff00 } // n = 4, score = 100 // 8b8da4fbffff | mov ecx, dword ptr [ebp - 0x45c] // 83e901 | sub ecx, 1 // 898da4fbffff | mov dword ptr [ebp - 0x45c], ecx // 83bd10fbffff00 | cmp dword ptr [ebp - 0x4f0], 0 $sequence_5 = { 8bcd 50 8d15b0854300 e8???????? } // n = 4, score = 100 // 8bcd | mov ecx, ebp // 50 | push eax // 8d15b0854300 | lea edx, [0x4385b0] // e8???????? | $sequence_6 = { 03c0 2bc8 0f84ec040000 8d41ff 8b848288d20600 } // n = 5, score = 100 // 03c0 | add eax, dword ptr [esp + 0xc] // 2bc8 | inc esp // 0f84ec040000 | add edx, eax // 8d41ff | dec eax // 8b848288d20600 | lea eax, [0x5561a] $sequence_7 = { 0344240c 4403d0 488d051a560500 418b0400 } // n = 4, score = 100 // 0344240c | inc esp // 4403d0 | add edx, eax // 488d051a560500 | inc edx // 418b0400 | mov eax, dword ptr [ebp + eax - 0x19] $sequence_8 = { 03c1 03d0 488d051e580500 418b0400 } // n = 4, score = 100 // 03c1 | lea eax, [0x5579f] // 03d0 | inc ebx // 488d051e580500 | xor eax, dword ptr [ecx + eax] // 418b0400 | add eax, dword ptr [esp + 0x10] $sequence_9 = { 83bd60ffffff0b 0f8711060000 8b8d60ffffff ff248d74304800 0fbe55d3 } // n = 5, score = 100 // 83bd60ffffff0b | cmp dword ptr [ebp - 0xa0], 0xb // 0f8711060000 | ja 0x617 // 8b8d60ffffff | mov ecx, dword ptr [ebp - 0xa0] // ff248d74304800 | jmp dword ptr [ecx*4 + 0x483074] // 0fbe55d3 | movsx edx, byte ptr [ebp - 0x2d] $sequence_10 = { 02c8 41880c18 418a03 240f } // n = 4, score = 100 // 02c8 | add cl, al // 41880c18 | inc ecx // 418a03 | mov byte ptr [eax + ebx], cl // 240f | inc ecx $sequence_11 = { 0344240c 4403d0 428b4405e7 418bd2 } // n = 4, score = 100 // 0344240c | cmp ecx, edx // 4403d0 | add dl, al // 428b4405e7 | dec ecx // 418bd2 | inc ebx $sequence_12 = { 02d0 49ffc3 418d4001 881418 } // n = 4, score = 100 // 02d0 | inc ecx // 49ffc3 | mov byte ptr [eax + ebx], cl // 418d4001 | inc ecx // 881418 | mov al, byte ptr [ebx] $sequence_13 = { c78538fbffff01000000 eb0a c78538fbffff00000000 8b8538fbffff 898530fbffff } // n = 5, score = 100 // c78538fbffff01000000 | mov dword ptr [ebp - 0x4c8], 1 // eb0a | jmp 0xc // c78538fbffff00000000 | mov dword ptr [ebp - 0x4c8], 0 // 8b8538fbffff | mov eax, dword ptr [ebp - 0x4c8] // 898530fbffff | mov dword ptr [ebp - 0x4d0], eax $sequence_14 = { 8b95c4fbffff 8995f0fbffff 8b85ecfbffff 055d010000 898580fbffff } // n = 5, score = 100 // 8b95c4fbffff | mov edx, dword ptr [ebp - 0x43c] // 8995f0fbffff | mov dword ptr [ebp - 0x410], edx // 8b85ecfbffff | mov eax, dword ptr [ebp - 0x414] // 055d010000 | add eax, 0x15d // 898580fbffff | mov dword ptr [ebp - 0x480], eax $sequence_15 = { 33c5 8945fc 8bf4 6a00 8bfc ff15???????? 3bfc } // n = 7, score = 100 // 33c5 | xor eax, ebp // 8945fc | mov dword ptr [ebp - 4], eax // 8bf4 | mov esi, esp // 6a00 | push 0 // 8bfc | mov edi, esp // ff15???????? | // 3bfc | cmp edi, esp condition: 7 of them and filesize < 1556480 }
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