Actor(s): IcePeony
According to nao_sec, this malware is an IIS backdoor.
rule win_ice_cache_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.ice_cache." 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.ice_cache" 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 = { 84c0 0f844e010000 48897b10 48837b1810 7205 488b03 eb03 } // n = 7, score = 100 // 84c0 | inc ecx // 0f844e010000 | or esi, 0xffffffff // 48897b10 | dec eax // 48837b1810 | cmp dword ptr [ebp + 0x2f], edi // 7205 | jne 0x5af // 488b03 | mov ecx, edi // eb03 | dec esp $sequence_1 = { 4883ec28 488d0d5db40400 ff15???????? 488d0df0b50400 ff15???????? 488d0d8bb40400 ff15???????? } // n = 7, score = 100 // 4883ec28 | dec eax // 488d0d5db40400 | mov dword ptr [esp + 0xd90], 7 // ff15???????? | // 488d0df0b50400 | inc sp // ff15???????? | // 488d0d8bb40400 | mov dword ptr [esp + 0xd78], ebp // ff15???????? | $sequence_2 = { 754f 498b4010 80781900 7525 488bd8 488b00 80781900 } // n = 7, score = 100 // 754f | dec eax // 498b4010 | lea ecx, [esp + 0x1208] // 80781900 | nop // 7525 | dec eax // 488bd8 | lea edx, [esp + 0x1208] // 488b00 | dec eax // 80781900 | lea ecx, [esp + 0x1888] $sequence_3 = { 48894d68 48c7457007000000 66894d58 4883cbff 488b4588 48394810 } // n = 6, score = 100 // 48894d68 | ror ebx, cl // 48c7457007000000 | dec eax // 66894d58 | mov ecx, ebx // 4883cbff | dec eax // 488b4588 | lea ecx, [0x3e41d] // 48394810 | and edi, 0xfffffffd $sequence_4 = { e8???????? 4c8d0db1830100 b915000000 4c8d059d830100 } // n = 4, score = 100 // e8???????? | // 4c8d0db1830100 | lea ecx, [edi + eax*8] // b915000000 | dec esp // 4c8d059d830100 | mov edi, dword ptr [esp + 0x30] $sequence_5 = { 4c8bc7 488d55f7 488d4d97 e8???????? 488b7df7 8b45e7 } // n = 6, score = 100 // 4c8bc7 | movzx ecx, byte ptr [edx + eax*4 + 0x434e2] // 488d55f7 | inc ebp // 488d4d97 | mov ebp, esp // e8???????? | // 488b7df7 | inc esp // 8b45e7 | cmp esp, eax $sequence_6 = { 4d897c2410 49c744241807000000 6645893c24 eb03 4533ff 4c8b45d8 4983f808 } // n = 7, score = 100 // 4d897c2410 | dec eax // 49c744241807000000 | lea eax, [0x23ecd] // 6645893c24 | dec eax // eb03 | mov dword ptr [ebx], eax // 4533ff | xor ecx, ecx // 4c8b45d8 | dec eax // 4983f808 | mov dword ptr [edx], ecx $sequence_7 = { e8???????? 4885db 7528 488d0d5c450400 e8???????? 488b1d???????? } // n = 6, score = 100 // e8???????? | // 4885db | lea eax, [0x3cbd0] // 7528 | dec eax // 488d0d5c450400 | mov dword ptr [ecx], eax // e8???????? | // 488b1d???????? | $sequence_8 = { 7458 837c245000 7651 4c89742420 4c8d4c2454 41b800100000 488d9580000000 } // n = 7, score = 100 // 7458 | jmp 0x11f8 // 837c245000 | inc ecx // 7651 | mov byte ptr [edi + 8], 1 // 4c89742420 | dec ecx // 4c8d4c2454 | mov eax, edi // 41b800100000 | jmp 0x11d3 // 488d9580000000 | dec eax $sequence_9 = { 90 488bd0 488d8c24180a0000 e8???????? 90 41b101 4c8bc3 } // n = 7, score = 100 // 90 | dec eax // 488bd0 | mov ecx, 0xaaaaaaa9 // 488d8c24180a0000 | stosb byte ptr es:[edi], al // e8???????? | // 90 | stosb byte ptr es:[edi], al // 41b101 | stosb byte ptr es:[edi], al // 4c8bc3 | add cl, byte ptr [ebx + ecx*4 - 0x26] condition: 7 of them and filesize < 801792 }
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