Actor(s): Lazarus Group
miniTYPEFRAME is a variant of TYPEFRAME, a RAT for Windows.
Its functionality is reduced to serve mostly as a proxy module. Its commands are indexed by 16-bit integers, usually in the range 0x8027–0x8044.
rule win_minitypeframe_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.minitypeframe." 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.minitypeframe" malpedia_rule_date = "20260422" malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14" malpedia_version = "20260504" 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 = { 85c0 7c3e 8b85bc000000 89b0ac000000 8b442434 33c9 8a08 } // n = 7, score = 100 // 85c0 | test eax, eax // 7c3e | jl 0x40 // 8b85bc000000 | mov eax, dword ptr [ebp + 0xbc] // 89b0ac000000 | mov dword ptr [eax + 0xac], esi // 8b442434 | mov eax, dword ptr [esp + 0x34] // 33c9 | xor ecx, ecx // 8a08 | mov cl, byte ptr [eax] $sequence_1 = { c644247163 c6442472e0 c644247401 c644247525 } // n = 4, score = 100 // c644247163 | mov byte ptr [esp + 0x71], 0x63 // c6442472e0 | mov byte ptr [esp + 0x72], 0xe0 // c644247401 | mov byte ptr [esp + 0x74], 1 // c644247525 | mov byte ptr [esp + 0x75], 0x25 $sequence_2 = { 751d 6a74 68???????? 6a41 68bd000000 6a14 } // n = 6, score = 100 // 751d | jne 0x1f // 6a74 | push 0x74 // 68???????? | // 6a41 | push 0x41 // 68bd000000 | push 0xbd // 6a14 | push 0x14 $sequence_3 = { 68???????? 6a0c 6a09 e8???????? 8b4510 56 50 } // n = 7, score = 100 // 68???????? | // 6a0c | push 0xc // 6a09 | push 9 // e8???????? | // 8b4510 | mov eax, dword ptr [ebp + 0x10] // 56 | push esi // 50 | push eax $sequence_4 = { 89442434 8a08 40 8bf9 8b4d28 85c9 897c242c } // n = 7, score = 100 // 89442434 | mov dword ptr [esp + 0x34], eax // 8a08 | mov cl, byte ptr [eax] // 40 | inc eax // 8bf9 | mov edi, ecx // 8b4d28 | mov ecx, dword ptr [ebp + 0x28] // 85c9 | test ecx, ecx // 897c242c | mov dword ptr [esp + 0x2c], edi $sequence_5 = { 7417 3d00010000 7540 b80a000000 8b048550c30a10 8906 } // n = 6, score = 100 // 7417 | je 0x19 // 3d00010000 | cmp eax, 0x100 // 7540 | jne 0x42 // b80a000000 | mov eax, 0xa // 8b048550c30a10 | mov eax, dword ptr [eax*4 + 0x100ac350] // 8906 | mov dword ptr [esi], eax $sequence_6 = { 3bcd 742c 8b86d0000000 89bc24fc000000 3bc5 898424f8000000 898c2400010000 } // n = 7, score = 100 // 3bcd | cmp ecx, ebp // 742c | je 0x2e // 8b86d0000000 | mov eax, dword ptr [esi + 0xd0] // 89bc24fc000000 | mov dword ptr [esp + 0xfc], edi // 3bc5 | cmp eax, ebp // 898424f8000000 | mov dword ptr [esp + 0xf8], eax // 898c2400010000 | mov dword ptr [esp + 0x100], ecx $sequence_7 = { 8b349d780e0910 81e10000ff00 81e6000000ff 33ce 8bf2 c1ee18 81e2ff000000 } // n = 7, score = 100 // 8b349d780e0910 | mov esi, dword ptr [ebx*4 + 0x10090e78] // 81e10000ff00 | and ecx, 0xff0000 // 81e6000000ff | and esi, 0xff000000 // 33ce | xor ecx, esi // 8bf2 | mov esi, edx // c1ee18 | shr esi, 0x18 // 81e2ff000000 | and edx, 0xff $sequence_8 = { 83c408 85c0 7479 8b442434 8b4d00 03c7 81f9fffe0000 } // n = 7, score = 100 // 83c408 | add esp, 8 // 85c0 | test eax, eax // 7479 | je 0x7b // 8b442434 | mov eax, dword ptr [esp + 0x34] // 8b4d00 | mov ecx, dword ptr [ebp] // 03c7 | add eax, edi // 81f9fffe0000 | cmp ecx, 0xfeff $sequence_9 = { e8???????? 8bf8 83c40c 3bfb 0f8e42030000 395e6c } // n = 6, score = 100 // e8???????? | // 8bf8 | mov edi, eax // 83c40c | add esp, 0xc // 3bfb | cmp edi, ebx // 0f8e42030000 | jle 0x348 // 395e6c | cmp dword ptr [esi + 0x6c], ebx condition: 7 of them and filesize < 1589248 }
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