Actor(s): APT28
Suspected Zebrocy loader written in Nim.
rule win_unidentified_078_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.unidentified_078." 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.unidentified_078" 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 = { 0f8d28020000 80fa0a 0f8417010000 7f39 80fa08 } // n = 5, score = 200 // 0f8d28020000 | dec eax // 80fa0a | mov ecx, ebx // 0f8417010000 | dec eax // 7f39 | inc dword ptr [esp + 0x28] // 80fa08 | dec eax $sequence_1 = { 80f95c 7504 b201 ebde 80f92f 74f7 } // n = 6, score = 200 // 80f95c | inc ebp // 7504 | mov eax, dword ptr [eax + 8] // b201 | dec esp // ebde | jb 0xb25 // 80f92f | dec eax // 74f7 | sub ecx, 0x1000 $sequence_2 = { 80fa28 0f8d94010000 80fa26 0f8f18010000 80fa23 } // n = 5, score = 200 // 80fa28 | and edx, 0x1ff // 0f8d94010000 | jmp 0x81 // 80fa26 | je 0xb8 // 0f8f18010000 | dec eax // 80fa23 | cmp ebx, ecx $sequence_3 = { 80fa5b 7f3c 80fa28 0f8d94010000 80fa26 0f8f18010000 } // n = 6, score = 200 // 80fa5b | sub eax, ebp // 7f3c | inc ecx // 80fa28 | mov ebp, 0x19 // 0f8d94010000 | inc ecx // 80fa26 | mov esi, 1 // 0f8f18010000 | dec ecx $sequence_4 = { e9???????? 80fa0c 0f8412010000 0f8cee000000 80fa0d } // n = 5, score = 200 // e9???????? | // 80fa0c | lea eax, [0x20716] // 0f8412010000 | dec eax // 0f8cee000000 | mov dword ptr [ebx], eax // 80fa0d | inc ebp $sequence_5 = { 80fa26 0f8f18010000 80fa23 0f8d82010000 } // n = 4, score = 200 // 80fa26 | mov eax, dword ptr [ecx] // 0f8f18010000 | dec eax // 80fa23 | add ebx, eax // 0f8d82010000 | dec esp $sequence_6 = { 0f8d28020000 80fa0a 0f8417010000 7f39 } // n = 4, score = 200 // 0f8d28020000 | dec eax // 80fa0a | jne 0x2e1 // 0f8417010000 | mov edx, 2 // 7f39 | dec eax $sequence_7 = { 84d2 89d6 0f883a020000 80fa21 0f8f8f000000 80fa20 0f8d28020000 } // n = 7, score = 200 // 84d2 | sub esp, 0x28 // 89d6 | mov ebp, 1 // 0f883a020000 | dec eax // 80fa21 | push edi // 0f8f8f000000 | push esi // 80fa20 | push ebx // 0f8d28020000 | dec eax $sequence_8 = { 0f8412010000 0f8cee000000 80fa0d 0f8421010000 80fa1b 0f8576010000 ba02000000 } // n = 7, score = 200 // 0f8412010000 | dec esp // 0f8cee000000 | mov eax, eax // 80fa0d | dec eax // 0f8421010000 | mov ecx, dword ptr [esp + 0x30] // 80fa1b | mov edx, 1 // 0f8576010000 | dec eax // ba02000000 | lea edx, [0xc03b] $sequence_9 = { 5b 5e e9???????? ebc0 ebbe ebbc } // n = 6, score = 200 // 5b | dec ecx // 5e | mov dword ptr [ebp + 0x3378], eax // e9???????? | // ebc0 | test al, al // ebbe | je 0x1156 // ebbc | dec ecx condition: 7 of them and filesize < 688128 }
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