SYMBOLCOMMON_NAMEaka. SYNONYMS
win.stilachi_rat (Back to overview)

StilachiRAT

VTCollection    

According to Microsoft Incident Response, StilachiRAT is a sophisticated remote access trojan that uses stealth and persistence techniques to evade detection and enable data exfiltration. It performs extensive system reconnaissance, can target cryptocurrency wallet data, and steals browser credentials while monitoring clipboard contents for sensitive information. It maintains a flexible command-and-control channel over TCP with multiple ports, supports a broad set of commands including system manipulation and reboot, and uses Windows services with watchdogs to ensure persistence. It also monitors RDP sessions and can impersonate users.

References
2025-03-17 ⋅ Microsoft ⋅ Microsoft Incident Response
StilachiRAT analysis: From system reconnaissance to cryptocurrency theft
StilachiRAT
Yara Rules
[TLP:WHITE] win_stilachi_rat_auto (20260917 | Detects win.stilachi_rat.)
rule win_stilachi_rat_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.stilachi_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.stilachi_rat"
        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???????? 488bcd e8???????? 33f6 e9???????? 4c8b4b20 488b0b }
            // n = 7, score = 100
            //   e8????????           |                     
            //   488bcd               | mov                 eax, dword ptr [edi + 0x170]
            //   e8????????           |                     
            //   33f6                 | dec                 eax
            //   e9????????           |                     
            //   4c8b4b20             | mov                 ecx, dword ptr [esp + 0x48]
            //   488b0b               | inc                 esp

        $sequence_1 = { ff15???????? b91f9fa753 8bd8 e8???????? 8bcb ffd0 4c8be0 }
            // n = 7, score = 100
            //   ff15????????         |                     
            //   b91f9fa753           | movzx               eax, word ptr [edx - 2]
            //   8bd8                 | dec                 eax
            //   e8????????           |                     
            //   8bcb                 | sub                 edx, 2
            //   ffd0                 | inc                 ecx
            //   4c8be0               | cmp                 eax, ecx

        $sequence_2 = { ff5030 8bd8 85c0 7515 4c396d48 7e0f 498b0424 }
            // n = 7, score = 100
            //   ff5030               | je                  0x2dd
            //   8bd8                 | dec                 ecx
            //   85c0                 | mov                 ebx, ebx
            //   7515                 | inc                 ebp
            //   4c396d48             | mov                 esi, ebx
            //   7e0f                 | dec                 ebp
            //   498b0424             | mov                 ebp, ebx

        $sequence_3 = { e9???????? 488b0b ba00900000 66855114 740a 4883c430 5b }
            // n = 7, score = 100
            //   e9????????           |                     
            //   488b0b               | dec                 eax
            //   ba00900000           | mov                 ecx, dword ptr [eax + 0x18]
            //   66855114             | dec                 ecx
            //   740a                 | mov                 dword ptr [ecx], ecx
            //   4883c430             | inc                 ecx
            //   5b                   | dec                 dword ptr [ebx + 0x38]

        $sequence_4 = { e8???????? 899c24cc000000 eb12 bb02000000 4d8bc7 8bd3 488bcd }
            // n = 7, score = 100
            //   e8????????           |                     
            //   899c24cc000000       | dec                 esp
            //   eb12                 | add                 esi, eax
            //   bb02000000           | dec                 ecx
            //   4d8bc7               | mov                 eax, esi
            //   8bd3                 | dec                 ecx
            //   488bcd               | sub                 eax, ebp

        $sequence_5 = { e8???????? 488b5580 4533c0 8bc8 41b901000000 85c9 750d }
            // n = 7, score = 100
            //   e8????????           |                     
            //   488b5580             | dec                 eax
            //   4533c0               | mov                 dword ptr [esp + 0x20], eax
            //   8bc8                 | inc                 esp
            //   41b901000000         | lea                 ecx, [ebx - 0xf]
            //   85c9                 | dec                 esp
            //   750d                 | lea                 eax, [esi + 0xf]

        $sequence_6 = { ffc9 7467 ffc9 0f852b040000 488b5e08 488d4548 418bcb }
            // n = 7, score = 100
            //   ffc9                 | lea                 ecx, [0xfff4b6a4]
            //   7467                 | xor                 edx, edx
            //   ffc9                 | mov                 ecx, 0xc8
            //   0f852b040000         | dec                 eax
            //   488b5e08             | mov                 dword ptr [ebx + 0x20], eax
            //   488d4548             | dec                 esp
            //   418bcb               | mov                 dword ptr [ecx + 0x20], eax

        $sequence_7 = { e8???????? ba04000000 488bcd 4c8bf0 e8???????? 488bd6 448bc0 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   ba04000000           | imul                ebx, ebx, 0x38
            //   488bcd               | dec                 eax
            //   4c8bf0               | mov                 edi, dword ptr [eax + ecx*8]
            //   e8????????           |                     
            //   488bd6               | dec                 ecx
            //   448bc0               | add                 ebx, ebp

        $sequence_8 = { e8???????? b201 488bcf 488bf0 e8???????? 488bcb 4863f8 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   b201                 | jge                 0x438
            //   488bcf               | dec                 eax
            //   488bf0               | and                 dword ptr [esp + 0x20], 0
            //   e8????????           |                     
            //   488bcb               | dec                 eax
            //   4863f8               | arpl                ax, bp

        $sequence_9 = { e8???????? 488b4720 4885c0 7447 833800 458bee 7e38 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   488b4720             | dec                 eax
            //   4885c0               | mov                 dword ptr [ebx + 0x10], eax
            //   7447                 | dec                 eax
            //   833800               | mov                 dword ptr [edi], ebx
            //   458bee               | dec                 eax
            //   7e38                 | lea                 eax, [ebx + 0x1c]

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