SYMBOLCOMMON_NAMEaka. SYNONYMS
win.rusty_claw (Back to overview)

RustyClaw

Actor(s): RomCom

VTCollection    

According to Proofpoint, RustyClaw is a downloader written in Rust

References
2025-06-30ProofpointDavid Galazin, Greg Lesnewich, Kelsey Merriman, Proofpoint Threat Research Team, Selena Larson
10 Things I Hate About Attribution: RomCom vs. TransferLoader
DustyHammock MeltingClaw RustyClaw ShadyHammock SlipScreen TransferLoader TA829
2024-10-17Cisco TalosAsheer Malhotra, Dmytro Korzhevin, Vanja Svajcer, Vitor Ventura
UAT-5647 targets Ukrainian and Polish entities with RomCom malware variants
MeltingClaw ROMCOM RAT RustyClaw ShadyHammock RomCom
Yara Rules
[TLP:WHITE] win_rusty_claw_auto (20260504 | Detects win.rusty_claw.)
rule win_rusty_claw_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        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 = "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 = { 8b942494000000 8b8c24a0000000 89542418 894c241c 8b542458 8b4c246c 891424 }
            // n = 7, score = 100
            //   8b942494000000       | mov                 edx, dword ptr [esp + 0x94]
            //   8b8c24a0000000       | mov                 ecx, dword ptr [esp + 0xa0]
            //   89542418             | mov                 dword ptr [esp + 0x18], edx
            //   894c241c             | mov                 dword ptr [esp + 0x1c], ecx
            //   8b542458             | mov                 edx, dword ptr [esp + 0x58]
            //   8b4c246c             | mov                 ecx, dword ptr [esp + 0x6c]
            //   891424               | mov                 dword ptr [esp], edx

        $sequence_1 = { 89cf 891424 f7db 31ed 4d 8d042b }
            // n = 6, score = 100
            //   89cf                 | mov                 edi, ecx
            //   891424               | mov                 dword ptr [esp], edx
            //   f7db                 | neg                 ebx
            //   31ed                 | xor                 ebp, ebp
            //   4d                   | dec                 ebp
            //   8d042b               | lea                 eax, [ebx + ebp]

        $sequence_2 = { 8a18 0fb6d3 84db 0f899b000000 8d7002 83e21f 897104 }
            // n = 7, score = 100
            //   8a18                 | mov                 bl, byte ptr [eax]
            //   0fb6d3               | movzx               edx, bl
            //   84db                 | test                bl, bl
            //   0f899b000000         | jns                 0xa1
            //   8d7002               | lea                 esi, [eax + 2]
            //   83e21f               | and                 edx, 0x1f
            //   897104               | mov                 dword ptr [ecx + 4], esi

        $sequence_3 = { 31d2 8d4d9c 42 e8???????? 58 8b45a4 8b4ddc }
            // n = 7, score = 100
            //   31d2                 | xor                 edx, edx
            //   8d4d9c               | lea                 ecx, [ebp - 0x64]
            //   42                   | inc                 edx
            //   e8????????           |                     
            //   58                   | pop                 eax
            //   8b45a4               | mov                 eax, dword ptr [ebp - 0x5c]
            //   8b4ddc               | mov                 ecx, dword ptr [ebp - 0x24]

        $sequence_4 = { 83610c00 e8???????? 89c8 89d1 89c2 e8???????? 53 }
            // n = 7, score = 100
            //   83610c00             | and                 dword ptr [ecx + 0xc], 0
            //   e8????????           |                     
            //   89c8                 | mov                 eax, ecx
            //   89d1                 | mov                 ecx, edx
            //   89c2                 | mov                 edx, eax
            //   e8????????           |                     
            //   53                   | push                ebx

        $sequence_5 = { eb31 8d5630 89461c 897e10 c786d804000007000000 8d8ec8000000 832200 }
            // n = 7, score = 100
            //   eb31                 | jmp                 0x33
            //   8d5630               | lea                 edx, [esi + 0x30]
            //   89461c               | mov                 dword ptr [esi + 0x1c], eax
            //   897e10               | mov                 dword ptr [esi + 0x10], edi
            //   c786d804000007000000     | mov    dword ptr [esi + 0x4d8], 7
            //   8d8ec8000000         | lea                 ecx, [esi + 0xc8]
            //   832200               | and                 dword ptr [edx], 0

        $sequence_6 = { 89442420 894c2424 89542428 894c2444 89442434 8974242c 89e9 }
            // n = 7, score = 100
            //   89442420             | mov                 dword ptr [esp + 0x20], eax
            //   894c2424             | mov                 dword ptr [esp + 0x24], ecx
            //   89542428             | mov                 dword ptr [esp + 0x28], edx
            //   894c2444             | mov                 dword ptr [esp + 0x44], ecx
            //   89442434             | mov                 dword ptr [esp + 0x34], eax
            //   8974242c             | mov                 dword ptr [esp + 0x2c], esi
            //   89e9                 | mov                 ecx, ebp

        $sequence_7 = { 0f299424b0020000 0f298c24a0020000 0f284c2450 0f298c24c0020000 50 8d8424c4020000 50 }
            // n = 7, score = 100
            //   0f299424b0020000     | movaps              xmmword ptr [esp + 0x2b0], xmm2
            //   0f298c24a0020000     | movaps              xmmword ptr [esp + 0x2a0], xmm1
            //   0f284c2450           | movaps              xmm1, xmmword ptr [esp + 0x50]
            //   0f298c24c0020000     | movaps              xmmword ptr [esp + 0x2c0], xmm1
            //   50                   | push                eax
            //   8d8424c4020000       | lea                 eax, [esp + 0x2c4]
            //   50                   | push                eax

        $sequence_8 = { 85c0 0f45da 0f45f8 89da 85ed 7445 8b5e04 }
            // n = 7, score = 100
            //   85c0                 | test                eax, eax
            //   0f45da               | cmovne              ebx, edx
            //   0f45f8               | cmovne              edi, eax
            //   89da                 | mov                 edx, ebx
            //   85ed                 | test                ebp, ebp
            //   7445                 | je                  0x47
            //   8b5e04               | mov                 ebx, dword ptr [esi + 4]

        $sequence_9 = { e8???????? a801 7458 89d1 80c1d0 80f90a 721a }
            // n = 7, score = 100
            //   e8????????           |                     
            //   a801                 | test                al, 1
            //   7458                 | je                  0x5a
            //   89d1                 | mov                 ecx, edx
            //   80c1d0               | add                 cl, 0xd0
            //   80f90a               | cmp                 cl, 0xa
            //   721a                 | jb                  0x1c

    condition:
        7 of them and filesize < 518144
}
Download all Yara Rules