Actor(s): Lazarus Group
According to Cisco Talos, CRAT is a remote access trojan with plugin capabilites, used by Lazarus since at least May 2020.
rule win_crat_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-01-25" version = "1" description = "Detects win.crat." 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.crat" 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 = { e8???????? 488bd0 488d8d78010000 e8???????? 90 } // n = 5, score = 500 // e8???????? | // 488bd0 | dec eax // 488d8d78010000 | lea ecx, [ebp - 0x70] // e8???????? | // 90 | nop $sequence_1 = { e8???????? 488bd0 488d8d28010000 e8???????? } // n = 4, score = 500 // e8???????? | // 488bd0 | dec eax // 488d8d28010000 | mov edx, eax // e8???????? | $sequence_2 = { e8???????? 488bd0 488d8d70010000 e8???????? 90 } // n = 5, score = 500 // e8???????? | // 488bd0 | mov edx, eax // 488d8d70010000 | dec eax // e8???????? | // 90 | lea ecx, [ebp + 0x178] $sequence_3 = { e8???????? 488bd0 488d8dc8000000 e8???????? 90 } // n = 5, score = 500 // e8???????? | // 488bd0 | dec eax // 488d8dc8000000 | mov edx, eax // e8???????? | // 90 | dec eax $sequence_4 = { e8???????? 488bd0 488d8d88000000 e8???????? 90 } // n = 5, score = 500 // e8???????? | // 488bd0 | lea ecx, [ebp + 0xc8] // 488d8d88000000 | nop // e8???????? | // 90 | dec eax $sequence_5 = { 483bc8 7406 e8???????? 90 488b542420 } // n = 5, score = 500 // 483bc8 | nop // 7406 | dec eax // e8???????? | // 90 | mov edx, eax // 488b542420 | dec eax $sequence_6 = { e8???????? 488bd0 488d8d60010000 e8???????? 90 } // n = 5, score = 500 // e8???????? | // 488bd0 | mov edx, eax // 488d8d60010000 | dec eax // e8???????? | // 90 | lea ecx, [ebp + 0x170] $sequence_7 = { e8???????? 488bd0 488d4d90 e8???????? 90 488bd0 } // n = 6, score = 500 // e8???????? | // 488bd0 | dec eax // 488d4d90 | lea ecx, [ebp + 0x128] // e8???????? | // 90 | dec eax // 488bd0 | mov edx, eax $sequence_8 = { ffd0 85c0 750f ff15???????? } // n = 4, score = 300 // ffd0 | mov edx, eax // 85c0 | dec eax // 750f | lea ecx, [ebp + 0x88] // ff15???????? | $sequence_9 = { 33d2 c1e902 f7f1 eb02 } // n = 4, score = 300 // 33d2 | mov dword ptr [eax - 0x10], 0 // c1e902 | mov esp, ebp // f7f1 | pop ebp // eb02 | ret 8 $sequence_10 = { ff7720 e8???????? ff771c e8???????? 83c408 5f } // n = 6, score = 200 // ff7720 | lea ecx, [ebp + 0x160] // e8???????? | // ff771c | nop // e8???????? | // 83c408 | dec eax // 5f | mov edx, eax $sequence_11 = { 8b45e4 8b4dd4 8945d8 eb35 } // n = 4, score = 200 // 8b45e4 | cmp dword ptr [edi + 0x18], 0 // 8b4dd4 | mov dword ptr [eax + 0x18], 0x10 // 8945d8 | mov dword ptr [eax + 0x1c], ecx // eb35 | mov ecx, dword ptr [ebp + 8] $sequence_12 = { ff7610 e8???????? 56 e8???????? 83c408 ff7720 } // n = 6, score = 200 // ff7610 | jne 0x11 // e8???????? | // 56 | cmp eax, 0x7a // e8???????? | // 83c408 | push dword ptr [edi + 0x20] // ff7720 | push dword ptr [edi + 0x1c] $sequence_13 = { ff75fc 8bcf 56 e8???????? 837f1800 757b 56 } // n = 7, score = 200 // ff75fc | dec eax // 8bcf | lea ecx, [ebp + 0x178] // 56 | dec eax // e8???????? | // 837f1800 | mov edx, eax // 757b | dec eax // 56 | lea ecx, [ebp + 0x140] $sequence_14 = { c7401810000000 89481c 8b4d08 8b45b8 } // n = 4, score = 200 // c7401810000000 | push esi // 89481c | cmp dword ptr [edi + 0x18], 0 // 8b4d08 | jne 0x118 // 8b45b8 | mov ecx, dword ptr [esi] $sequence_15 = { c740f000000000 5f 5e 5b 8be5 } // n = 5, score = 200 // c740f000000000 | mov ecx, dword ptr [ebp - 0xc] // 5f | mov eax, dword ptr [ebp - 0x1c] // 5e | mov ecx, dword ptr [ebp - 0x2c] // 5b | mov dword ptr [ebp - 0x28], eax // 8be5 | jmp 0x3d $sequence_16 = { c740f000000000 8be5 5d c20800 } // n = 4, score = 200 // c740f000000000 | mov dword ptr [ebp - 0x28], eax // 8be5 | jmp 0x3d // 5d | mov eax, dword ptr [ebp - 0x1c] // c20800 | mov esi, dword ptr [ebp - 0x20] condition: 7 of them and filesize < 4161536 }
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