Information Stealer that searches for sensitive documents and uploads its results to an FTP server. Skips files with known Ryuk extensions.
rule win_ryuk_stealer_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-09-17" version = "1" description = "Detects win.ryuk_stealer." 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.ryuk_stealer" 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 = { 50 e8???????? 83c40c ff15???????? 33d2 b910270000 } // n = 6, score = 800 // 50 | push eax // e8???????? | // 83c40c | add esp, 0xc // ff15???????? | // 33d2 | xor edx, edx // b910270000 | mov ecx, 0x2710 $sequence_1 = { 99 b9a0860100 f7f9 81c2a8610000 52 } // n = 5, score = 800 // 99 | cdq // b9a0860100 | mov ecx, 0x186a0 // f7f9 | idiv ecx // 81c2a8610000 | add edx, 0x61a8 // 52 | push edx $sequence_2 = { 50 0fb7447302 50 e8???????? } // n = 4, score = 800 // 50 | push eax // 0fb7447302 | movzx eax, word ptr [ebx + esi*2 + 2] // 50 | push eax // e8???????? | $sequence_3 = { ff15???????? 8d442454 50 ff15???????? 50 ff15???????? } // n = 6, score = 800 // ff15???????? | // 8d442454 | lea eax, [esp + 0x54] // 50 | push eax // ff15???????? | // 50 | push eax // ff15???????? | $sequence_4 = { 83f805 740a b9???????? e8???????? 46 83fe1a } // n = 6, score = 800 // 83f805 | cmp eax, 5 // 740a | je 0xc // b9???????? | // e8???????? | // 46 | inc esi // 83fe1a | cmp esi, 0x1a $sequence_5 = { 83f805 740a b9???????? e8???????? 46 } // n = 5, score = 800 // 83f805 | cmp eax, 5 // 740a | je 0xc // b9???????? | // e8???????? | // 46 | inc esi $sequence_6 = { 68???????? 66a3???????? ff15???????? 83f805 740a b9???????? e8???????? } // n = 7, score = 800 // 68???????? | // 66a3???????? | // ff15???????? | // 83f805 | cmp eax, 5 // 740a | je 0xc // b9???????? | // e8???????? | $sequence_7 = { 8be5 5d c3 ff35???????? 8b35???????? ffd6 } // n = 6, score = 800 // 8be5 | mov esp, ebp // 5d | pop ebp // c3 | ret // ff35???????? | // 8b35???????? | // ffd6 | call esi $sequence_8 = { ff15???????? 8d442454 50 ff15???????? 50 } // n = 5, score = 800 // ff15???????? | // 8d442454 | lea eax, [esp + 0x54] // 50 | push eax // ff15???????? | // 50 | push eax $sequence_9 = { f7f9 81c2a8610000 52 ff15???????? } // n = 4, score = 800 // f7f9 | idiv ecx // 81c2a8610000 | add edx, 0x61a8 // 52 | push edx // ff15???????? | condition: 7 of them and filesize < 368640 }
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