Actor(s): APT31
According to PTSecurity, this RAT uses Yandex Disk as a C2.
rule win_yarat_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-09-17" version = "1" description = "Detects win.yarat." 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.yarat" malpedia_rule_date = "20260916" malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6" malpedia_version = "20260917" 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 = { c7461000000000 c746140f000000 c60600 8d4618 8d4da8 3bc8 746b } // n = 7, score = 100 // c7461000000000 | mov dword ptr [esi + 0x10], 0 // c746140f000000 | mov dword ptr [esi + 0x14], 0xf // c60600 | mov byte ptr [esi], 0 // 8d4618 | lea eax, [esi + 0x18] // 8d4da8 | lea ecx, [ebp - 0x58] // 3bc8 | cmp ecx, eax // 746b | je 0x6d $sequence_1 = { c7430400000000 c7430800000000 8b10 8b4004 8955dc 8945e0 3bd0 } // n = 7, score = 100 // c7430400000000 | mov dword ptr [ebx + 4], 0 // c7430800000000 | mov dword ptr [ebx + 8], 0 // 8b10 | mov edx, dword ptr [eax] // 8b4004 | mov eax, dword ptr [eax + 4] // 8955dc | mov dword ptr [ebp - 0x24], edx // 8945e0 | mov dword ptr [ebp - 0x20], eax // 3bd0 | cmp edx, eax $sequence_2 = { 8b8fec0f0000 23c1 83f8ff 7417 51 52 68???????? } // n = 7, score = 100 // 8b8fec0f0000 | mov ecx, dword ptr [edi + 0xfec] // 23c1 | and eax, ecx // 83f8ff | cmp eax, -1 // 7417 | je 0x19 // 51 | push ecx // 52 | push edx // 68???????? | $sequence_3 = { e8???????? 50 68???????? 56 e8???????? ffb5fcf9ffff 53 } // n = 7, score = 100 // e8???????? | // 50 | push eax // 68???????? | // 56 | push esi // e8???????? | // ffb5fcf9ffff | push dword ptr [ebp - 0x604] // 53 | push ebx $sequence_4 = { ff5004 8d4e01 03cf 3bf1 740f 8a06 3c2e } // n = 7, score = 100 // ff5004 | call dword ptr [eax + 4] // 8d4e01 | lea ecx, [esi + 1] // 03cf | add ecx, edi // 3bf1 | cmp esi, ecx // 740f | je 0x11 // 8a06 | mov al, byte ptr [esi] // 3c2e | cmp al, 0x2e $sequence_5 = { f20f5e05???????? f20f104de0 f20f5ec8 0f28c1 e8???????? eb19 6a00 } // n = 7, score = 100 // f20f5e05???????? | // f20f104de0 | movsd xmm1, qword ptr [ebp - 0x20] // f20f5ec8 | divsd xmm1, xmm0 // 0f28c1 | movaps xmm0, xmm1 // e8???????? | // eb19 | jmp 0x1b // 6a00 | push 0 $sequence_6 = { 8b08 8b4508 89883c060000 8bc3 5b 8be5 5d } // n = 7, score = 100 // 8b08 | mov ecx, dword ptr [eax] // 8b4508 | mov eax, dword ptr [ebp + 8] // 89883c060000 | mov dword ptr [eax + 0x63c], ecx // 8bc3 | mov eax, ebx // 5b | pop ebx // 8be5 | mov esp, ebp // 5d | pop ebp $sequence_7 = { c7400400000000 8b8548feffff 6800010000 3d00030980 746f 3d22030980 7432 } // n = 7, score = 100 // c7400400000000 | mov dword ptr [eax + 4], 0 // 8b8548feffff | mov eax, dword ptr [ebp - 0x1b8] // 6800010000 | push 0x100 // 3d00030980 | cmp eax, 0x80090300 // 746f | je 0x71 // 3d22030980 | cmp eax, 0x80090322 // 7432 | je 0x34 $sequence_8 = { c78504ffffff00000080 83e801 741f 83e801 740c c78504ffffff01000000 eb19 } // n = 7, score = 100 // c78504ffffff00000080 | mov dword ptr [ebp - 0xfc], 0x80000000 // 83e801 | sub eax, 1 // 741f | je 0x21 // 83e801 | sub eax, 1 // 740c | je 0xe // c78504ffffff01000000 | mov dword ptr [ebp - 0xfc], 1 // eb19 | jmp 0x1b $sequence_9 = { e8???????? 83c40c 5f c64435dc00 8d4ddc b8???????? 5e } // n = 7, score = 100 // e8???????? | // 83c40c | add esp, 0xc // 5f | pop edi // c64435dc00 | mov byte ptr [ebp + esi - 0x24], 0 // 8d4ddc | lea ecx, [ebp - 0x24] // b8???????? | // 5e | pop esi condition: 7 of them and filesize < 8692736 }
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