SYMBOLCOMMON_NAMEaka. SYNONYMS
win.archer_rat (Back to overview)

Archer RAT

aka: RustyWater
VTCollection    

There is no description at this point.

References
2026-01-08CloudseksomedieyoungZZ
Reborn in Rust: Muddy Water Evolves Tooling with RustyWater Implant
Archer RAT
Yara Rules
[TLP:WHITE] win_archer_rat_auto (20260504 | Detects win.archer_rat.)
rule win_archer_rat_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.archer_rat."
        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.archer_rat"
        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 = { ff5028 e8???????? 41c6460800 84db 0f8433040000 e8???????? 41b701 }
            // n = 7, score = 100
            //   ff5028               | dec                 ecx
            //   e8????????           |                     
            //   41c6460800           | mov                 edx, dword ptr [esi + 0x10]
            //   84db                 | dec                 esp
            //   0f8433040000         | lea                 eax, [edx + eax]
            //   e8????????           |                     
            //   41b701               | call                dword ptr [eax + 0x28]

        $sequence_1 = { e9???????? 488bbc2420020000 488b9c2428020000 488d8c2420060000 e8???????? 4885db 7408 }
            // n = 7, score = 100
            //   e9????????           |                     
            //   488bbc2420020000     | or                  eax, eax
            //   488b9c2428020000     | dec                 eax
            //   488d8c2420060000     | mov                 eax, dword ptr [ecx]
            //   e8????????           |                     
            //   4885db               | dec                 eax
            //   7408                 | mov                 ecx, dword ptr [edx]

        $sequence_2 = { 7344 4989c7 4989d4 418a2c1e 48ffc3 4c8d0d26780c00 4c89f1 }
            // n = 7, score = 100
            //   7344                 | jb                  0x871
            //   4989c7               | lea                 eax, [ecx - 2]
            //   4989d4               | dec                 eax
            //   418a2c1e             | inc                 eax
            //   48ffc3               | je                  0x871
            //   4c8d0d26780c00       | dec                 eax
            //   4c89f1               | cmp                 eax, 1

        $sequence_3 = { e9???????? 56 4883ec20 0fb68118050000 4883f805 0f87e8000000 4889ce }
            // n = 7, score = 100
            //   e9????????           |                     
            //   56                   | mov                 byte ptr [esp + 0x28], al
            //   4883ec20             | mov                 byte ptr [esp + 0x20], bl
            //   0fb68118050000       | dec                 esp
            //   4883f805             | mov                 esp, dword ptr [esp + 0x60]
            //   0f87e8000000         | dec                 esp
            //   4889ce               | mov                 ecx, esp

        $sequence_4 = { ff5018 4883661000 4883c420 5e c3 56 57 }
            // n = 7, score = 100
            //   ff5018               | or                  esi, 2
            //   4883661000           | dec                 eax
            //   4883c420             | lea                 ecx, [ebx + 0x40]
            //   5e                   | xor                 edi, edi
            //   c3                   | mov                 esi, eax
            //   56                   | test                eax, eax
            //   57                   | jne                 0x38

        $sequence_5 = { f3a4 488d942438040000 488dbc24a0030000 448a4a08 488db42470010000 4889f1 4989f8 }
            // n = 7, score = 100
            //   f3a4                 | lea                 edi, [esp + 0x4a0]
            //   488d942438040000     | dec                 eax
            //   488dbc24a0030000     | mov                 ecx, edi
            //   448a4a08             | rep movsb           byte ptr es:[edi], byte ptr [esi]
            //   488db42470010000     | dec                 eax
            //   4889f1               | mov                 ebx, dword ptr [ebx + 0x228]
            //   4989f8               | dec                 esp

        $sequence_6 = { e8???????? 418a07 3c02 756b 4c8d7c2458 4c89f9 4889da }
            // n = 7, score = 100
            //   e8????????           |                     
            //   418a07               | cmp                 ah, 3
            //   3c02                 | setne               cl
            //   756b                 | test                al, cl
            //   4c8d7c2458           | jne                 0x229
            //   4c89f9               | inc                 ecx
            //   4889da               | cmp                 ah, 0xa

        $sequence_7 = { f30f7f84242c0b0000 660f7f8424200b0000 6a20 5a b900040000 e8???????? 4889842400030000 }
            // n = 7, score = 100
            //   f30f7f84242c0b0000     | movaps    xmmword ptr [eax + 0x10], xmm0
            //   660f7f8424200b0000     | inc    cx
            //   6a20                 | movq                qword ptr [eax], mm0
            //   5a                   | movdqu              xmmword ptr [ecx + eax], xmm0
            //   b900040000           | dec                 eax
            //   e8????????           |                     
            //   4889842400030000     | mov                 dword ptr [ebx + 0x38], edi

        $sequence_8 = { 4c8d0533720600 4c89442420 4989c0 eb22 498b08 498b5008 4c8d054b720600 }
            // n = 7, score = 100
            //   4c8d0533720600       | dec                 esp
            //   4c89442420           | lea                 eax, [0x5e304]
            //   4989c0               | dec                 eax
            //   eb22                 | lea                 edx, [0x5e305]
            //   498b08               | dec                 eax
            //   498b5008             | mov                 dword ptr [esp + 8], ebx
            //   4c8d054b720600       | dec                 eax

        $sequence_9 = { ebec 4883c428 5f 5e c3 80792002 0f85d5280200 }
            // n = 7, score = 100
            //   ebec                 | mov                 al, byte ptr [esi + 0x48]
            //   4883c428             | xor                 al, 0x76
            //   5f                   | mov                 byte ptr [esp + 0xaf8], al
            //   5e                   | mov                 ecx, 0x49
            //   c3                   | dec                 eax
            //   80792002             | lea                 edx, [esp + 0x1b90]
            //   0f85d5280200         | dec                 eax

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