SYMBOLCOMMON_NAMEaka. SYNONYMS
win.nimplant (Back to overview)

Nimplant

VTCollection    

Part of Mythic C2, written in Nim.
Considered deprecated, as it is only compatible with Mythic 2.1.

References
2023-05-10 ⋅ Github (MythicAgents) ⋅ Cody Thomas
Github Repository for Nimplant
Nimplant
Yara Rules
[TLP:WHITE] win_nimplant_auto (20260917 | Detects win.nimplant.)
rule win_nimplant_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.nimplant."
        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.nimplant"
        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???????? 488b00 4885c0 7409 4889f9 ffd0 84c0 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   488b00               | dec                 eax
            //   4885c0               | mov                 dword ptr [esp + 0x160], esi
            //   7409                 | dec                 ebp
            //   4889f9               | test                ecx, ecx
            //   ffd0                 | je                  0x247
            //   84c0                 | dec                 eax

        $sequence_1 = { 84c0 79d7 4189c1 41c0e905 4180f906 744a 4189c1 }
            // n = 7, score = 100
            //   84c0                 | dec                 ecx
            //   79d7                 | mov                 dword ptr [eax], 0
            //   4189c1               | dec                 ecx
            //   41c0e905             | mov                 edx, ebx
            //   4180f906             | cmp                 dl, 0x5f
            //   744a                 | je                  0x30b
            //   4189c1               | mulsd               xmm0, xmm0

        $sequence_2 = { e8???????? e9???????? 49b8ffffffffffffff7f 31d2 4889d9 e8???????? e9???????? }
            // n = 7, score = 100
            //   e8????????           |                     
            //   e9????????           |                     
            //   49b8ffffffffffffff7f     | cmp    eax, dword ptr [eax]
            //   31d2                 | dec                 esp
            //   4889d9               | mov                 esp, dword ptr [esp + 0x40]
            //   e8????????           |                     
            //   e9????????           |                     

        $sequence_3 = { e8???????? 488b542438 4c8b542428 85c0 4c8b4c2430 7464 0f1f4000 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   488b542438           | jne                 0xc17
            //   4c8b542428           | inc                 eax
            //   85c0                 | movzx               ecx, bh
            //   4c8b4c2430           | dec                 eax
            //   7464                 | cmp                 ecx, 2
            //   0f1f4000             | cmp                 byte ptr [eax], 0

        $sequence_4 = { 75a6 48b80000000000000040 49850424 7412 4883c428 5b 5e }
            // n = 7, score = 100
            //   75a6                 | mov                 dword ptr [esp + 0x38], edx
            //   48b80000000000000040     | dec    esp
            //   49850424             | mov                 dword ptr [esp + 0x30], ecx
            //   7412                 | dec                 eax
            //   4883c428             | mov                 dword ptr [esp + 0x20], ecx
            //   5b                   | dec                 eax
            //   5e                   | mov                 edx, dword ptr [esp + 0x58]

        $sequence_5 = { 4c8b8c2440010000 4d8d543908 4885db 7e4b 4989d8 4983c001 0f80f5110000 }
            // n = 7, score = 100
            //   4c8b8c2440010000     | dec                 esp
            //   4d8d543908           | lea                 esi, [esp + 0x80]
            //   4885db               | dec                 eax
            //   7e4b                 | mov                 dword ptr [edx + 8], 0
            //   4989d8               | dec                 esp
            //   4983c001             | mov                 ecx, esi
            //   0f80f5110000         | dec                 esp

        $sequence_6 = { 0f88f4040000 4c89ca 4c89e1 4c894c2440 4c895c2448 e8???????? f30f6f5c2470 }
            // n = 7, score = 100
            //   0f88f4040000         | jne                 0x40a
            //   4c89ca               | dec                 eax
            //   4c89e1               | mov                 esi, dword ptr [esp + 0x128]
            //   4c894c2440           | dec                 eax
            //   4c895c2448           | mov                 dword ptr [esp + 0x88], 0
            //   e8????????           |                     
            //   f30f6f5c2470         | dec                 eax

        $sequence_7 = { 4c89e9 e8???????? 488b442420 4885c0 0f8e40010000 488b542428 4885d2 }
            // n = 7, score = 100
            //   4c89e9               | mov                 ecx, ebp
            //   e8????????           |                     
            //   488b442420           | dec                 eax
            //   4885c0               | mov                 dword ptr [esp + 0x48], eax
            //   0f8e40010000         | dec                 eax
            //   488b542428           | mov                 dword ptr [esp + 0x40], eax
            //   4885d2               | dec                 esp

        $sequence_8 = { 7415 488d8c2400010000 e8???????? 4c8b8c2408010000 488b4c2478 4c8b8424c0000000 488d5608 }
            // n = 7, score = 100
            //   7415                 | dec                 eax
            //   488d8c2400010000     | test                edx, edx
            //   e8????????           |                     
            //   4c8b8c2408010000     | jo                  0xfb
            //   488b4c2478           | dec                 ecx
            //   4c8b8424c0000000     | mov                 dword ptr [esp + 0x10], eax
            //   488d5608             | dec                 ecx

        $sequence_9 = { 81e3ff0f0000 4c89f1 89da e8???????? 807d0000 488b5c2430 4c8b6c2438 }
            // n = 7, score = 100
            //   81e3ff0f0000         | add                 byte ptr [eax - 0x48], cl
            //   4c89f1               | sahf                
            //   89da                 | jg                  0x11
            //   e8????????           |                     
            //   807d0000             | test                byte ptr [ecx], dl
            //   488b5c2430           | or                  byte ptr [eax], al
            //   4c8b6c2438           | add                 byte ptr [ebp + ecx*4 + 0x70], al

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