Actor(s): APT34
There is no description at this point.
rule win_helminth_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.helminth." 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.helminth" malpedia_rule_date = "20260422" malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14" malpedia_version = "20260504" 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 = { a1???????? 68e8030000 8907 e8???????? } // n = 4, score = 300 // a1???????? | // 68e8030000 | push 0x3e8 // 8907 | mov dword ptr [edi], eax // e8???????? | $sequence_1 = { b9???????? e8???????? b9???????? e8???????? 8b35???????? b800100000 8b0d???????? } // n = 7, score = 200 // b9???????? | // e8???????? | // b9???????? | // e8???????? | // 8b35???????? | // b800100000 | mov eax, 0x1000 // 8b0d???????? | $sequence_2 = { 897de0 8b049d70750110 0500080000 3bf8 0f839c000000 f6470401 755b } // n = 7, score = 200 // 897de0 | mov dword ptr [ebp - 0x20], edi // 8b049d70750110 | mov eax, dword ptr [ebx*4 + 0x10017570] // 0500080000 | add eax, 0x800 // 3bf8 | cmp edi, eax // 0f839c000000 | jae 0xa2 // f6470401 | test byte ptr [edi + 4], 1 // 755b | jne 0x5d $sequence_3 = { ffb5f4fdffff 8d85fcfdffff 6a0a 6a01 57 50 } // n = 6, score = 200 // ffb5f4fdffff | push dword ptr [ebp - 0x20c] // 8d85fcfdffff | lea eax, [ebp - 0x204] // 6a0a | push 0xa // 6a01 | push 1 // 57 | push edi // 50 | push eax $sequence_4 = { c1e106 8b048570750110 804c080420 8b4d14 } // n = 4, score = 200 // c1e106 | shl ecx, 6 // 8b048570750110 | mov eax, dword ptr [eax*4 + 0x10017570] // 804c080420 | or byte ptr [eax + ecx + 4], 0x20 // 8b4d14 | mov ecx, dword ptr [ebp + 0x14] $sequence_5 = { 75f0 8b75f0 b9???????? 8bd6 2bd1 } // n = 5, score = 200 // 75f0 | jne 0xfffffff2 // 8b75f0 | mov esi, dword ptr [ebp - 0x10] // b9???????? | // 8bd6 | mov edx, esi // 2bd1 | sub edx, ecx $sequence_6 = { 895df0 ff15???????? 50 ff15???????? 85c0 7406 8d4df4 } // n = 7, score = 200 // 895df0 | mov dword ptr [ebp - 0x10], ebx // ff15???????? | // 50 | push eax // ff15???????? | // 85c0 | test eax, eax // 7406 | je 8 // 8d4df4 | lea ecx, [ebp - 0xc] $sequence_7 = { 2c2c 13142c 2c2c 2c2c } // n = 4, score = 200 // 2c2c | sub al, 0x2c // 13142c | adc edx, dword ptr [esp + ebp] // 2c2c | sub al, 0x2c // 2c2c | sub al, 0x2c $sequence_8 = { 2b742414 894c2424 0fb70a 66890c16 8d5202 } // n = 5, score = 100 // 2b742414 | sub esi, dword ptr [esp + 0x14] // 894c2424 | mov dword ptr [esp + 0x24], ecx // 0fb70a | movzx ecx, word ptr [edx] // 66890c16 | mov word ptr [esi + edx], cx // 8d5202 | lea edx, [edx + 2] $sequence_9 = { 68???????? 50 ff15???????? 8945c0 85c0 } // n = 5, score = 100 // 68???????? | // 50 | push eax // ff15???????? | // 8945c0 | mov dword ptr [ebp - 0x40], eax // 85c0 | test eax, eax $sequence_10 = { e8???????? 8b75c8 59 56 } // n = 4, score = 100 // e8???????? | // 8b75c8 | mov esi, dword ptr [ebp - 0x38] // 59 | pop ecx // 56 | push esi $sequence_11 = { 66890c17 8d5202 6685c9 75f1 8b542410 33ff } // n = 6, score = 100 // 66890c17 | mov word ptr [edi + edx], cx // 8d5202 | lea edx, [edx + 2] // 6685c9 | test cx, cx // 75f1 | jne 0xfffffff3 // 8b542410 | mov edx, dword ptr [esp + 0x10] // 33ff | xor edi, edi $sequence_12 = { 663b0473 7510 46 42 3bd7 7ced } // n = 6, score = 100 // 663b0473 | cmp ax, word ptr [ebx + esi*2] // 7510 | jne 0x12 // 46 | inc esi // 42 | inc edx // 3bd7 | cmp edx, edi // 7ced | jl 0xffffffef $sequence_13 = { 75f4 2b4d08 d1f9 3bd1 } // n = 4, score = 100 // 75f4 | jne 0xfffffff6 // 2b4d08 | sub ecx, dword ptr [ebp + 8] // d1f9 | sar ecx, 1 // 3bd1 | cmp edx, ecx $sequence_14 = { 50 e8???????? 83c40c 89b5e8feffff } // n = 4, score = 100 // 50 | push eax // e8???????? | // 83c40c | add esp, 0xc // 89b5e8feffff | mov dword ptr [ebp - 0x118], esi condition: 7 of them and filesize < 479232 }
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