According to Trend Micro, this is a downloader, dedicated to stage execution of a second stage malware called Enigma Stealer.
rule win_enigma_loader_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-07-11" version = "1" description = "Detects win.enigma_loader." 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.enigma_loader" 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 = { 0f86a9000000 ebbb 4885c0 740d 488bc8 e8???????? 488bd8 } // n = 7, score = 100 // 0f86a9000000 | test edx, edx // ebbb | je 0x64e // 4885c0 | sub edx, 1 // 740d | dec eax // 488bc8 | mov esi, dword ptr [0x60] // e8???????? | // 488bd8 | dec eax $sequence_1 = { 48897010 408830 eb15 b918000000 e8???????? 48897010 48897008 } // n = 7, score = 100 // 48897010 | cmp esi, 4 // 408830 | jb 0x751 // eb15 | cmp al, byte ptr [ebp + esi + 0x10] // b918000000 | jne 0x77d // e8???????? | // 48897010 | dec eax // 48897008 | add esi, edi $sequence_2 = { 0fb7c0 6bc834 664103c8 41ffc0 66413109 4d8d4902 4183f80b } // n = 7, score = 100 // 0fb7c0 | mov eax, dword ptr [ebx] // 6bc834 | inc esp // 664103c8 | mov byte ptr [eax + ecx], cl // 41ffc0 | inc eax // 66413109 | mov byte ptr [eax + ecx + 1], ch // 4d8d4902 | jmp 0x45f // 4183f80b | dec eax $sequence_3 = { 7644 8b4d00 8bd3 4803cf 488bc1 3819 7409 } // n = 7, score = 100 // 7644 | mov byte ptr [esp + 0x30], dh // 8b4d00 | dec eax // 8bd3 | mov dword ptr [esp + 0x38], esi // 4803cf | dec esp // 488bc1 | add dword ptr [ecx + 8], ebp // 3819 | jmp 0xba9 // 7409 | dec esp $sequence_4 = { 90 41c6466801 4138b6b0000000 0f8559060000 bb00100000 488b5590 493bd5 } // n = 7, score = 100 // 90 | mov dword ptr [ecx], eax // 41c6466801 | mov eax, dword ptr [edx + 8] // 4138b6b0000000 | mov dword ptr [ecx + 8], eax // 0f8559060000 | dec eax // bb00100000 | mov ecx, dword ptr [edx + 0x10] // 488b5590 | dec eax // 493bd5 | mov dword ptr [ebx + 0x10], ecx $sequence_5 = { 488bcb e8???????? 41894640 83f80c 0f858f020000 4088bd58020000 } // n = 6, score = 100 // 488bcb | mov eax, dword ptr [esp + 0xb8] // e8???????? | // 41894640 | inc ecx // 83f80c | mov edi, esi // 0f858f020000 | inc ebp // 4088bd58020000 | mov dword ptr [eax], esi $sequence_6 = { 448a4f14 0f839e000000 488d4101 48894310 4c397318 488bc3 7203 } // n = 7, score = 100 // 448a4f14 | test eax, eax // 0f839e000000 | je 0x8ff // 488d4101 | dec eax // 48894310 | mov ebx, dword ptr [esp + 0x58] // 4c397318 | mov esi, 0x1ce43de8 // 488bc3 | mov edx, esi // 7203 | inc ecx $sequence_7 = { 4885db 740e 483bdf 0f84ac000000 e9???????? 4d8bb4f670b70200 33d2 } // n = 7, score = 100 // 4885db | and edx, 0xfffffffc // 740e | mov edi, 0x1000 // 483bdf | dec eax // 0f84ac000000 | mov edx, dword ptr [esp + 0x70] // e9???????? | // 4d8bb4f670b70200 | dec eax // 33d2 | cmp edx, 0x10 $sequence_8 = { e8???????? 48894620 488bcb e8???????? 41894640 83f80c } // n = 6, score = 100 // e8???????? | // 48894620 | mov eax, ebx // 488bcb | dec esp // e8???????? | // 41894640 | cmp edi, edx // 83f80c | je 0xcc $sequence_9 = { 4c894018 4c894820 53 56 57 b840200000 e8???????? } // n = 7, score = 100 // 4c894018 | dec eax // 4c894820 | lea edx, [ebp + 0x60] // 53 | dec ecx // 56 | mov ecx, esi // 57 | nop // b840200000 | inc ecx // e8???????? | condition: 7 of them and filesize < 798720 }
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