Actor(s): Lazarus Group
There is no description at this point.
rule win_hotcroissant_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-07-11" version = "1" description = "Detects win.hotcroissant." 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.hotcroissant" 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 = { 83e780 c1e307 33fb c1e711 c1e808 46 0bc7 } // n = 7, score = 500 // 83e780 | and edi, 0xffffff80 // c1e307 | shl ebx, 7 // 33fb | xor edi, ebx // c1e711 | shl edi, 0x11 // c1e808 | shr eax, 8 // 46 | inc esi // 0bc7 | or eax, edi $sequence_1 = { 68???????? ffd6 a1???????? 85c0 7409 6a01 } // n = 6, score = 500 // 68???????? | // ffd6 | call esi // a1???????? | // 85c0 | test eax, eax // 7409 | je 0xb // 6a01 | push 1 $sequence_2 = { 56 6a01 50 ff15???????? a1???????? 8b35???????? } // n = 6, score = 500 // 56 | push esi // 6a01 | push 1 // 50 | push eax // ff15???????? | // a1???????? | // 8b35???????? | $sequence_3 = { 46 0bc7 8955fc 3b750c 7ca8 } // n = 5, score = 500 // 46 | inc esi // 0bc7 | or eax, edi // 8955fc | mov dword ptr [ebp - 4], edx // 3b750c | cmp esi, dword ptr [ebp + 0xc] // 7ca8 | jl 0xffffffaa $sequence_4 = { 83e780 c1e307 33fb c1e711 c1e808 46 } // n = 6, score = 500 // 83e780 | and edi, 0xffffff80 // c1e307 | shl ebx, 7 // 33fb | xor edi, ebx // c1e711 | shl edi, 0x11 // c1e808 | shr eax, 8 // 46 | inc esi $sequence_5 = { 6800040000 68???????? 68???????? 68???????? ffd6 } // n = 5, score = 500 // 6800040000 | push 0x400 // 68???????? | // 68???????? | // 68???????? | // ffd6 | call esi $sequence_6 = { 50 ff15???????? 85c0 7506 6a0a } // n = 5, score = 500 // 50 | push eax // ff15???????? | // 85c0 | test eax, eax // 7506 | jne 8 // 6a0a | push 0xa $sequence_7 = { c1e711 c1e808 46 0bc7 8955fc 3b750c 7ca8 } // n = 7, score = 500 // c1e711 | shl edi, 0x11 // c1e808 | shr eax, 8 // 46 | inc esi // 0bc7 | or eax, edi // 8955fc | mov dword ptr [ebp - 4], edx // 3b750c | cmp esi, dword ptr [ebp + 0xc] // 7ca8 | jl 0xffffffaa $sequence_8 = { 51 ffd6 8b15???????? 33c0 52 a3???????? } // n = 6, score = 500 // 51 | push ecx // ffd6 | call esi // 8b15???????? | // 33c0 | xor eax, eax // 52 | push edx // a3???????? | $sequence_9 = { 51 6802000080 ff15???????? 85c0 7406 } // n = 5, score = 500 // 51 | push ecx // 6802000080 | push 0x80000002 // ff15???????? | // 85c0 | test eax, eax // 7406 | je 8 condition: 7 of them and filesize < 591872 }
rule win_hotcroissant_w0 { meta: author = "VMware CarbonBlack TAU" date = "2020-Mar-25" validity = 10 severity = 10 TID = "T1140, T1082, T1033, T1005, T1113, T1094, T1024, T1132, T1065" description = "Lazarus HotCroissant backdoor" link = "https://www.us-cert.gov/ncas/analysis-reports/ar20-045d" rule_version = 1 yara_version = "3.11.0" confidence = "Prod" priority = "Medium" tlp = "White" hash = "8ee7da59f68c691c9eca1ac70ff03155ed07808c7a66dee49886b51a59e00085" hash = "7ec13c5258e4b3455f2e8af1c55ac74de6195b837235b58bc32f95dd6f25370c" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.hotcroissant" malpedia_version = "20200421" malpedia_sharing = "TLP:WHITE" malpedia_license = "" strings: // Crypto keys $b1 = { 8b d6 b8 00 [1-6] 17 [1-6] 29 70 49 02 } // Crypto algorithm $b2 = { 8A 1C 3E 32 DA 32 D8 32 D9 88 1C 3E 8A D8 32 D9 22 DA 8B 55 FC 8D 3C D5 00 00 00 00 33 FA 81 E7 F8 07 00 00 C1 E7 14 C1 EA 08 0B D7 8D 3C 00 33 F8 22 C8 C1 E7 04 33 F8 32 CB 8B D8 83 E7 80 C1 E3 07 33 FB C1 E7 11 C1 E8 08 } condition: uint16(0) == 0x5A4D and uint32(uint32(0x3C)) == 0x00004550 and filesize < 200KB and any of ($b*) }
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