Shellcode-based malware family that according to ESET Research was likely written by the same authors as win.crosswalk.
rule win_sidewalk_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.sidewalk." 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.sidewalk" 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 = { 0bc8 41890c10 488d5204 4983e901 75d4 } // n = 5, score = 200 // 0bc8 | mov byte ptr [edx + 2], al // 41890c10 | mov byte ptr [edx + 3], cl // 488d5204 | inc ecx // 4983e901 | cmp eax, 0x10 // 75d4 | jl 0xffffffd2 $sequence_1 = { 4533d1 41c1c208 4503fa 418bdf 33d8 } // n = 5, score = 200 // 4533d1 | mov dword ptr [eax + edx], ecx // 41c1c208 | dec eax // 4503fa | lea edx, [edx + 4] // 418bdf | dec ecx // 33d8 | sub ecx, 1 $sequence_2 = { 8945ef 8bc2 33c6 c1c010 } // n = 4, score = 200 // 8945ef | cmp eax, esi // 8bc2 | xor al, byte ptr [ecx] // 33c6 | inc ecx // c1c010 | mov byte ptr [eax + ecx], al $sequence_3 = { c1c708 4403df 458bc3 4433c0 } // n = 4, score = 200 // c1c708 | add ebx, eax // 4403df | inc ecx // 458bc3 | xor ebx, ebx // 4433c0 | rol ebx, 0xc $sequence_4 = { c1e002 4d8d4904 4863d0 41ffc0 } // n = 4, score = 200 // c1e002 | mov byte ptr [eax + ecx], al // 4d8d4904 | mov dword ptr [ebp - 0x11], eax // 4863d0 | mov eax, edx // 41ffc0 | xor eax, esi $sequence_5 = { 7d15 8a040f 3201 41880408 } // n = 4, score = 200 // 7d15 | inc ecx // 8a040f | dec eax // 3201 | lea eax, [edx + ecx] // 41880408 | dec eax $sequence_6 = { 33d0 418bc7 33c3 c1c207 c1c00c 4403c8 4533d1 } // n = 7, score = 200 // 33d0 | dec eax // 418bc7 | cmp eax, esi // 33c3 | jl 0xffffffe7 // c1c207 | dec eax // c1c00c | add esi, 0x40 // 4403c8 | dec eax // 4533d1 | add ebx, 0x40 $sequence_7 = { 41880408 48ffc1 488d040a 483bc6 } // n = 4, score = 200 // 41880408 | mov byte ptr [edx + 2], al // 48ffc1 | mov byte ptr [edx + 3], cl // 488d040a | inc ecx // 483bc6 | cmp eax, 0x10 $sequence_8 = { 41c1c610 4503e6 4403cb 4533d1 4403ee 41c1c210 418bc3 } // n = 7, score = 200 // 41c1c610 | mov byte ptr [eax + ecx], al // 4503e6 | dec eax // 4403cb | inc ecx // 4533d1 | dec eax // 4403ee | lea eax, [edx + ecx] // 41c1c210 | dec eax // 418bc3 | cmp eax, esi $sequence_9 = { 33c6 c1c010 4403d8 4133db c1c30c } // n = 5, score = 200 // 33c6 | mov byte ptr [edx + 2], al // c1c010 | mov byte ptr [edx + 3], cl // 4403d8 | inc ecx // 4133db | cmp eax, 0x10 // c1c30c | jge 0x17 $sequence_10 = { 33f1 4133f8 c1c610 4433f2 c1c710 4403df 41c1c610 } // n = 7, score = 200 // 33f1 | jge 0x17 // 4133f8 | mov al, byte ptr [edi + ecx] // c1c610 | xor al, byte ptr [ecx] // 4433f2 | inc ecx // c1c710 | mov byte ptr [eax + ecx], al // 4403df | dec eax // 41c1c610 | inc ecx $sequence_11 = { 0fb642fe c1e108 0bc8 41890c10 } // n = 4, score = 200 // 0fb642fe | rol eax, 0x10 // c1e108 | dec eax // 0bc8 | lea eax, [edx + ecx] // 41890c10 | dec eax $sequence_12 = { 4133c6 c1c608 c1c010 4403de } // n = 4, score = 200 // 4133c6 | mov al, byte ptr [edi + ecx] // c1c608 | xor al, byte ptr [ecx] // c1c010 | inc ecx // 4403de | mov byte ptr [eax + ecx], al $sequence_13 = { c1e918 884202 884a03 4183f810 7ccc } // n = 5, score = 200 // c1e918 | dec eax // 884202 | add esi, 0x40 // 884a03 | dec eax // 4183f810 | add ebx, 0x40 // 7ccc | shr ecx, 0x18 $sequence_14 = { 488d040a 483bc6 7ce2 4883c640 4883c340 } // n = 5, score = 200 // 488d040a | dec eax // 483bc6 | lea eax, [edx + ecx] // 7ce2 | dec eax // 4883c640 | cmp eax, esi // 4883c340 | jl 0xffffffe4 $sequence_15 = { 4403de 4403e8 4133db 418bcd c1c307 4133c8 } // n = 6, score = 200 // 4403de | inc ecx // 4403e8 | mov byte ptr [eax + ecx], al // 4133db | dec eax // 418bcd | inc ecx // c1c307 | dec eax // 4133c8 | lea eax, [edx + ecx] condition: 7 of them and filesize < 237568 }
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