Actor(s): Aurora Panda, Hurricane Panda
There is no description at this point.
rule win_hikit_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-07-11" version = "1" description = "Detects win.hikit." 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.hikit" 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 = { 8b442420 83b84801000001 7578 8b4c2428 48 8b442420 0fb6840810010000 } // n = 7, score = 100 // 8b442420 | mov eax, dword ptr [esp + 0x20] // 83b84801000001 | cmp dword ptr [eax + 0x148], 1 // 7578 | jne 0x7a // 8b4c2428 | mov ecx, dword ptr [esp + 0x28] // 48 | dec eax // 8b442420 | mov eax, dword ptr [esp + 0x20] // 0fb6840810010000 | movzx eax, byte ptr [eax + ecx + 0x110] $sequence_1 = { 89442438 48 8b442460 81b85010000000000200 7209 8b442444 e9???????? } // n = 7, score = 100 // 89442438 | mov dword ptr [esp + 0x38], eax // 48 | dec eax // 8b442460 | mov eax, dword ptr [esp + 0x60] // 81b85010000000000200 | cmp dword ptr [eax + 0x1050], 0x20000 // 7209 | jb 0xb // 8b442444 | mov eax, dword ptr [esp + 0x44] // e9???????? | $sequence_2 = { 8b8c24d8000000 e8???????? eb12 48 8b8424d8000000 8b4004 898424b0000000 } // n = 7, score = 100 // 8b8c24d8000000 | mov ecx, dword ptr [esp + 0xd8] // e8???????? | // eb12 | jmp 0x14 // 48 | dec eax // 8b8424d8000000 | mov eax, dword ptr [esp + 0xd8] // 8b4004 | mov eax, dword ptr [eax + 4] // 898424b0000000 | mov dword ptr [esp + 0xb0], eax $sequence_3 = { ff15???????? 89442420 48 c705????????00000000 48 8d0d3e480000 ff15???????? } // n = 7, score = 100 // ff15???????? | // 89442420 | mov dword ptr [esp + 0x20], eax // 48 | dec eax // c705????????00000000 | // 48 | dec eax // 8d0d3e480000 | lea ecx, [0x483e] // ff15???????? | $sequence_4 = { 8b45fc 0fb7480c 53 51 83c004 50 ffd7 } // n = 7, score = 100 // 8b45fc | mov eax, dword ptr [ebp - 4] // 0fb7480c | movzx ecx, word ptr [eax + 0xc] // 53 | push ebx // 51 | push ecx // 83c004 | add eax, 4 // 50 | push eax // ffd7 | call edi $sequence_5 = { 48 894c2408 48 81ecc8000000 c78424b000000000000000 48 c744243800000000 } // n = 7, score = 100 // 48 | dec eax // 894c2408 | mov dword ptr [esp + 8], ecx // 48 | dec eax // 81ecc8000000 | sub esp, 0xc8 // c78424b000000000000000 | mov dword ptr [esp + 0xb0], 0 // 48 | dec eax // c744243800000000 | mov dword ptr [esp + 0x38], 0 $sequence_6 = { 0f8485000000 38591c 7568 8b4108 895df8 895df4 895dfc } // n = 7, score = 100 // 0f8485000000 | je 0x8b // 38591c | cmp byte ptr [ecx + 0x1c], bl // 7568 | jne 0x6a // 8b4108 | mov eax, dword ptr [ecx + 8] // 895df8 | mov dword ptr [ebp - 8], ebx // 895df4 | mov dword ptr [ebp - 0xc], ebx // 895dfc | mov dword ptr [ebp - 4], ebx $sequence_7 = { 85c0 0f84f5000000 b9???????? 8d44246c 8d642400 668b10 663b11 } // n = 7, score = 100 // 85c0 | test eax, eax // 0f84f5000000 | je 0xfb // b9???????? | // 8d44246c | lea eax, [esp + 0x6c] // 8d642400 | lea esp, [esp] // 668b10 | mov dx, word ptr [eax] // 663b11 | cmp dx, word ptr [ecx] $sequence_8 = { 83c414 397d0c 0f8524ffffff 8b5dd0 6a0c e8???????? 59 } // n = 7, score = 100 // 83c414 | add esp, 0x14 // 397d0c | cmp dword ptr [ebp + 0xc], edi // 0f8524ffffff | jne 0xffffff2a // 8b5dd0 | mov ebx, dword ptr [ebp - 0x30] // 6a0c | push 0xc // e8???????? | // 59 | pop ecx $sequence_9 = { e8???????? 59 59 85c0 7456 8b4de0 8d0c8d40540210 } // n = 7, score = 100 // e8???????? | // 59 | pop ecx // 59 | pop ecx // 85c0 | test eax, eax // 7456 | je 0x58 // 8b4de0 | mov ecx, dword ptr [ebp - 0x20] // 8d0c8d40540210 | lea ecx, [ecx*4 + 0x10025440] condition: 7 of them and filesize < 573440 }
rule win_hikit_w0 { meta: author = "31ric" description = "Backdoor.Hikit is a Trojan horse that opens a back door on the compromised computer." source = "https://github.com/mattulm/sfiles_yara/blob/master/malware/hiddenlynxfiles.yar" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.hikit" malpedia_version = "20170517" malpedia_license = "CC BY-NC-SA 4.0" malpedia_sharing = "TLP:WHITE" strings: $f1 = "w7fw.sys" nocase ascii wide $f2 = "w7fw_m.inf" nocase ascii wide $f3 = "w7fw.inf" nocase ascii wide $f4 = "w7fw.cat" nocase ascii wide condition: 1 of them }
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