C2 framework.
rule win_nighthawk_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.nighthawk." 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.nighthawk" 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 = { 740e 83e901 7412 83f901 0f858b000000 f6838000000010 eb07 } // n = 7, score = 100 // 740e | dec esp // 83e901 | mov dword ptr [esp + 0x40], esi // 7412 | dec eax // 83f901 | mov dword ptr [esp + 0x48], esi // 0f858b000000 | dec esp // f6838000000010 | mov eax, edi // eb07 | dec eax $sequence_1 = { e8???????? 90 48897597 488975a7 4c896daf 41b81d000000 488d15d3020800 } // n = 7, score = 100 // e8???????? | // 90 | jmp 0xc2 // 48897597 | dec eax // 488975a7 | mov ecx, dword ptr [esp + 0x78] // 4c896daf | test eax, eax // 41b81d000000 | jns 0xb8 // 488d15d3020800 | xor eax, eax $sequence_2 = { 7211 488b8d40080000 4885c9 7405 e8???????? 4889b550080000 4889bd58080000 } // n = 7, score = 100 // 7211 | dec eax // 488b8d40080000 | mov eax, esi // 4885c9 | inc cx // 7405 | cmp dword ptr [eax], 0x3a // e8???????? | // 4889b550080000 | je 0x1a7b // 4889bd58080000 | dec eax $sequence_3 = { 4c89642448 6644897c2430 e8???????? 4c8d442430 488b5320 e8???????? 85c0 } // n = 7, score = 100 // 4c89642448 | lea edx, [esp + 0x30] // 6644897c2430 | dec eax // e8???????? | // 4c8d442430 | lea ecx, [ebp - 0x30] // 488b5320 | dec eax // e8???????? | // 85c0 | mov edx, eax $sequence_4 = { 4c2bc7 4803d7 488d8c2430010000 e8???????? 90 4c3ba424a0000000 744f } // n = 7, score = 100 // 4c2bc7 | dec eax // 4803d7 | lea edx, [esp + 0x68] // 488d8c2430010000 | dec eax // e8???????? | // 90 | lea ecx, [ebp - 0x58] // 4c3ba424a0000000 | dec eax // 744f | mov edx, eax $sequence_5 = { e8???????? 85c0 0f8517010000 80fb2c 0f840e010000 80fb5d 0f8405010000 } // n = 7, score = 100 // e8???????? | // 85c0 | dec eax // 0f8517010000 | mov ecx, edi // 80fb2c | test eax, eax // 0f840e010000 | sete bl // 80fb5d | dec eax // 0f8405010000 | cmp dword ptr [ebp], 8 $sequence_6 = { 90 83ff03 0f85d1040000 8bfb 488b5c2440 488d4c2430 48837c244808 } // n = 7, score = 100 // 90 | dec eax // 83ff03 | mov dword ptr [esp + 0x30], eax // 0f85d1040000 | dec eax // 8bfb | add ebx, eax // 488b5c2440 | je 0x41d // 488d4c2430 | dec eax // 48837c244808 | mov ecx, ebx $sequence_7 = { c3 e8???????? 90 cc 4883ec28 488b09 4885c9 } // n = 7, score = 100 // c3 | dec ebp // e8???????? | // 90 | mov eax, esi // cc | xor edx, edx // 4883ec28 | je 0xb8 // 488b09 | dec ecx // 4885c9 | mov edx, edi $sequence_8 = { 4c896e20 6644897e08 4883c660 488d4ec8 483bcd 0f856affffff 488b5c2450 } // n = 7, score = 100 // 4c896e20 | mov eax, dword ptr [eax] // 6644897e08 | mov dword ptr [esp + 0x20], ebx // 4883c660 | inc esp // 488d4ec8 | mov ecx, esi // 483bcd | dec eax // 0f856affffff | lea ecx, [esp + 0x70] // 488b5c2450 | dec eax $sequence_9 = { 743f 0fb7d9 81cb00000780 85c9 0f4ed9 eb2f 488b8de8000000 } // n = 7, score = 100 // 743f | mov eax, 0x20 // 0fb7d9 | dec eax // 81cb00000780 | mov edx, ebx // 85c9 | dec eax // 0f4ed9 | lea ecx, [esp + 0x48] // eb2f | dec esp // 488b8de8000000 | mov dword ptr [esp + 0x58], edi condition: 7 of them and filesize < 1949696 }
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