Actor(s): Lazarus Group
There is no description at this point.
rule win_joanap_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.joanap." 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.joanap" 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 = { 33d2 f3a7 5f 55 75a9 e8???????? 83c404 } // n = 7, score = 100 // 33d2 | xor edx, edx // f3a7 | repe cmpsd dword ptr [esi], dword ptr es:[edi] // 5f | pop edi // 55 | push ebp // 75a9 | jne 0xffffffab // e8???????? | // 83c404 | add esp, 4 $sequence_1 = { 6a00 6a00 68???????? 6a00 6a00 8935???????? ff15???????? } // n = 7, score = 100 // 6a00 | push 0 // 6a00 | push 0 // 68???????? | // 6a00 | push 0 // 6a00 | push 0 // 8935???????? | // ff15???????? | $sequence_2 = { 8d4c2424 6820bf0200 51 53 e8???????? } // n = 5, score = 100 // 8d4c2424 | lea ecx, [esp + 0x24] // 6820bf0200 | push 0x2bf20 // 51 | push ecx // 53 | push ebx // e8???????? | $sequence_3 = { 6820bf0200 8d54245c 6a04 52 53 } // n = 5, score = 100 // 6820bf0200 | push 0x2bf20 // 8d54245c | lea edx, [esp + 0x5c] // 6a04 | push 4 // 52 | push edx // 53 | push ebx $sequence_4 = { 33fb 33db 8adc 8b049500bb2c00 8b149d00c32c00 33c2 33d2 } // n = 7, score = 100 // 33fb | xor edi, ebx // 33db | xor ebx, ebx // 8adc | mov bl, ah // 8b049500bb2c00 | mov eax, dword ptr [edx*4 + 0x2cbb00] // 8b149d00c32c00 | mov edx, dword ptr [ebx*4 + 0x2cc300] // 33c2 | xor eax, edx // 33d2 | xor edx, edx $sequence_5 = { 33c0 85d2 7e4b 53 55 8bac2414010000 47 } // n = 7, score = 100 // 33c0 | xor eax, eax // 85d2 | test edx, edx // 7e4b | jle 0x4d // 53 | push ebx // 55 | push ebp // 8bac2414010000 | mov ebp, dword ptr [esp + 0x114] // 47 | inc edi $sequence_6 = { 8b4214 85c0 7434 6a01 8d442424 6820bf0200 50 } // n = 7, score = 100 // 8b4214 | mov eax, dword ptr [edx + 0x14] // 85c0 | test eax, eax // 7434 | je 0x36 // 6a01 | push 1 // 8d442424 | lea eax, [esp + 0x24] // 6820bf0200 | push 0x2bf20 // 50 | push eax $sequence_7 = { 56 ff15???????? eb17 8b542414 a1???????? 42 } // n = 6, score = 100 // 56 | push esi // ff15???????? | // eb17 | jmp 0x19 // 8b542414 | mov edx, dword ptr [esp + 0x14] // a1???????? | // 42 | inc edx $sequence_8 = { 33d2 8bdf 8a542417 897c2438 c1fb18 8a9200b92c00 } // n = 6, score = 100 // 33d2 | xor edx, edx // 8bdf | mov ebx, edi // 8a542417 | mov dl, byte ptr [esp + 0x17] // 897c2438 | mov dword ptr [esp + 0x38], edi // c1fb18 | sar ebx, 0x18 // 8a9200b92c00 | mov dl, byte ptr [edx + 0x2cb900] $sequence_9 = { 8d842494000000 6880000000 50 6800040000 68???????? 6a02 e8???????? } // n = 7, score = 100 // 8d842494000000 | lea eax, [esp + 0x94] // 6880000000 | push 0x80 // 50 | push eax // 6800040000 | push 0x400 // 68???????? | // 6a02 | push 2 // e8???????? | condition: 7 of them and filesize < 270336 }
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