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-01-25" 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 = "20230124" malpedia_hash = "2ee0eebba83dce3d019a90519f2f972c0fcf9686" malpedia_version = "20230125" 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 = { 52 ffd6 893d???????? 893d???????? 893d???????? 893d???????? 5e } // n = 7, score = 500 // 52 | push edx // ffd6 | call esi // 893d???????? | // 893d???????? | // 893d???????? | // 893d???????? | // 5e | pop esi $sequence_1 = { 8be5 5d c3 e8???????? 6a00 c705????????00000000 } // n = 6, score = 500 // 8be5 | mov esp, ebp // 5d | pop ebp // c3 | ret // e8???????? | // 6a00 | push 0 // c705????????00000000 | $sequence_2 = { e8???????? 6a00 c705????????00000000 ff15???????? 6a00 } // n = 5, score = 500 // e8???????? | // 6a00 | push 0 // c705????????00000000 | // ff15???????? | // 6a00 | push 0 $sequence_3 = { 8b15???????? 33c0 52 a3???????? a3???????? a3???????? a3???????? } // n = 7, score = 500 // 8b15???????? | // 33c0 | xor eax, eax // 52 | push edx // a3???????? | // a3???????? | // a3???????? | // a3???????? | $sequence_4 = { 6a00 ffd7 85c0 7506 46 83fe08 } // n = 6, score = 500 // 6a00 | push 0 // ffd7 | call edi // 85c0 | test eax, eax // 7506 | jne 8 // 46 | inc esi // 83fe08 | cmp esi, 8 $sequence_5 = { c3 e8???????? 6a00 c705????????00000000 ff15???????? 6a00 } // n = 6, score = 500 // c3 | ret // e8???????? | // 6a00 | push 0 // c705????????00000000 | // ff15???????? | // 6a00 | push 0 $sequence_6 = { 68???????? c705????????0c000000 c705????????00000000 c705????????01000000 ffd6 6800040000 68???????? } // n = 7, score = 500 // 68???????? | // c705????????0c000000 | // c705????????00000000 | // c705????????01000000 | // ffd6 | call esi // 6800040000 | push 0x400 // 68???????? | $sequence_7 = { 68703a0000 6a00 50 ffd7 } // n = 4, score = 500 // 68703a0000 | push 0x3a70 // 6a00 | push 0 // 50 | push eax // ffd7 | call edi $sequence_8 = { 68???????? 68???????? ffd6 a1???????? 85c0 } // n = 5, score = 500 // 68???????? | // 68???????? | // ffd6 | call esi // a1???????? | // 85c0 | test eax, eax $sequence_9 = { 32da 32d8 32d9 881c3e } // n = 4, score = 500 // 32da | xor bl, dl // 32d8 | xor bl, al // 32d9 | xor bl, cl // 881c3e | mov byte ptr [esi + edi], bl 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