Actor(s): Turla
There is no description at this point.
rule win_satellite_turla_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.satellite_turla." 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.satellite_turla" 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 = { 0105???????? 81c3b0020000 2945e0 75ae 837dd400 } // n = 5, score = 200 // 0105???????? | // 81c3b0020000 | add ebx, 0x2b0 // 2945e0 | sub dword ptr [ebp - 0x20], eax // 75ae | jne 0xffffffb0 // 837dd400 | cmp dword ptr [ebp - 0x2c], 0 $sequence_1 = { 0108 833e00 7c1f 8b542410 } // n = 4, score = 200 // 0108 | add dword ptr [eax], ecx // 833e00 | cmp dword ptr [esi], 0 // 7c1f | jl 0x21 // 8b542410 | mov edx, dword ptr [esp + 0x10] $sequence_2 = { 0105???????? 83c410 29442418 75a9 } // n = 4, score = 200 // 0105???????? | // 83c410 | add esp, 0x10 // 29442418 | sub dword ptr [esp + 0x18], eax // 75a9 | jne 0xffffffab $sequence_3 = { 50 e8???????? 83c410 5f 5e 8d45fb } // n = 6, score = 200 // 50 | push eax // e8???????? | // 83c410 | add esp, 0x10 // 5f | pop edi // 5e | pop esi // 8d45fb | lea eax, [ebp - 5] $sequence_4 = { 0105???????? 83c410 29442420 75aa } // n = 4, score = 200 // 0105???????? | // 83c410 | add esp, 0x10 // 29442420 | sub dword ptr [esp + 0x20], eax // 75aa | jne 0xffffffac $sequence_5 = { 0108 833a00 7c23 8b442428 } // n = 4, score = 200 // 0108 | add dword ptr [eax], ecx // 833a00 | cmp dword ptr [edx], 0 // 7c23 | jl 0x25 // 8b442428 | mov eax, dword ptr [esp + 0x28] $sequence_6 = { 0108 833e00 7fc7 db46fc } // n = 4, score = 200 // 0108 | add dword ptr [eax], ecx // 833e00 | cmp dword ptr [esi], 0 // 7fc7 | jg 0xffffffc9 // db46fc | fild dword ptr [esi - 4] $sequence_7 = { 0108 833e00 7cc7 7e39 } // n = 4, score = 200 // 0108 | add dword ptr [eax], ecx // 833e00 | cmp dword ptr [esi], 0 // 7cc7 | jl 0xffffffc9 // 7e39 | jle 0x3b $sequence_8 = { a3???????? 6a28 8d45c4 6a0c 50 } // n = 5, score = 100 // a3???????? | // 6a28 | push 0x28 // 8d45c4 | lea eax, [ebp - 0x3c] // 6a0c | push 0xc // 50 | push eax $sequence_9 = { 8d85ecfdffff 6804010000 50 53 ff15???????? 53 53 } // n = 7, score = 100 // 8d85ecfdffff | lea eax, [ebp - 0x214] // 6804010000 | push 0x104 // 50 | push eax // 53 | push ebx // ff15???????? | // 53 | push ebx // 53 | push ebx $sequence_10 = { 56 57 e8???????? ff15???????? 6a40 } // n = 5, score = 100 // 56 | push esi // 57 | push edi // e8???????? | // ff15???????? | // 6a40 | push 0x40 $sequence_11 = { 53 ff15???????? 6a04 6a03 53 } // n = 5, score = 100 // 53 | push ebx // ff15???????? | // 6a04 | push 4 // 6a03 | push 3 // 53 | push ebx $sequence_12 = { 56 ff15???????? 56 56 ff15???????? ff15???????? 56 } // n = 7, score = 100 // 56 | push esi // ff15???????? | // 56 | push esi // 56 | push esi // ff15???????? | // ff15???????? | // 56 | push esi $sequence_13 = { 53 56 56 ff15???????? 53 53 } // n = 6, score = 100 // 53 | push ebx // 56 | push esi // 56 | push esi // ff15???????? | // 53 | push ebx // 53 | push ebx $sequence_14 = { c6459f02 c645a009 c645a11e c645a21f c645a30e c645a418 c645a52a } // n = 7, score = 100 // c6459f02 | mov byte ptr [ebp - 0x61], 2 // c645a009 | mov byte ptr [ebp - 0x60], 9 // c645a11e | mov byte ptr [ebp - 0x5f], 0x1e // c645a21f | mov byte ptr [ebp - 0x5e], 0x1f // c645a30e | mov byte ptr [ebp - 0x5d], 0xe // c645a418 | mov byte ptr [ebp - 0x5c], 0x18 // c645a52a | mov byte ptr [ebp - 0x5b], 0x2a $sequence_15 = { 57 ffd6 a3???????? 6a55 8d45b8 6a0c } // n = 6, score = 100 // 57 | push edi // ffd6 | call esi // a3???????? | // 6a55 | push 0x55 // 8d45b8 | lea eax, [ebp - 0x48] // 6a0c | push 0xc condition: 7 of them and filesize < 1040384 }
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