Actor(s): Mirage
There is no description at this point.
rule win_mirage_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2022-05-16" version = "1" description = "Detects win.mirage." 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.mirage" malpedia_rule_date = "20220513" malpedia_hash = "7f4b2229e6ae614d86d74917f6d5b41890e62a26" malpedia_version = "20220516" 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 = { 68???????? c745f804010000 ff75fc ff15???????? } // n = 4, score = 200 // 68???????? | // c745f804010000 | mov dword ptr [ebp - 8], 0x104 // ff75fc | push dword ptr [ebp - 4] // ff15???????? | $sequence_1 = { 6a10 50 ff7620 ff15???????? 83f8ff 750d } // n = 6, score = 200 // 6a10 | push 0x10 // 50 | push eax // ff7620 | push dword ptr [esi + 0x20] // ff15???????? | // 83f8ff | cmp eax, -1 // 750d | jne 0xf $sequence_2 = { 68???????? 6801000080 ff15???????? 85c0 7556 } // n = 5, score = 200 // 68???????? | // 6801000080 | push 0x80000001 // ff15???????? | // 85c0 | test eax, eax // 7556 | jne 0x58 $sequence_3 = { 83c418 8d8dd0fcffff e8???????? 8bc7 895dfc 8db5bcbbffff e8???????? } // n = 7, score = 200 // 83c418 | add esp, 0x18 // 8d8dd0fcffff | lea ecx, [ebp - 0x330] // e8???????? | // 8bc7 | mov eax, edi // 895dfc | mov dword ptr [ebp - 4], ebx // 8db5bcbbffff | lea esi, [ebp - 0x4444] // e8???????? | $sequence_4 = { eb4c 83bd54ffffff02 753d a3???????? eb3c } // n = 5, score = 200 // eb4c | jmp 0x4e // 83bd54ffffff02 | cmp dword ptr [ebp - 0xac], 2 // 753d | jne 0x3f // a3???????? | // eb3c | jmp 0x3e $sequence_5 = { 7541 0fb68799010000 50 0fb68798010000 50 0fb68797010000 50 } // n = 7, score = 200 // 7541 | jne 0x43 // 0fb68799010000 | movzx eax, byte ptr [edi + 0x199] // 50 | push eax // 0fb68798010000 | movzx eax, byte ptr [edi + 0x198] // 50 | push eax // 0fb68797010000 | movzx eax, byte ptr [edi + 0x197] // 50 | push eax $sequence_6 = { 8d85d4beffff 56 53 50 e8???????? } // n = 5, score = 200 // 8d85d4beffff | lea eax, [ebp - 0x412c] // 56 | push esi // 53 | push ebx // 50 | push eax // e8???????? | $sequence_7 = { ff15???????? 385d0c 7416 8d8580feffff 50 8d857cfdffff 50 } // n = 7, score = 200 // ff15???????? | // // 7416 | je 0x18 // 8d8580feffff | lea eax, [ebp - 0x180] // 50 | push eax // 8d857cfdffff | lea eax, [ebp - 0x284] // 50 | push eax $sequence_8 = { 50 8d45f4 50 53 68???????? c745f804010000 } // n = 6, score = 200 // 50 | push eax // 8d45f4 | lea eax, [ebp - 0xc] // 50 | push eax // 53 | push ebx // 68???????? | // c745f804010000 | mov dword ptr [ebp - 8], 0x104 $sequence_9 = { 59 8d451c 53 53 } // n = 4, score = 200 // 59 | pop ecx // 8d451c | lea eax, [ebp + 0x1c] // 53 | push ebx // 53 | push ebx $sequence_10 = { 50 e8???????? 8945e0 ffd6 2bc3 } // n = 5, score = 200 // 50 | push eax // e8???????? | // 8945e0 | mov dword ptr [ebp - 0x20], eax // ffd6 | call esi // 2bc3 | sub eax, ebx $sequence_11 = { 48 0f85650b0000 ff75f0 e8???????? 85c0 59 0f852e060000 } // n = 7, score = 100 // 48 | dec eax // 0f85650b0000 | jne 0xb6b // ff75f0 | push dword ptr [ebp - 0x10] // e8???????? | // 85c0 | test eax, eax // 59 | pop ecx // 0f852e060000 | jne 0x634 $sequence_12 = { 56 57 ff75fc 53 53 ff15???????? 6a01 } // n = 7, score = 100 // 56 | push esi // 57 | push edi // ff75fc | push dword ptr [ebp - 4] // 53 | push ebx // 53 | push ebx // ff15???????? | // 6a01 | push 1 $sequence_13 = { 83e864 0f8428010000 48 745c 48 0f85650b0000 } // n = 6, score = 100 // 83e864 | sub eax, 0x64 // 0f8428010000 | je 0x12e // 48 | dec eax // 745c | je 0x5e // 48 | dec eax // 0f85650b0000 | jne 0xb6b $sequence_14 = { 8d4de0 e8???????? 33c0 eb0f 834dfcff 8d4de0 } // n = 6, score = 100 // 8d4de0 | lea ecx, [ebp - 0x20] // e8???????? | // 33c0 | xor eax, eax // eb0f | jmp 0x11 // 834dfcff | or dword ptr [ebp - 4], 0xffffffff // 8d4de0 | lea ecx, [ebp - 0x20] $sequence_15 = { ff75f8 c745f001000000 8b10 50 ff5218 } // n = 5, score = 100 // ff75f8 | push dword ptr [ebp - 8] // c745f001000000 | mov dword ptr [ebp - 0x10], 1 // 8b10 | mov edx, dword ptr [eax] // 50 | push eax // ff5218 | call dword ptr [edx + 0x18] condition: 7 of them and filesize < 1695744 }
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