Actor(s): Lazarus Group, Silent Chollima
There is no description at this point.
rule win_phandoor_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-07-11" version = "1" description = "Detects win.phandoor." 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.phandoor" 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 = { 0f8411010000 833d????????00 0f8404010000 833d????????00 0f84f7000000 } // n = 5, score = 800 // 0f8411010000 | je 0x117 // 833d????????00 | // 0f8404010000 | je 0x10a // 833d????????00 | // 0f84f7000000 | je 0xfd $sequence_1 = { 0f84f7000000 833d????????00 0f84ea000000 833d????????00 0f84dd000000 } // n = 5, score = 800 // 0f84f7000000 | je 0xfd // 833d????????00 | // 0f84ea000000 | je 0xf0 // 833d????????00 | // 0f84dd000000 | je 0xe3 $sequence_2 = { 895df8 8b8e9c010000 53 51 ff15???????? 8b55f8 } // n = 6, score = 800 // 895df8 | mov dword ptr [ebp - 8], ebx // 8b8e9c010000 | mov ecx, dword ptr [esi + 0x19c] // 53 | push ebx // 51 | push ecx // ff15???????? | // 8b55f8 | mov edx, dword ptr [ebp - 8] $sequence_3 = { 8b8eb8010000 890d???????? 8b96bc010000 8915???????? } // n = 4, score = 800 // 8b8eb8010000 | mov ecx, dword ptr [esi + 0x1b8] // 890d???????? | // 8b96bc010000 | mov edx, dword ptr [esi + 0x1bc] // 8915???????? | $sequence_4 = { 57 8855ff 894df4 8bf8 397508 766d 53 } // n = 7, score = 800 // 57 | push edi // 8855ff | mov byte ptr [ebp - 1], dl // 894df4 | mov dword ptr [ebp - 0xc], ecx // 8bf8 | mov edi, eax // 397508 | cmp dword ptr [ebp + 8], esi // 766d | jbe 0x6f // 53 | push ebx $sequence_5 = { 8d45f4 68???????? 50 8bf9 c645f400 c745f500000000 e8???????? } // n = 7, score = 800 // 8d45f4 | lea eax, [ebp - 0xc] // 68???????? | // 50 | push eax // 8bf9 | mov edi, ecx // c645f400 | mov byte ptr [ebp - 0xc], 0 // c745f500000000 | mov dword ptr [ebp - 0xb], 0 // e8???????? | $sequence_6 = { c1e818 8d0c3f 33cf 32d3 32d0 8b45f4 81e1fe010000 } // n = 7, score = 800 // c1e818 | shr eax, 0x18 // 8d0c3f | lea ecx, [edi + edi] // 33cf | xor ecx, edi // 32d3 | xor dl, bl // 32d0 | xor dl, al // 8b45f4 | mov eax, dword ptr [ebp - 0xc] // 81e1fe010000 | and ecx, 0x1fe $sequence_7 = { 50 ffd3 8bf8 3bfe 8b35???????? 0f8491050000 b9???????? } // n = 7, score = 800 // 50 | push eax // ffd3 | call ebx // 8bf8 | mov edi, eax // 3bfe | cmp edi, esi // 8b35???????? | // 0f8491050000 | je 0x597 // b9???????? | $sequence_8 = { 3b7e08 7d5f 8b06 8b0cb8 51 e8???????? 83c404 } // n = 7, score = 500 // 3b7e08 | cmp edi, dword ptr [esi + 8] // 7d5f | jge 0x61 // 8b06 | mov eax, dword ptr [esi] // 8b0cb8 | mov ecx, dword ptr [eax + edi*4] // 51 | push ecx // e8???????? | // 83c404 | add esp, 4 $sequence_9 = { 33c0 3b35???????? 7327 57 } // n = 4, score = 500 // 33c0 | xor eax, eax // 3b35???????? | // 7327 | jae 0x29 // 57 | push edi $sequence_10 = { 56 8975e0 895dec 895dfc } // n = 4, score = 500 // 56 | push esi // 8975e0 | mov dword ptr [ebp - 0x20], esi // 895dec | mov dword ptr [ebp - 0x14], ebx // 895dfc | mov dword ptr [ebp - 4], ebx $sequence_11 = { 837e0c00 740c e8???????? c7460c00000000 } // n = 4, score = 500 // 837e0c00 | cmp dword ptr [esi + 0xc], 0 // 740c | je 0xe // e8???????? | // c7460c00000000 | mov dword ptr [esi + 0xc], 0 $sequence_12 = { 57 8d7e10 57 ff15???????? 83c604 e8???????? 57 } // n = 7, score = 500 // 57 | push edi // 8d7e10 | lea edi, [esi + 0x10] // 57 | push edi // ff15???????? | // 83c604 | add esi, 4 // e8???????? | // 57 | push edi $sequence_13 = { 740b 8a4601 46 43 84c0 7409 } // n = 6, score = 500 // 740b | je 0xd // 8a4601 | mov al, byte ptr [esi + 1] // 46 | inc esi // 43 | inc ebx // 84c0 | test al, al // 7409 | je 0xb $sequence_14 = { 50 c705????????03000000 ffd6 8b0d???????? 33ff 57 } // n = 6, score = 500 // 50 | push eax // c705????????03000000 | // ffd6 | call esi // 8b0d???????? | // 33ff | xor edi, edi // 57 | push edi $sequence_15 = { 837e0400 8d5e04 c706???????? 7431 837e0c00 740c } // n = 6, score = 500 // 837e0400 | cmp dword ptr [esi + 4], 0 // 8d5e04 | lea ebx, [esi + 4] // c706???????? | // 7431 | je 0x33 // 837e0c00 | cmp dword ptr [esi + 0xc], 0 // 740c | je 0xe condition: 7 of them and filesize < 2124800 }
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