Ransomware used by threat actor group DEV-0530, attributed by MSTIC to North Korean origin.
rule win_sienna_purple_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.sienna_purple." 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.sienna_purple" 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 = { c7833405000000000000 8b8b24050000 85c9 740f e8???????? c7832405000000000000 8d8b54010000 } // n = 7, score = 100 // c7833405000000000000 | mov dword ptr [ebx + 0x534], 0 // 8b8b24050000 | mov ecx, dword ptr [ebx + 0x524] // 85c9 | test ecx, ecx // 740f | je 0x11 // e8???????? | // c7832405000000000000 | mov dword ptr [ebx + 0x524], 0 // 8d8b54010000 | lea ecx, [ebx + 0x154] $sequence_1 = { eb6b 80f9ff 7566 807f01fe 7560 807f0200 755a } // n = 7, score = 100 // eb6b | jmp 0x6d // 80f9ff | cmp cl, 0xff // 7566 | jne 0x68 // 807f01fe | cmp byte ptr [edi + 1], 0xfe // 7560 | jne 0x62 // 807f0200 | cmp byte ptr [edi + 2], 0 // 755a | jne 0x5c $sequence_2 = { ff35???????? a3???????? ffd6 833d????????00 a3???????? 745a } // n = 6, score = 100 // ff35???????? | // a3???????? | // ffd6 | call esi // 833d????????00 | // a3???????? | // 745a | je 0x5c $sequence_3 = { c1e918 8845d6 884dd7 8b8d60ffffff 8bc1 c1e808 8845d9 } // n = 7, score = 100 // c1e918 | shr ecx, 0x18 // 8845d6 | mov byte ptr [ebp - 0x2a], al // 884dd7 | mov byte ptr [ebp - 0x29], cl // 8b8d60ffffff | mov ecx, dword ptr [ebp - 0xa0] // 8bc1 | mov eax, ecx // c1e808 | shr eax, 8 // 8845d9 | mov byte ptr [ebp - 0x27], al $sequence_4 = { e8???????? 84c0 0f8499000000 85ff 7415 57 8d85f0feffff } // n = 7, score = 100 // e8???????? | // 84c0 | test al, al // 0f8499000000 | je 0x9f // 85ff | test edi, edi // 7415 | je 0x17 // 57 | push edi // 8d85f0feffff | lea eax, [ebp - 0x110] $sequence_5 = { d1ff 8bc7 897584 89bd6cffffff c7459c00000000 c7458c70105000 251f000080 } // n = 7, score = 100 // d1ff | sar edi, 1 // 8bc7 | mov eax, edi // 897584 | mov dword ptr [ebp - 0x7c], esi // 89bd6cffffff | mov dword ptr [ebp - 0x94], edi // c7459c00000000 | mov dword ptr [ebp - 0x64], 0 // c7458c70105000 | mov dword ptr [ebp - 0x74], 0x501070 // 251f000080 | and eax, 0x8000001f $sequence_6 = { ba01000000 894608 8d04fd00000000 2bc7 c1e002 2bd8 8b4604 } // n = 7, score = 100 // ba01000000 | mov edx, 1 // 894608 | mov dword ptr [esi + 8], eax // 8d04fd00000000 | lea eax, [edi*8] // 2bc7 | sub eax, edi // c1e002 | shl eax, 2 // 2bd8 | sub ebx, eax // 8b4604 | mov eax, dword ptr [esi + 4] $sequence_7 = { e8???????? 33c0 85f6 0f855bffffff 85c0 740f 50 } // n = 7, score = 100 // e8???????? | // 33c0 | xor eax, eax // 85f6 | test esi, esi // 0f855bffffff | jne 0xffffff61 // 85c0 | test eax, eax // 740f | je 0x11 // 50 | push eax $sequence_8 = { c3 3d2d4f0000 7557 833d????????00 0f8599070000 50 e8???????? } // n = 7, score = 100 // c3 | ret // 3d2d4f0000 | cmp eax, 0x4f2d // 7557 | jne 0x59 // 833d????????00 | // 0f8599070000 | jne 0x79f // 50 | push eax // e8???????? | $sequence_9 = { e8???????? 83c40c ff75e0 e8???????? 83c404 8bc6 8b4df4 } // n = 7, score = 100 // e8???????? | // 83c40c | add esp, 0xc // ff75e0 | push dword ptr [ebp - 0x20] // e8???????? | // 83c404 | add esp, 4 // 8bc6 | mov eax, esi // 8b4df4 | mov ecx, dword ptr [ebp - 0xc] condition: 7 of them and filesize < 2930688 }
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