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-12-06" 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 = "20231130" malpedia_hash = "fc8a0e9f343f6d6ded9e7df1a64dac0cc68d7351" malpedia_version = "20230808" 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 = { c705????????01000000 ffd6 6800040000 68???????? } // n = 4, score = 500 // c705????????01000000 | // ffd6 | call esi // 6800040000 | push 0x400 // 68???????? | $sequence_1 = { 68???????? 68???????? 68???????? c705????????0c000000 c705????????00000000 c705????????01000000 } // n = 6, score = 500 // 68???????? | // 68???????? | // 68???????? | // c705????????0c000000 | // c705????????00000000 | // c705????????01000000 | $sequence_2 = { 25ff7f0000 33c9 7707 3d00400000 7608 6a0a ff15???????? } // n = 7, score = 500 // 25ff7f0000 | and eax, 0x7fff // 33c9 | xor ecx, ecx // 7707 | ja 9 // 3d00400000 | cmp eax, 0x4000 // 7608 | jbe 0xa // 6a0a | push 0xa // ff15???????? | $sequence_3 = { 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_4 = { 85c0 7506 6a0a ffd6 } // n = 4, score = 500 // 85c0 | test eax, eax // 7506 | jne 8 // 6a0a | push 0xa // ffd6 | call esi $sequence_5 = { 6a00 68703a0000 6a00 50 ffd7 85c0 } // n = 6, score = 500 // 6a00 | push 0 // 68703a0000 | push 0x3a70 // 6a00 | push 0 // 50 | push eax // ffd7 | call edi // 85c0 | test eax, eax $sequence_6 = { e8???????? 6a00 c705????????00000000 ff15???????? 6a00 } // n = 5, score = 500 // e8???????? | // 6a00 | push 0 // c705????????00000000 | // ff15???????? | // 6a00 | push 0 $sequence_7 = { 8d958cc5ffff 52 50 ff15???????? 85c0 } // n = 5, score = 500 // 8d958cc5ffff | lea edx, [ebp - 0x3a74] // 52 | push edx // 50 | push eax // ff15???????? | // 85c0 | test eax, eax $sequence_8 = { ff15???????? 85c0 7506 6a0a } // n = 4, score = 500 // ff15???????? | // 85c0 | test eax, eax // 7506 | jne 8 // 6a0a | push 0xa $sequence_9 = { 56 6a01 50 ff15???????? a1???????? } // n = 5, score = 500 // 56 | push esi // 6a01 | push 1 // 50 | push eax // ff15???????? | // a1???????? | 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. 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