Malware family observed in conjunction with PlugX infrastructure in 2013.
rule win_bee_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-03-28" version = "1" description = "Detects win.bee." 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.bee" malpedia_rule_date = "20230328" malpedia_hash = "9d2d75cef573c1c2d861f5197df8f563b05a305d" malpedia_version = "20230407" 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 = { 8b4510 50 e8???????? 83c410 c68540ffffff00 } // n = 5, score = 100 // 8b4510 | mov eax, dword ptr [ebp + 0x10] // 50 | push eax // e8???????? | // 83c410 | add esp, 0x10 // c68540ffffff00 | mov byte ptr [ebp - 0xc0], 0 $sequence_1 = { 85ed 0f8486010000 8b7b10 8bc8 2bcf 49 3bcd } // n = 7, score = 100 // 85ed | test ebp, ebp // 0f8486010000 | je 0x18c // 8b7b10 | mov edi, dword ptr [ebx + 0x10] // 8bc8 | mov ecx, eax // 2bcf | sub ecx, edi // 49 | dec ecx // 3bcd | cmp ecx, ebp $sequence_2 = { c644241000 897c2414 3bd8 762b 3bcf 7605 } // n = 6, score = 100 // c644241000 | mov byte ptr [esp + 0x10], 0 // 897c2414 | mov dword ptr [esp + 0x14], edi // 3bd8 | cmp ebx, eax // 762b | jbe 0x2d // 3bcf | cmp ecx, edi // 7605 | jbe 7 $sequence_3 = { 8b5004 83c418 8bce ffd2 5e } // n = 5, score = 100 // 8b5004 | mov edx, dword ptr [eax + 4] // 83c418 | add esp, 0x18 // 8bce | mov ecx, esi // ffd2 | call edx // 5e | pop esi $sequence_4 = { 8d5c2904 7505 e8???????? 8b430c 8b8ed0000000 2b8ecc000000 89442414 } // n = 7, score = 100 // 8d5c2904 | lea ebx, [ecx + ebp + 4] // 7505 | jne 7 // e8???????? | // 8b430c | mov eax, dword ptr [ebx + 0xc] // 8b8ed0000000 | mov ecx, dword ptr [esi + 0xd0] // 2b8ecc000000 | sub ecx, dword ptr [esi + 0xcc] // 89442414 | mov dword ptr [esp + 0x14], eax $sequence_5 = { 83c404 8bb42480000000 8b7c246c 8bcf 3bf5 7304 8d4c246c } // n = 7, score = 100 // 83c404 | add esp, 4 // 8bb42480000000 | mov esi, dword ptr [esp + 0x80] // 8b7c246c | mov edi, dword ptr [esp + 0x6c] // 8bcf | mov ecx, edi // 3bf5 | cmp esi, ebp // 7304 | jae 6 // 8d4c246c | lea ecx, [esp + 0x6c] $sequence_6 = { 52 8d4c241c 89442418 c744241c00000000 e8???????? 8b442418 50 } // n = 7, score = 100 // 52 | push edx // 8d4c241c | lea ecx, [esp + 0x1c] // 89442418 | mov dword ptr [esp + 0x18], eax // c744241c00000000 | mov dword ptr [esp + 0x1c], 0 // e8???????? | // 8b442418 | mov eax, dword ptr [esp + 0x18] // 50 | push eax $sequence_7 = { c786ac00000018014200 889eb0000000 899eb4000000 889eb8000000 899ebc000000 899ec0000000 899ec4000000 } // n = 7, score = 100 // c786ac00000018014200 | mov dword ptr [esi + 0xac], 0x420118 // 889eb0000000 | mov byte ptr [esi + 0xb0], bl // 899eb4000000 | mov dword ptr [esi + 0xb4], ebx // 889eb8000000 | mov byte ptr [esi + 0xb8], bl // 899ebc000000 | mov dword ptr [esi + 0xbc], ebx // 899ec0000000 | mov dword ptr [esi + 0xc0], ebx // 899ec4000000 | mov dword ptr [esi + 0xc4], ebx $sequence_8 = { 741d 8bc7 c1f805 83e71f c1e706 8b048500534200 8d44380c } // n = 7, score = 100 // 741d | je 0x1f // 8bc7 | mov eax, edi // c1f805 | sar eax, 5 // 83e71f | and edi, 0x1f // c1e706 | shl edi, 6 // 8b048500534200 | mov eax, dword ptr [eax*4 + 0x425300] // 8d44380c | lea eax, [eax + edi + 0xc] $sequence_9 = { 56 e8???????? 8bf0 8b442450 83c404 2b442448 89542420 } // n = 7, score = 100 // 56 | push esi // e8???????? | // 8bf0 | mov esi, eax // 8b442450 | mov eax, dword ptr [esp + 0x50] // 83c404 | add esp, 4 // 2b442448 | sub eax, dword ptr [esp + 0x48] // 89542420 | mov dword ptr [esp + 0x20], edx condition: 7 of them and filesize < 394240 }
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