A malware family with a DGA.
rule win_gspy_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.gspy." 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.gspy" 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 = { c78424d400000099f0883d c78424d800000024a63dde c78424dc0000005bd3b382 c78424e00000009c7e06f4 c78424e40000000816aa07 c78424e80000007ef93a37 c78424ec00000041c4b015 } // n = 7, score = 100 // c78424d400000099f0883d | mov dword ptr [esp + 0xd4], 0x3d88f099 // c78424d800000024a63dde | mov dword ptr [esp + 0xd8], 0xde3da624 // c78424dc0000005bd3b382 | mov dword ptr [esp + 0xdc], 0x82b3d35b // c78424e00000009c7e06f4 | mov dword ptr [esp + 0xe0], 0xf4067e9c // c78424e40000000816aa07 | mov dword ptr [esp + 0xe4], 0x7aa1608 // c78424e80000007ef93a37 | mov dword ptr [esp + 0xe8], 0x373af97e // c78424ec00000041c4b015 | mov dword ptr [esp + 0xec], 0x15b0c441 $sequence_1 = { 75e9 8d4c2424 83fe01 752b 8d94242c020000 52 } // n = 6, score = 100 // 75e9 | jne 0xffffffeb // 8d4c2424 | lea ecx, [esp + 0x24] // 83fe01 | cmp esi, 1 // 752b | jne 0x2d // 8d94242c020000 | lea edx, [esp + 0x22c] // 52 | push edx $sequence_2 = { 50 ff15???????? 8b442424 8b35???????? 85c0 7403 50 } // n = 7, score = 100 // 50 | push eax // ff15???????? | // 8b442424 | mov eax, dword ptr [esp + 0x24] // 8b35???????? | // 85c0 | test eax, eax // 7403 | je 5 // 50 | push eax $sequence_3 = { e8???????? 55 8ad8 a1???????? 6a00 50 ff15???????? } // n = 7, score = 100 // e8???????? | // 55 | push ebp // 8ad8 | mov bl, al // a1???????? | // 6a00 | push 0 // 50 | push eax // ff15???????? | $sequence_4 = { 83c604 8907 8b06 83c704 85c0 75d9 eb04 } // n = 7, score = 100 // 83c604 | add esi, 4 // 8907 | mov dword ptr [edi], eax // 8b06 | mov eax, dword ptr [esi] // 83c704 | add edi, 4 // 85c0 | test eax, eax // 75d9 | jne 0xffffffdb // eb04 | jmp 6 $sequence_5 = { 51 ff15???????? 8b74241c 8b442418 8b10 50 8b4208 } // n = 7, score = 100 // 51 | push ecx // ff15???????? | // 8b74241c | mov esi, dword ptr [esp + 0x1c] // 8b442418 | mov eax, dword ptr [esp + 0x18] // 8b10 | mov edx, dword ptr [eax] // 50 | push eax // 8b4208 | mov eax, dword ptr [edx + 8] $sequence_6 = { 50 e8???????? 8d4c2404 51 6a00 b801000000 6a00 } // n = 7, score = 100 // 50 | push eax // e8???????? | // 8d4c2404 | lea ecx, [esp + 4] // 51 | push ecx // 6a00 | push 0 // b801000000 | mov eax, 1 // 6a00 | push 0 $sequence_7 = { 50 885c2420 ffd7 85c0 740f 03c0 8d742460 } // n = 7, score = 100 // 50 | push eax // 885c2420 | mov byte ptr [esp + 0x20], bl // ffd7 | call edi // 85c0 | test eax, eax // 740f | je 0x11 // 03c0 | add eax, eax // 8d742460 | lea esi, [esp + 0x60] $sequence_8 = { 56 33db b802000000 57 bf00100000 896c2410 } // n = 6, score = 100 // 56 | push esi // 33db | xor ebx, ebx // b802000000 | mov eax, 2 // 57 | push edi // bf00100000 | mov edi, 0x1000 // 896c2410 | mov dword ptr [esp + 0x10], ebp $sequence_9 = { 50 8bf0 ff15???????? 85c0 7430 03c0 e8???????? } // n = 7, score = 100 // 50 | push eax // 8bf0 | mov esi, eax // ff15???????? | // 85c0 | test eax, eax // 7430 | je 0x32 // 03c0 | add eax, eax // e8???????? | condition: 7 of them and filesize < 421888 }
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