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 = "2023-12-06" 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 = "20231130" malpedia_hash = "fc8a0e9f343f6d6ded9e7df1a64dac0cc68d7351" malpedia_version = "20230808" 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 = { 7410 83ff01 755d 8bcb } // n = 4, score = 800 // 7410 | je 0x12 // 83ff01 | cmp edi, 1 // 755d | jne 0x5f // 8bcb | mov ecx, ebx $sequence_1 = { ff15???????? 33ff 0fb60437 50 } // n = 4, score = 800 // ff15???????? | // 33ff | xor edi, edi // 0fb60437 | movzx eax, byte ptr [edi + esi] // 50 | push eax $sequence_2 = { 75f5 2bd1 8d8db4fdffff d1fa 8d7102 } // n = 5, score = 800 // 75f5 | jne 0xfffffff7 // 2bd1 | sub edx, ecx // 8d8db4fdffff | lea ecx, [ebp - 0x24c] // d1fa | sar edx, 1 // 8d7102 | lea esi, [ecx + 2] $sequence_3 = { 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_4 = { 83ff01 755d 8bcb e8???????? } // n = 4, score = 800 // 83ff01 | cmp edi, 1 // 755d | jne 0x5f // 8bcb | mov ecx, ebx // e8???????? | $sequence_5 = { 50 ff15???????? 8bf0 ff15???????? 85c0 7518 } // n = 6, score = 800 // 50 | push eax // ff15???????? | // 8bf0 | mov esi, eax // ff15???????? | // 85c0 | test eax, eax // 7518 | jne 0x1a $sequence_6 = { 83ff01 755d 8bcb e8???????? 3bc7 } // n = 5, score = 800 // 83ff01 | cmp edi, 1 // 755d | jne 0x5f // 8bcb | mov ecx, ebx // e8???????? | // 3bc7 | cmp eax, edi $sequence_7 = { 99 b9a0860100 f7f9 81c2f8240100 52 ff15???????? } // n = 6, score = 800 // 99 | cdq // b9a0860100 | mov ecx, 0x186a0 // f7f9 | idiv ecx // 81c2f8240100 | add edx, 0x124f8 // 52 | push edx // ff15???????? | $sequence_8 = { 7560 8d85b4fdffff 68???????? 50 } // n = 4, score = 800 // 7560 | jne 0x62 // 8d85b4fdffff | lea eax, [ebp - 0x24c] // 68???????? | // 50 | push eax $sequence_9 = { ff15???????? 8d442454 50 ff15???????? 50 } // n = 5, score = 800 // ff15???????? | // 8d442454 | lea eax, [esp + 0x54] // 50 | push eax // ff15???????? | // 50 | push eax 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