Mandiant associates this with UNC4191, this malware is a launcher for NCAT to establish a reverse tunnel.
rule win_bluehaze_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-09-17" version = "1" description = "Detects win.bluehaze." 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.bluehaze" malpedia_rule_date = "20260916" malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6" malpedia_version = "20260917" 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 = { 8b7508 6858020000 56 c745fc00000000 ffd2 8bc6 5e } // n = 7, score = 100 // 8b7508 | mov esi, dword ptr [ebp + 8] // 6858020000 | push 0x258 // 56 | push esi // c745fc00000000 | mov dword ptr [ebp - 4], 0 // ffd2 | call edx // 8bc6 | mov eax, esi // 5e | pop esi $sequence_1 = { 83c404 8975ec 85f6 7457 8b4d0c 8b4508 894e04 } // n = 7, score = 100 // 83c404 | add esp, 4 // 8975ec | mov dword ptr [ebp - 0x14], esi // 85f6 | test esi, esi // 7457 | je 0x59 // 8b4d0c | mov ecx, dword ptr [ebp + 0xc] // 8b4508 | mov eax, dword ptr [ebp + 8] // 894e04 | mov dword ptr [esi + 4], ecx $sequence_2 = { 5e 5b 5d c20400 8b4e08 2bcf } // n = 6, score = 100 // 5e | pop esi // 5b | pop ebx // 5d | pop ebp // c20400 | ret 4 // 8b4e08 | mov ecx, dword ptr [esi + 8] // 2bcf | sub ecx, edi $sequence_3 = { 8945c8 8b40fc 03df 895dcc 3bc6 7d40 33d2 } // n = 7, score = 100 // 8945c8 | mov dword ptr [ebp - 0x38], eax // 8b40fc | mov eax, dword ptr [eax - 4] // 03df | add ebx, edi // 895dcc | mov dword ptr [ebp - 0x34], ebx // 3bc6 | cmp eax, esi // 7d40 | jge 0x42 // 33d2 | xor edx, edx $sequence_4 = { c745fc00000000 e8???????? 57 50 8d4e1c 51 c645fc01 } // n = 7, score = 100 // c745fc00000000 | mov dword ptr [ebp - 4], 0 // e8???????? | // 57 | push edi // 50 | push eax // 8d4e1c | lea ecx, [esi + 0x1c] // 51 | push ecx // c645fc01 | mov byte ptr [ebp - 4], 1 $sequence_5 = { c745e80f000000 897de4 c645d400 8b16 8b4210 8bce c645fc04 } // n = 7, score = 100 // c745e80f000000 | mov dword ptr [ebp - 0x18], 0xf // 897de4 | mov dword ptr [ebp - 0x1c], edi // c645d400 | mov byte ptr [ebp - 0x2c], 0 // 8b16 | mov edx, dword ptr [esi] // 8b4210 | mov eax, dword ptr [edx + 0x10] // 8bce | mov ecx, esi // c645fc04 | mov byte ptr [ebp - 4], 4 $sequence_6 = { 5b 8be5 5d c20c00 8d4d08 51 8d4de4 } // n = 7, score = 100 // 5b | pop ebx // 8be5 | mov esp, ebp // 5d | pop ebp // c20c00 | ret 0xc // 8d4d08 | lea ecx, [ebp + 8] // 51 | push ecx // 8d4de4 | lea ecx, [ebp - 0x1c] $sequence_7 = { 83f803 756a 837de401 7252 837de810 8b45d4 } // n = 6, score = 100 // 83f803 | cmp eax, 3 // 756a | jne 0x6c // 837de401 | cmp dword ptr [ebp - 0x1c], 1 // 7252 | jb 0x54 // 837de810 | cmp dword ptr [ebp - 0x18], 0x10 // 8b45d4 | mov eax, dword ptr [ebp - 0x2c] $sequence_8 = { ff15???????? 83c40c eb0a 8b0e 898d9cfeffff 891e 8b5610 } // n = 7, score = 100 // ff15???????? | // 83c40c | add esp, 0xc // eb0a | jmp 0xc // 8b0e | mov ecx, dword ptr [esi] // 898d9cfeffff | mov dword ptr [ebp - 0x164], ecx // 891e | mov dword ptr [esi], ebx // 8b5610 | mov edx, dword ptr [esi + 0x10] $sequence_9 = { 33c0 8bf8 8d8dd0faffff e9???????? 68???????? 8d8db0fbffff e8???????? } // n = 7, score = 100 // 33c0 | xor eax, eax // 8bf8 | mov edi, eax // 8d8dd0faffff | lea ecx, [ebp - 0x530] // e9???????? | // 68???????? | // 8d8db0fbffff | lea ecx, [ebp - 0x450] // e8???????? | condition: 7 of them and filesize < 424960 }
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