A variant of CryptoMix is win.clop.
rule win_cryptomix_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-01-25" version = "1" description = "Detects win.cryptomix." 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.cryptomix" malpedia_rule_date = "20230124" malpedia_hash = "2ee0eebba83dce3d019a90519f2f972c0fcf9686" malpedia_version = "20230125" 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 = { 7727 747d 3d88acb255 7476 3d91e7ca58 } // n = 5, score = 200 // 7727 | ja 0x29 // 747d | je 0x7f // 3d88acb255 | cmp eax, 0x55b2ac88 // 7476 | je 0x78 // 3d91e7ca58 | cmp eax, 0x58cae791 $sequence_1 = { 68???????? 6a00 6a00 ffd0 6896000000 ff15???????? } // n = 6, score = 200 // 68???????? | // 6a00 | push 0 // 6a00 | push 0 // ffd0 | call eax // 6896000000 | push 0x96 // ff15???????? | $sequence_2 = { 7503 8b45f0 c9 c3 } // n = 4, score = 200 // 7503 | jne 5 // 8b45f0 | mov eax, dword ptr [ebp - 0x10] // c9 | leave // c3 | ret $sequence_3 = { 6a08 e8???????? 59 59 6a00 6a01 } // n = 6, score = 200 // 6a08 | push 8 // e8???????? | // 59 | pop ecx // 59 | pop ecx // 6a00 | push 0 // 6a01 | push 1 $sequence_4 = { 6804010000 6a40 ff15???????? 6804010000 8bf0 } // n = 5, score = 200 // 6804010000 | push 0x104 // 6a40 | push 0x40 // ff15???????? | // 6804010000 | push 0x104 // 8bf0 | mov esi, eax $sequence_5 = { ffd0 c3 68c1ea9d27 6a01 e8???????? 59 59 } // n = 7, score = 200 // ffd0 | call eax // c3 | ret // 68c1ea9d27 | push 0x279deac1 // 6a01 | push 1 // e8???????? | // 59 | pop ecx // 59 | pop ecx $sequence_6 = { 81ec14020000 53 56 57 68fe934377 6a01 e8???????? } // n = 7, score = 200 // 81ec14020000 | sub esp, 0x214 // 53 | push ebx // 56 | push esi // 57 | push edi // 68fe934377 | push 0x774393fe // 6a01 | push 1 // e8???????? | $sequence_7 = { f30f7e05???????? 66a1???????? 660fd645dc f30f7e05???????? 6a00 } // n = 5, score = 200 // f30f7e05???????? | // 66a1???????? | // 660fd645dc | movq qword ptr [ebp - 0x24], xmm0 // f30f7e05???????? | // 6a00 | push 0 $sequence_8 = { c3 683adc703d 6a02 e8???????? } // n = 4, score = 200 // c3 | ret // 683adc703d | push 0x3d70dc3a // 6a02 | push 2 // e8???????? | $sequence_9 = { 83c408 8d8598f9ffff 50 56 ff15???????? } // n = 5, score = 200 // 83c408 | add esp, 8 // 8d8598f9ffff | lea eax, [ebp - 0x668] // 50 | push eax // 56 | push esi // ff15???????? | $sequence_10 = { 57 ffd0 85c0 751d ff750c ff7508 } // n = 6, score = 200 // 57 | push edi // ffd0 | call eax // 85c0 | test eax, eax // 751d | jne 0x1f // ff750c | push dword ptr [ebp + 0xc] // ff7508 | push dword ptr [ebp + 8] $sequence_11 = { 56 56 68???????? 53 ffd0 8b45fc } // n = 6, score = 200 // 56 | push esi // 56 | push esi // 68???????? | // 53 | push ebx // ffd0 | call eax // 8b45fc | mov eax, dword ptr [ebp - 4] $sequence_12 = { ffd6 85c0 0f850b010000 837d0c01 8b9db8f9ffff a1???????? 68???????? } // n = 7, score = 200 // ffd6 | call esi // 85c0 | test eax, eax // 0f850b010000 | jne 0x111 // 837d0c01 | cmp dword ptr [ebp + 0xc], 1 // 8b9db8f9ffff | mov ebx, dword ptr [ebp - 0x648] // a1???????? | // 68???????? | $sequence_13 = { 59 8d8de8f9ffff 51 ffd0 } // n = 4, score = 200 // 59 | pop ecx // 8d8de8f9ffff | lea ecx, [ebp - 0x618] // 51 | push ecx // ffd0 | call eax $sequence_14 = { ffb5e8fbffff ff15???????? ffb5e8fbffff 8937 ff15???????? 8b4dfc 5f } // n = 7, score = 200 // ffb5e8fbffff | push dword ptr [ebp - 0x418] // ff15???????? | // ffb5e8fbffff | push dword ptr [ebp - 0x418] // 8937 | mov dword ptr [edi], esi // ff15???????? | // 8b4dfc | mov ecx, dword ptr [ebp - 4] // 5f | pop edi $sequence_15 = { 6aff 50 ff15???????? c705????????00000000 eb1c 40 a3???????? } // n = 7, score = 200 // 6aff | push -1 // 50 | push eax // ff15???????? | // c705????????00000000 | // eb1c | jmp 0x1e // 40 | inc eax // a3???????? | 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.
Please propose all changes regarding references on the Malpedia library page
Your suggestion will be reviewed before being published. Thank you for contributing!
YYYY-MM-DD
YYYY-MM
YYYY