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-05-04" 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 = "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 = { ba0a000000 488bcb e8???????? 488bcb e8???????? 4885ff 0f8542ffffff } // n = 7, score = 100 // ba0a000000 | inc esp // 488bcb | mov eax, edx // e8???????? | // 488bcb | movzx eax, byte ptr [ebx] // e8???????? | // 4885ff | inc ecx // 0f8542ffffff | inc esp $sequence_1 = { e8???????? 443bf6 7646 4d8b4d38 4c8b45e7 488d55df 4889542430 } // n = 7, score = 100 // e8???????? | // 443bf6 | mov edi, eax // 7646 | dec eax // 4d8b4d38 | test eax, eax // 4c8b45e7 | je 0x266 // 488d55df | mov eax, 1 // 4889542430 | dec eax $sequence_2 = { 85c0 0f85ad000000 4c8bc6 488bd3 488bcb e8???????? e9???????? } // n = 7, score = 100 // 85c0 | lea ebx, [esp + 0x60] // 0f85ad000000 | dec ecx // 4c8bc6 | mov ebx, dword ptr [ebx + 0x38] // 488bd3 | dec ecx // 488bcb | mov esi, dword ptr [ebx + 0x40] // e8???????? | // e9???????? | $sequence_3 = { e9???????? 4983c202 4d3bd3 0f8406ffffff 418a4a01 84c9 750e } // n = 7, score = 100 // e9???????? | // 4983c202 | lea eax, [edx + 3] // 4d3bd3 | dec eax // 0f8406ffffff | mov ebp, eax // 418a4a01 | dec eax // 84c9 | cmp esi, eax // 750e | jle 0x48f $sequence_4 = { 3da0010000 0f87e2000000 40f6c707 0f85d8000000 488d5948 488d1503370400 41b800100000 } // n = 7, score = 100 // 3da0010000 | mov ecx, dword ptr [eax + ecx + 0x30] // 0f87e2000000 | xor ebp, ebp // 40f6c707 | or edx, 0xffffffff // 0f85d8000000 | dec esp // 488d5948 | imul ebp, ebx, 0x12068 // 488d1503370400 | dec ecx // 41b800100000 | mov ecx, dword ptr [ebp + esi + 0x30] $sequence_5 = { ba01000000 41b800020000 e8???????? 488907 488d4310 488b5c2430 4883c420 } // n = 7, score = 100 // ba01000000 | dec eax // 41b800020000 | mov ecx, dword ptr [edi + 8] // e8???????? | // 488907 | inc ebp // 488d4310 | mov eax, edi // 488b5c2430 | inc esp // 4883c420 | sub eax, edx $sequence_6 = { eb03 418bca 4863c2 4863c9 488d14c8 420fbe940aa0e50700 c1fa04 } // n = 7, score = 100 // eb03 | dec eax // 418bca | mov edi, eax // 4863c2 | dec eax // 4863c9 | test eax, eax // 488d14c8 | jne 0xf8 // 420fbe940aa0e50700 | lea ebx, [eax + 0x26] // c1fa04 | mov ecx, dword ptr [esp + 0x20] $sequence_7 = { 8a4742 a840 7420 24bf 884742 488b5c2430 488b6c2438 } // n = 7, score = 100 // 8a4742 | dec esp // a840 | mov dword ptr [eax], esp // 7420 | inc ecx // 24bf | mov eax, edi // 884742 | sete al // 488b5c2430 | dec eax // 488b6c2438 | mov dword ptr [ebx + 0x278], eax $sequence_8 = { 41bf01000000 488b4b10 ff15???????? 4585ff 7509 418d7f14 e9???????? } // n = 7, score = 100 // 41bf01000000 | dec eax // 488b4b10 | mov edi, dword ptr [esp + 0x50] // ff15???????? | // 4585ff | mov dword ptr [ecx + edx*4], eax // 7509 | mov eax, dword ptr [ebx + 0x20] // 418d7f14 | lea ecx, [eax + 1] // e9???????? | $sequence_9 = { 85c0 7508 8d4603 e9???????? 488d55e0 488d0db0e00500 e8???????? } // n = 7, score = 100 // 85c0 | mov edi, 1 // 7508 | dec eax // 8d4603 | mov dword ptr [eax + 8], ebx // e9???????? | // 488d55e0 | dec eax // 488d0db0e00500 | mov dword ptr [eax + 0x10], ebp // e8???????? | 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