Actor(s): Rocket Kitten
There is no description at this point.
rule win_matryoshka_rat_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2022-04-08" version = "1" description = "Detects win.matryoshka_rat." 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.matryoshka_rat" malpedia_rule_date = "20220405" malpedia_hash = "ecd38294bd47d5589be5cd5490dc8bb4804afc2a" malpedia_version = "20220411" 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 = { b037 c3 b073 c3 } // n = 4, score = 400 // b037 | mov al, 0x37 // c3 | ret // b073 | mov al, 0x73 // c3 | ret $sequence_1 = { b06f c3 b063 c3 } // n = 4, score = 400 // b06f | mov al, 0x6f // c3 | ret // b063 | mov al, 0x63 // c3 | ret $sequence_2 = { 7406 6683f85c 7503 488bca } // n = 4, score = 200 // 7406 | call dword ptr [edx + 0x10] // 6683f85c | dec eax // 7503 | lea ecx, dword ptr [0x4bb94] // 488bca | dec eax $sequence_3 = { 8b45f8 8901 8bce e8???????? } // n = 4, score = 200 // 8b45f8 | mov eax, dword ptr [ebp - 8] // 8901 | mov dword ptr [ecx], eax // 8bce | mov ecx, esi // e8???????? | $sequence_4 = { 8b45f8 83c41c 0118 015e04 } // n = 4, score = 200 // 8b45f8 | mov eax, dword ptr [ebp - 8] // 83c41c | add esp, 0x1c // 0118 | add dword ptr [eax], ebx // 015e04 | add dword ptr [esi + 4], ebx $sequence_5 = { 7406 488d5808 ebc2 488d15a2110400 } // n = 4, score = 200 // 7406 | dec eax // 488d5808 | mov edx, dword ptr [ecx] // ebc2 | call dword ptr [edx + 0x10] // 488d15a2110400 | dec eax $sequence_6 = { 7406 488b11 ff5210 488d0d94bb0400 } // n = 4, score = 200 // 7406 | dec eax // 488b11 | lea ecx, dword ptr [0x4c9cb] // ff5210 | je 8 // 488d0d94bb0400 | dec eax $sequence_7 = { 7406 6683f85c 7504 4c8d7902 } // n = 4, score = 200 // 7406 | jmp 0xffffffc4 // 6683f85c | dec eax // 7504 | lea edx, dword ptr [0x411a2] // 4c8d7902 | dec eax $sequence_8 = { 8b45f8 89841fcc060000 89b41fc0060000 8b841fa0060000 } // n = 4, score = 200 // 8b45f8 | mov eax, dword ptr [ebp - 8] // 89841fcc060000 | mov dword ptr [edi + ebx + 0x6cc], eax // 89b41fc0060000 | mov dword ptr [edi + ebx + 0x6c0], esi // 8b841fa0060000 | mov eax, dword ptr [edi + ebx + 0x6a0] $sequence_9 = { 7406 488b01 ff5010 488b8df0000000 4885c9 7406 } // n = 6, score = 200 // 7406 | je 8 // 488b01 | dec eax // ff5010 | mov eax, dword ptr [ecx] // 488b8df0000000 | call dword ptr [eax + 0x10] // 4885c9 | dec eax // 7406 | mov ecx, dword ptr [ebp + 0xf0] $sequence_10 = { 7406 488b01 ff5010 488d0dcbc90400 e8???????? ff15???????? } // n = 6, score = 200 // 7406 | dec eax // 488b01 | mov eax, dword ptr [ecx] // ff5010 | call dword ptr [eax + 0x10] // 488d0dcbc90400 | dec eax // e8???????? | // ff15???????? | $sequence_11 = { 8b45f8 83c404 eb23 8b8684af0600 33d2 0fb6843070af0100 } // n = 6, score = 200 // 8b45f8 | mov eax, dword ptr [ebp - 8] // 83c404 | add esp, 4 // eb23 | jmp 0x25 // 8b8684af0600 | mov eax, dword ptr [esi + 0x6af84] // 33d2 | xor edx, edx // 0fb6843070af0100 | movzx eax, byte ptr [eax + esi + 0x1af70] $sequence_12 = { 8b45f8 8933 894734 8bd3 } // n = 4, score = 200 // 8b45f8 | mov eax, dword ptr [ebp - 8] // 8933 | mov dword ptr [ebx], esi // 894734 | mov dword ptr [edi + 0x34], eax // 8bd3 | mov edx, ebx $sequence_13 = { 8b45f8 8945d4 895df4 8b5df8 } // n = 4, score = 200 // 8b45f8 | mov eax, dword ptr [ebp - 8] // 8945d4 | mov dword ptr [ebp - 0x2c], eax // 895df4 | mov dword ptr [ebp - 0xc], ebx // 8b5df8 | mov ebx, dword ptr [ebp - 8] condition: 7 of them and filesize < 843776 }
rule win_matryoshka_rat_w0 { meta: author = "Florian Roth" description = "Detects Matryoshka RAT used in Operation Wilted Tulip" reference = "http://www.clearskysec.com/tulip" date = "2017-07-23" hash = "6f208473df0d31987a4999eeea04d24b069fdb6a8245150aa91dfdc063cd64ab" hash = "6cc1f4ecd28b833c978c8e21a20a002459b4a6c21a4fbaad637111aa9d5b1a32" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.matryoshka_rat" malpedia_version = "20170914" malpedia_license = "CC BY-NC-SA 4.0" malpedia_sharing = "TLP:WHITE" strings: $s1 = "%S:\\Users\\public" fullword wide $s2 = "ntuser.dat.swp" fullword wide $s3 = "Job Save / Load Config" fullword wide $s4 = ".?AVPSCL_CLASS_JOB_SAVE_CONFIG@@" fullword ascii $s5 = "winupdate64.com" fullword ascii $s6 = "Job Save KeyLogger" fullword wide condition: filesize < 1000KB and 5 of them }
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