Actor(s): NARWHAL SPIDER
There is no description at this point.
rule win_cutwail_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-07-11" version = "1" description = "Detects win.cutwail." 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.cutwail" malpedia_rule_date = "20230705" malpedia_hash = "42d0574f4405bd7d2b154d321d345acb18834a41" malpedia_version = "20230715" 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 = { 56 c6455d00 ff15???????? 85c0 89452c } // n = 5, score = 100 // 56 | push esi // c6455d00 | mov byte ptr [ebp + 0x5d], 0 // ff15???????? | // 85c0 | test eax, eax // 89452c | mov dword ptr [ebp + 0x2c], eax $sequence_1 = { 0fb74e0a 6bc03c 03c1 0fb74e0c } // n = 4, score = 100 // 0fb74e0a | movzx ecx, word ptr [esi + 0xa] // 6bc03c | imul eax, eax, 0x3c // 03c1 | add eax, ecx // 0fb74e0c | movzx ecx, word ptr [esi + 0xc] $sequence_2 = { 6a01 e8???????? 8d8d44f8ffff 83c414 57 } // n = 5, score = 100 // 6a01 | push 1 // e8???????? | // 8d8d44f8ffff | lea ecx, [ebp - 0x7bc] // 83c414 | add esp, 0x14 // 57 | push edi $sequence_3 = { 57 6a1c e8???????? 8b0d???????? } // n = 4, score = 100 // 57 | push edi // 6a1c | push 0x1c // e8???????? | // 8b0d???????? | $sequence_4 = { 8b85e8fdffff 8b0c8500f62004 51 e8???????? 83c410 } // n = 5, score = 100 // 8b85e8fdffff | mov eax, dword ptr [ebp - 0x218] // 8b0c8500f62004 | mov ecx, dword ptr [eax*4 + 0x420f600] // 51 | push ecx // e8???????? | // 83c410 | add esp, 0x10 $sequence_5 = { 8b8d44feffff 8b9548feffff 895104 8b8544feffff c7400800c02004 6a00 6a00 } // n = 7, score = 100 // 8b8d44feffff | mov ecx, dword ptr [ebp - 0x1bc] // 8b9548feffff | mov edx, dword ptr [ebp - 0x1b8] // 895104 | mov dword ptr [ecx + 4], edx // 8b8544feffff | mov eax, dword ptr [ebp - 0x1bc] // c7400800c02004 | mov dword ptr [eax + 8], 0x420c000 // 6a00 | push 0 // 6a00 | push 0 $sequence_6 = { 753f 8d45fc 50 8d45e4 } // n = 4, score = 100 // 753f | jne 0x41 // 8d45fc | lea eax, [ebp - 4] // 50 | push eax // 8d45e4 | lea eax, [ebp - 0x1c] $sequence_7 = { 8b01 3938 57 57 } // n = 4, score = 100 // 8b01 | mov eax, dword ptr [ecx] // 3938 | cmp dword ptr [eax], edi // 57 | push edi // 57 | push edi $sequence_8 = { 7e0b ff15???????? 8b4d18 8901 837df800 } // n = 5, score = 100 // 7e0b | jle 0xd // ff15???????? | // 8b4d18 | mov ecx, dword ptr [ebp + 0x18] // 8901 | mov dword ptr [ecx], eax // 837df800 | cmp dword ptr [ebp - 8], 0 $sequence_9 = { c785e0fdffff00000000 c785dcfdffff00000000 8d95dcfdffff 52 } // n = 4, score = 100 // c785e0fdffff00000000 | mov dword ptr [ebp - 0x220], 0 // c785dcfdffff00000000 | mov dword ptr [ebp - 0x224], 0 // 8d95dcfdffff | lea edx, [ebp - 0x224] // 52 | push edx $sequence_10 = { 83c404 8985e4fdffff 6a07 e8???????? 83c404 8985e8fdffff } // n = 6, score = 100 // 83c404 | add esp, 4 // 8985e4fdffff | mov dword ptr [ebp - 0x21c], eax // 6a07 | push 7 // e8???????? | // 83c404 | add esp, 4 // 8985e8fdffff | mov dword ptr [ebp - 0x218], eax $sequence_11 = { 8b4d10 2b4df8 894d10 ebc3 6a00 } // n = 5, score = 100 // 8b4d10 | mov ecx, dword ptr [ebp + 0x10] // 2b4df8 | sub ecx, dword ptr [ebp - 8] // 894d10 | mov dword ptr [ebp + 0x10], ecx // ebc3 | jmp 0xffffffc5 // 6a00 | push 0 $sequence_12 = { 3bcb 74f4 8b01 3bc3 74ee } // n = 5, score = 100 // 3bcb | cmp ecx, ebx // 74f4 | je 0xfffffff6 // 8b01 | mov eax, dword ptr [ecx] // 3bc3 | cmp eax, ebx // 74ee | je 0xfffffff0 $sequence_13 = { 56 57 0f86ad000000 6874030000 } // n = 4, score = 100 // 56 | push esi // 57 | push edi // 0f86ad000000 | jbe 0xb3 // 6874030000 | push 0x374 $sequence_14 = { 8b856cfeffff 8b0c851cf62004 51 e8???????? 83c404 898554feffff } // n = 6, score = 100 // 8b856cfeffff | mov eax, dword ptr [ebp - 0x194] // 8b0c851cf62004 | mov ecx, dword ptr [eax*4 + 0x420f61c] // 51 | push ecx // e8???????? | // 83c404 | add esp, 4 // 898554feffff | mov dword ptr [ebp - 0x1ac], eax $sequence_15 = { c7400800c02004 6a00 6a00 8b8d44feffff 51 68???????? 6a00 } // n = 7, score = 100 // c7400800c02004 | mov dword ptr [eax + 8], 0x420c000 // 6a00 | push 0 // 6a00 | push 0 // 8b8d44feffff | mov ecx, dword ptr [ebp - 0x1bc] // 51 | push ecx // 68???????? | // 6a00 | push 0 condition: 7 of them and filesize < 262144 }
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