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 = "2023-12-06" 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 = "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 = { 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 = { 51 8d9514fbffff 52 a1???????? } // n = 4, score = 200 // 51 | push ecx // 8d9514fbffff | lea edx, [ebp - 0x4ec] // 52 | push edx // a1???????? | $sequence_2 = { 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_3 = { 0105???????? 83c410 29442418 75a9 } // n = 4, score = 200 // 0105???????? | // 83c410 | add esp, 0x10 // 29442418 | sub dword ptr [esp + 0x18], eax // 75a9 | jne 0xffffffab $sequence_4 = { 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_5 = { 0105???????? 83c410 29442420 75aa } // n = 4, score = 200 // 0105???????? | // 83c410 | add esp, 0x10 // 29442420 | sub dword ptr [esp + 0x20], eax // 75aa | jne 0xffffffac $sequence_6 = { 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_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 = { c645da14 c645db14 e8???????? 83c40c 8d45d0 } // n = 5, score = 100 // c645da14 | mov byte ptr [ebp - 0x26], 0x14 // c645db14 | mov byte ptr [ebp - 0x25], 0x14 // e8???????? | // 83c40c | add esp, 0xc // 8d45d0 | lea eax, [ebp - 0x30] $sequence_9 = { c645de47 c645df5b c645e04d c645e160 c645e249 c645e346 c645e44c } // n = 7, score = 100 // c645de47 | mov byte ptr [ebp - 0x22], 0x47 // c645df5b | mov byte ptr [ebp - 0x21], 0x5b // c645e04d | mov byte ptr [ebp - 0x20], 0x4d // c645e160 | mov byte ptr [ebp - 0x1f], 0x60 // c645e249 | mov byte ptr [ebp - 0x1e], 0x49 // c645e346 | mov byte ptr [ebp - 0x1d], 0x46 // c645e44c | mov byte ptr [ebp - 0x1c], 0x4c $sequence_10 = { 6a0a 50 e8???????? 83c40c 8d45f4 885dfd 50 } // n = 7, score = 100 // 6a0a | push 0xa // 50 | push eax // e8???????? | // 83c40c | add esp, 0xc // 8d45f4 | lea eax, [ebp - 0xc] // 885dfd | mov byte ptr [ebp - 3], bl // 50 | push eax $sequence_11 = { 8d7da0 f3ab 8d459c 50 ff15???????? } // n = 5, score = 100 // 8d7da0 | lea edi, [ebp - 0x60] // f3ab | rep stosd dword ptr es:[edi], eax // 8d459c | lea eax, [ebp - 0x64] // 50 | push eax // ff15???????? | $sequence_12 = { 3bf8 72ee 6880000000 56 ff15???????? } // n = 5, score = 100 // 3bf8 | cmp edi, eax // 72ee | jb 0xfffffff0 // 6880000000 | push 0x80 // 56 | push esi // ff15???????? | $sequence_13 = { c645ac05 c645ad07 c645ae07 c645af0b c645b004 c645b10e c645b226 } // n = 7, score = 100 // c645ac05 | mov byte ptr [ebp - 0x54], 5 // c645ad07 | mov byte ptr [ebp - 0x53], 7 // c645ae07 | mov byte ptr [ebp - 0x52], 7 // c645af0b | mov byte ptr [ebp - 0x51], 0xb // c645b004 | mov byte ptr [ebp - 0x50], 4 // c645b10e | mov byte ptr [ebp - 0x4f], 0xe // c645b226 | mov byte ptr [ebp - 0x4e], 0x26 $sequence_14 = { 7506 46 47 3bf8 } // n = 4, score = 100 // 7506 | jne 8 // 46 | inc esi // 47 | inc edi // 3bf8 | cmp edi, eax $sequence_15 = { 6a55 8d45b8 6a0c 50 c645b816 } // n = 5, score = 100 // 6a55 | push 0x55 // 8d45b8 | lea eax, [ebp - 0x48] // 6a0c | push 0xc // 50 | push eax // c645b816 | mov byte ptr [ebp - 0x48], 0x16 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.
Please propose all changes regarding references on the Malpedia library page
Your suggestion will be reviewed before being published. Thank you for contributing!
YYYY-MM-DD
YYYY-MM
YYYY