Actor(s): Kimsuky
There is no description at this point.
rule win_grease_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-12-06" version = "1" description = "Detects win.grease." 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.grease" 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 = { 52 50 683f000f00 50 50 50 } // n = 6, score = 400 // 52 | push edx // 50 | push eax // 683f000f00 | push 0xf003f // 50 | push eax // 50 | push eax // 50 | push eax $sequence_1 = { 488b4c2460 ff15???????? b801000000 488b8c2480020000 4833cc e8???????? 4881c490020000 } // n = 7, score = 300 // 488b4c2460 | dec eax // ff15???????? | // b801000000 | mov ecx, dword ptr [esp + 0x60] // 488b8c2480020000 | mov eax, 1 // 4833cc | dec eax // e8???????? | // 4881c490020000 | mov ecx, dword ptr [esp + 0x280] $sequence_2 = { 4533c0 488bd3 c744242804000000 4889442420 ff15???????? 488b4c2450 ff15???????? } // n = 7, score = 300 // 4533c0 | dec eax // 488bd3 | lea eax, [esp + 0x58] // c744242804000000 | inc ecx // 4889442420 | mov ecx, 4 // ff15???????? | // 488b4c2450 | inc ebp // ff15???????? | $sequence_3 = { 488b05???????? 4833c4 4889842480020000 488d4c2472 } // n = 4, score = 300 // 488b05???????? | // 4833c4 | jne 0xef // 4889842480020000 | dec eax // 488d4c2472 | mov ecx, dword ptr [esp + 0x60] $sequence_4 = { c74424281f000200 895c2420 ff15???????? 85c0 0f85e7000000 } // n = 5, score = 300 // c74424281f000200 | mov dword ptr [esp + 0x28], 0x2001f // 895c2420 | mov dword ptr [esp + 0x20], ebx // ff15???????? | // 85c0 | test eax, eax // 0f85e7000000 | jne 0xed $sequence_5 = { 4533c9 48897c2440 4889442438 48897c2430 } // n = 4, score = 300 // 4533c9 | mov dword ptr [esp + 0x28], 0xf003f // 48897c2440 | mov dword ptr [esp + 0x20], edi // 4889442438 | test eax, eax // 48897c2430 | dec eax $sequence_6 = { 48895c2440 48895c2458 895c2460 48895c2468 } // n = 4, score = 300 // 48895c2440 | dec eax // 48895c2458 | lea eax, [esp + 0x58] // 895c2460 | inc ecx // 48895c2468 | mov ecx, 4 $sequence_7 = { 4889442438 48897c2430 4533c0 c74424283f000f00 897c2420 ff15???????? 85c0 } // n = 7, score = 300 // 4889442438 | dec eax // 48897c2430 | xor ecx, esp // 4533c0 | dec eax // c74424283f000f00 | add esp, 0x290 // 897c2420 | dec eax // ff15???????? | // 85c0 | mov dword ptr [esp + 0x38], eax $sequence_8 = { 488b4c2450 488d442458 41b904000000 4533c0 488bd3 } // n = 5, score = 300 // 488b4c2450 | mov dword ptr [esp + 0x38], eax // 488d442458 | dec eax // 41b904000000 | mov dword ptr [esp + 0x30], edi // 4533c0 | inc ebp // 488bd3 | xor eax, eax $sequence_9 = { 55 68000000c0 50 ff15???????? 8bf0 } // n = 5, score = 200 // 55 | push ebp // 68000000c0 | push 0xc0000000 // 50 | push eax // ff15???????? | // 8bf0 | mov esi, eax $sequence_10 = { e9???????? c684342c08000023 e9???????? c684342c08000021 e9???????? c684342c08000025 } // n = 6, score = 200 // e9???????? | // c684342c08000023 | mov byte ptr [esp + esi + 0x82c], 0x23 // e9???????? | // c684342c08000021 | mov byte ptr [esp + esi + 0x82c], 0x21 // e9???????? | // c684342c08000025 | mov byte ptr [esp + esi + 0x82c], 0x25 $sequence_11 = { 51 683f000f00 6a00 8d542424 52 6802000080 ffd7 } // n = 7, score = 200 // 51 | mov dword ptr [esp + 0x28], 0x2001f // 683f000f00 | mov dword ptr [esp + 0x20], ebx // 6a00 | test eax, eax // 8d542424 | jne 0xf3 // 52 | dec eax // 6802000080 | mov ecx, dword ptr [esp + 0x60] // ffd7 | dec eax $sequence_12 = { 85c0 7540 8d542420 52 8b542414 } // n = 5, score = 200 // 85c0 | mov dword ptr [esp + 0x20], ebx // 7540 | test eax, eax // 8d542420 | jne 0xef // 52 | dec eax // 8b542414 | mov ecx, dword ptr [esp + 0x60] $sequence_13 = { 83c001 3acb 75f7 8b2d???????? } // n = 4, score = 200 // 83c001 | mov dword ptr [esp + 0x280], eax // 3acb | dec eax // 75f7 | lea ecx, [esp + 0x72] // 8b2d???????? | $sequence_14 = { 83c404 85f6 8854240c 8d46ff 7412 8a4c040c } // n = 6, score = 200 // 83c404 | add esp, 4 // 85f6 | test esi, esi // 8854240c | mov byte ptr [esp + 0xc], dl // 8d46ff | lea eax, [esi - 1] // 7412 | je 0x14 // 8a4c040c | mov cl, byte ptr [esp + eax + 0xc] $sequence_15 = { e9???????? c684341001000066 e9???????? c684341001000068 e9???????? } // n = 5, score = 200 // e9???????? | // c684341001000066 | mov byte ptr [esp + esi + 0x110], 0x66 // e9???????? | // c684341001000068 | mov byte ptr [esp + esi + 0x110], 0x68 // e9???????? | $sequence_16 = { e8???????? 8b0d???????? 51 8d542418 } // n = 4, score = 200 // e8???????? | // 8b0d???????? | // 51 | inc ebp // 8d542418 | xor eax, eax $sequence_17 = { e9???????? c6440c082b e9???????? c6440c083e e9???????? c6440c083d e9???????? } // n = 7, score = 200 // e9???????? | // c6440c082b | mov byte ptr [esp + ecx + 8], 0x2b // e9???????? | // c6440c083e | mov byte ptr [esp + ecx + 8], 0x3e // e9???????? | // c6440c083d | mov byte ptr [esp + ecx + 8], 0x3d // e9???????? | $sequence_18 = { c68434240600003f eb12 c68434240600002e eb08 } // n = 4, score = 200 // c68434240600003f | mov byte ptr [esp + esi + 0x624], 0x3f // eb12 | jmp 0x14 // c68434240600002e | mov byte ptr [esp + esi + 0x624], 0x2e // eb08 | jmp 0xa $sequence_19 = { 8a08 40 84c9 7405 46 85c0 } // n = 6, score = 200 // 8a08 | mov cl, byte ptr [eax] // 40 | inc eax // 84c9 | test cl, cl // 7405 | je 7 // 46 | inc esi // 85c0 | test eax, eax $sequence_20 = { 8b9c2418040000 56 57 b90d000000 be???????? } // n = 5, score = 200 // 8b9c2418040000 | lea eax, [esp + 0x58] // 56 | dec eax // 57 | xor eax, esp // b90d000000 | dec eax // be???????? | $sequence_21 = { 50 897c2430 ffd5 8b542410 6a04 8d4c241c 51 } // n = 7, score = 200 // 50 | dec eax // 897c2430 | lea eax, [esp + 0x58] // ffd5 | dec eax // 8b542410 | lea eax, [esp + 0x58] // 6a04 | inc ecx // 8d4c241c | mov ecx, 4 // 51 | inc ebp $sequence_22 = { 8d942434010000 52 56 ffd7 b83b000000 53 668984242c010000 } // n = 7, score = 200 // 8d942434010000 | dec eax // 52 | mov edx, ebx // 56 | mov dword ptr [esp + 0x28], 4 // ffd7 | dec eax // b83b000000 | mov dword ptr [esp + 0x20], eax // 53 | dec eax // 668984242c010000 | mov ecx, dword ptr [esp + 0x50] condition: 7 of them and filesize < 278528 }
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