Actor(s): APT34, Turla
There is no description at this point.
rule win_nautilus_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-09-17" version = "1" description = "Detects win.nautilus." 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.nautilus" 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 = { 83e803 741c 83e802 7417 83f805 0f8596000000 410fb602 } // n = 7, score = 100 // 83e803 | test eax, eax // 741c | dec eax // 83e802 | mov dword ptr [ebp - 0x38], edi // 7417 | dec eax // 83f805 | mov dword ptr [ebp - 0x30], edi // 0f8596000000 | dec eax // 410fb602 | mov ecx, dword ptr [ebx + 0x18] $sequence_1 = { e8???????? 8bd8 85c0 755b 488d4558 488d542438 488d4c2420 } // n = 7, score = 100 // e8???????? | // 8bd8 | inc ecx // 85c0 | sub eax, ebp // 755b | sub edx, esi // 488d4558 | dec eax // 488d542438 | lea edx, [edx + 4] // 488d4c2420 | dec eax $sequence_2 = { e9???????? 488b3b 396f08 0f84011a0000 488b07 8b5320 0fb608 } // n = 7, score = 100 // e9???????? | // 488b3b | mov edx, edi // 396f08 | dec eax // 0f84011a0000 | lea edi, [esi + 8] // 488b07 | jmp 0x1280 // 8b5320 | dec eax // 0fb608 | lea edx, [ebp - 0x48] $sequence_3 = { 488b7c2448 4883c420 415e c3 488bc8 488bd5 e8???????? } // n = 7, score = 100 // 488b7c2448 | inc ecx // 4883c420 | mov ch, 1 // 415e | inc ecx // c3 | cmp edi, 1 // 488bc8 | jne 0xd8a // 488bd5 | dec ecx // e8???????? | $sequence_4 = { 75be 48ffc2 493bd2 7507 b8fdffffff ebb7 0fb602 } // n = 7, score = 100 // 75be | mov ecx, esi // 48ffc2 | lea edi, [eax + 0x12] // 493bd2 | dec eax // 7507 | mov dword ptr [ebx + 0x30], eax // b8fdffffff | dec eax // ebb7 | mov dword ptr [ebx + 0x38], eax // 0fb602 | mov dword ptr [ebx + 0x48], esi $sequence_5 = { 783e eb03 488bee 488b442440 48ffc0 4889442440 488d142b } // n = 7, score = 100 // 783e | dec eax // eb03 | lea eax, [esp + 0x38] // 488bee | dec eax // 488b442440 | lea edx, [esp + 0x60] // 48ffc0 | dec ebp // 4889442440 | mov ebp, eax // 488d142b | dec esp $sequence_6 = { d3f8 498bcf 412006 837c244000 c60433bc 750d 4d8bc6 } // n = 7, score = 100 // d3f8 | dec eax // 498bcf | inc edi // 412006 | dec eax // 837c244000 | lea edx, [ebx + 0x50] // c60433bc | inc ecx // 750d | mov ecx, 0x18 // 4d8bc6 | dec esp $sequence_7 = { 488bc8 e8???????? 891f 33c0 488b8c2460010000 4833cc } // n = 6, score = 100 // 488bc8 | shl ecx, 5 // e8???????? | // 891f | inc edx // 33c0 | movups xmm0, xmmword ptr [ecx + eax + 0x10] // 488b8c2460010000 | movdqu xmmword ptr [edi], xmm0 // 4833cc | inc ecx $sequence_8 = { e9???????? c74424200e000000 e9???????? 8bc7 41b800010000 41bd13000000 c1e817 } // n = 7, score = 100 // e9???????? | // c74424200e000000 | xor edi, dword ptr [ebp + eax*4 + 0x94ce0] // e9???????? | // 8bc7 | inc ecx // 41b800010000 | movzx eax, cl // 41bd13000000 | inc ecx // c1e817 | xor edi, dword ptr [ebp + eax*4 + 0x940e0] $sequence_9 = { 7512 8a4a01 80f9a0 7230 4122c9 413ac9 752d } // n = 7, score = 100 // 7512 | dec eax // 8a4a01 | test ecx, ecx // 80f9a0 | je 0x335 // 7230 | dec eax // 4122c9 | test edx, edx // 413ac9 | je 0x335 // 752d | dec eax condition: 7 of them and filesize < 1302528 }
rule win_nautilus_w0 { meta: description = "Rule for detection of Nautilus based on assembly code for a modified RC4 loop" author = "NCSC UK" hash = "a415ab193f6cd832a0de4fcc48d5f53d6f0b06d5e13b3c359878c6c31f3e7ec3" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.nautilus" malpedia_version = "20180226" malpedia_license = "CC BY-NC-SA 4.0" malpedia_sharing = "TLP:WHITE" strings: $rc4_loop = {42 0F B6 14 04 41 FF C0 03 D7 0F B6 CA 8A 14 0C 43 32 14 13 41 88 12 49 FF C2 49 FF C9} $rc4_key = {31 42 31 34 34 30 44 39 30 46 43 39 42 43 42 34 36 41 39 41 43 39 36 34 33 38 46 45 45 41 38 42} $string_0 = "nautilus-service.dll" ascii $string_1 = "oxygen.dll" ascii $string_2 = "config_listen.system" ascii $string_3 = "ctx.system" ascii $string_4 = "3FDA3998-BEF5-426D-82D8-1A71F29ADDC3" ascii $string_5 = "C:\\ProgramData\\Microsoft\\Windows\\Caches\\{%s}.2.ver0x0000000000000001.db" condition: ($rc4_loop and $rc4_key) or (all of ($string_*)) }
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