Actor(s): RomCom
According to Proofpoint, RustyClaw is a downloader written in Rust
rule win_rusty_claw_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-09-17" version = "1" description = "Detects win.rusty_claw." 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.rusty_claw" malpedia_rule_date = "20260916" malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6" malpedia_version = "20260917" 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 = { e8???????? 31c9 89f2 c645e301 c745f001000000 e8???????? 0f0b } // n = 7, score = 100 // e8???????? | // 31c9 | xor ecx, ecx // 89f2 | mov edx, esi // c645e301 | mov byte ptr [ebp - 0x1d], 1 // c745f001000000 | mov dword ptr [ebp - 0x10], 1 // e8???????? | // 0f0b | ud2 $sequence_1 = { 8d742410 8d442430 8930 c74004???????? 894808 c7400c29a64000 8d742408 } // n = 7, score = 100 // 8d742410 | lea esi, [esp + 0x10] // 8d442430 | lea eax, [esp + 0x30] // 8930 | mov dword ptr [eax], esi // c74004???????? | // 894808 | mov dword ptr [eax + 8], ecx // c7400c29a64000 | mov dword ptr [eax + 0xc], 0x40a629 // 8d742408 | lea esi, [esp + 8] $sequence_2 = { e8???????? 83c40c 8b4dd4 8b55c8 e8???????? 8b4da4 8b55a8 } // n = 7, score = 100 // e8???????? | // 83c40c | add esp, 0xc // 8b4dd4 | mov ecx, dword ptr [ebp - 0x2c] // 8b55c8 | mov edx, dword ptr [ebp - 0x38] // e8???????? | // 8b4da4 | mov ecx, dword ptr [ebp - 0x5c] // 8b55a8 | mov edx, dword ptr [ebp - 0x58] $sequence_3 = { c3 55 83ec0c 8db524fbffff 8baec8040000 8b4e20 8b5624 } // n = 7, score = 100 // c3 | ret // 55 | push ebp // 83ec0c | sub esp, 0xc // 8db524fbffff | lea esi, [ebp - 0x4dc] // 8baec8040000 | mov ebp, dword ptr [esi + 0x4c8] // 8b4e20 | mov ecx, dword ptr [esi + 0x20] // 8b5624 | mov edx, dword ptr [esi + 0x24] $sequence_4 = { 0f84e6020000 85d2 8915???????? 0f84d8020000 ffd2 8b15???????? 89c6 } // n = 7, score = 100 // 0f84e6020000 | je 0x2ec // 85d2 | test edx, edx // 8915???????? | // 0f84d8020000 | je 0x2de // ffd2 | call edx // 8b15???????? | // 89c6 | mov esi, eax $sequence_5 = { 894808 89700c 8b4a14 8b5218 50 eb2a 8b4500 } // n = 7, score = 100 // 894808 | mov dword ptr [eax + 8], ecx // 89700c | mov dword ptr [eax + 0xc], esi // 8b4a14 | mov ecx, dword ptr [edx + 0x14] // 8b5218 | mov edx, dword ptr [edx + 0x18] // 50 | push eax // eb2a | jmp 0x2c // 8b4500 | mov eax, dword ptr [ebp] $sequence_6 = { 58 59 8b4304 833b00 7406 8b742414 } // n = 6, score = 100 // 58 | pop eax // 59 | pop ecx // 8b4304 | mov eax, dword ptr [ebx + 4] // 833b00 | cmp dword ptr [ebx], 0 // 7406 | je 8 // 8b742414 | mov esi, dword ptr [esp + 0x14] $sequence_7 = { 8945e0 c6411001 83c01c 8365f000 89c1 e8???????? } // n = 6, score = 100 // 8945e0 | mov dword ptr [ebp - 0x20], eax // c6411001 | mov byte ptr [ecx + 0x10], 1 // 83c01c | add eax, 0x1c // 8365f000 | and dword ptr [ebp - 0x10], 0 // 89c1 | mov ecx, eax // e8???????? | $sequence_8 = { 6a1f 8975e0 56 e8???????? 6a00 6a00 6a00 } // n = 7, score = 100 // 6a1f | push 0x1f // 8975e0 | mov dword ptr [ebp - 0x20], esi // 56 | push esi // e8???????? | // 6a00 | push 0 // 6a00 | push 0 // 6a00 | push 0 $sequence_9 = { 89e2 56 50 8d742428 56 e8???????? } // n = 6, score = 100 // 89e2 | mov edx, esp // 56 | push esi // 50 | push eax // 8d742428 | lea esi, [esp + 0x28] // 56 | push esi // e8???????? | condition: 7 of them and filesize < 518144 }
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