SYMBOLCOMMON_NAMEaka. SYNONYMS
win.earthworm (Back to overview)

Earthworm

VTCollection    

According to Cisco Talos, Earthworm is network tunneling tool that has extensively been used by Chinese-speaking threat actors in intrusions to expose internal endpoints to attacker-owned remote infrastructure.

References
2026-01-15 ⋅ Cisco Talos ⋅ Asheer Malhotra, Brandon White, Vitor Ventura
UAT-8837 targets critical infrastructure sectors in North America
Earthworm Rubeus SharpHound SharpWMI UAT-8837
Yara Rules
[TLP:WHITE] win_earthworm_auto (20260917 | Detects win.earthworm.)
rule win_earthworm_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.earthworm."
        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.earthworm"
        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 = { 488d05738f0400 4889442420 4533c9 41b860000000 488d15b6ff0500 }
            // n = 5, score = 100
            //   488d05738f0400       | dec                 eax
            //   4889442420           | lea                 ebp, [esp + 0x20]
            //   4533c9               | mov                 eax, 0xcccccccc
            //   41b860000000         | rep stosd           dword ptr es:[edi], eax
            //   488d15b6ff0500       | dec                 eax

        $sequence_1 = { c1f906 4863c9 488d1569e60500 448b442470 4183e03f 4d63c0 4d6bc048 }
            // n = 7, score = 100
            //   c1f906               | lea                 ecx, [0x765ec]
            //   4863c9               | mov                 eax, dword ptr [ecx + eax*4]
            //   488d1569e60500       | and                 eax, 1
            //   448b442470           | cmp                 dword ptr [esp + 0x5110], 2
            //   4183e03f             | jne                 0x1169
            //   4d63c0               | dec                 eax
            //   4d6bc048             | lea                 eax, [0x768a6]

        $sequence_2 = { c1f806 4898 488d0d0e170600 8b542450 83e23f 4863d2 486bd248 }
            // n = 7, score = 100
            //   c1f806               | jne                 0x63d
            //   4898                 | dec                 eax
            //   488d0d0e170600       | lea                 eax, [0x4ef5f]
            //   8b542450             | dec                 eax
            //   83e23f               | mov                 dword ptr [esp + 0x28], eax
            //   4863d2               | dec                 eax
            //   486bd248             | lea                 eax, [0x4017b]

        $sequence_3 = { 8b5524 2bd1 8bca 3bc1 0f8edb000000 8b4504 8b4d24 }
            // n = 7, score = 100
            //   8b5524               | jne                 0xd84
            //   2bd1                 | mov                 dword ptr [eax], 0x16
            //   8bca                 | dec                 eax
            //   3bc1                 | mov                 dword ptr [esp + 0x20], 0
            //   0f8edb000000         | inc                 ecx
            //   8b4504               | mov                 ecx, 0x38
            //   8b4d24               | dec                 esp

        $sequence_4 = { 89842420010000 eb10 8b442420 2500100000 89842420010000 83bc242001000000 0f84a1000000 }
            // n = 7, score = 100
            //   89842420010000       | lea                 eax, [0x66c19]
            //   eb10                 | dec                 eax
            //   8b442420             | mov                 dword ptr [esp + 0x28], eax
            //   2500100000           | dec                 eax
            //   89842420010000       | lea                 eax, [0x50d95]
            //   83bc242001000000     | dec                 eax
            //   0f84a1000000         | mov                 dword ptr [esp + 0x20], eax

        $sequence_5 = { 837c243800 753a 488d05a3440800 4889442428 488d054fd60700 4889442420 4533c9 }
            // n = 7, score = 100
            //   837c243800           | dec                 eax
            //   753a                 | test                eax, eax
            //   488d05a3440800       | dec                 esp
            //   4889442428           | mov                 eax, dword ptr [esp + 0x90]
            //   488d054fd60700       | mov                 edx, 0xfe
            //   4889442420           | dec                 eax
            //   4533c9               | mov                 ecx, eax

        $sequence_6 = { 55 57 4881ece8000000 488d6c2420 488d0d28841300 e8???????? 90 }
            // n = 7, score = 100
            //   55                   | dec                 eax
            //   57                   | lea                 edx, [0xd67a2]
            //   4881ece8000000       | dec                 eax
            //   488d6c2420           | lea                 ecx, [esp + 0x40]
            //   488d0d28841300       | dec                 eax
            //   e8????????           |                     
            //   90                   | mov                 eax, dword ptr [esp + 0x80]

        $sequence_7 = { 488d8c24d0030000 488bf9 488bf0 b910000000 f3a4 488d9424d0030000 488d4c2428 }
            // n = 7, score = 100
            //   488d8c24d0030000     | mov                 eax, dword ptr [esp + 0x70]
            //   488bf9               | cmp                 dword ptr [eax + 0x470], 1
            //   488bf0               | dec                 eax
            //   b910000000           | lea                 ecx, [0xc843e]
            //   f3a4                 | xor                 al, al
            //   488d9424d0030000     | dec                 eax
            //   488d4c2428           | mov                 eax, dword ptr [esp + 0x70]

        $sequence_8 = { 69452480000000 48634d04 488b9520010000 0fbe0c0a 03c1 894524 ebbb }
            // n = 7, score = 100
            //   69452480000000       | dec                 eax
            //   48634d04             | mov                 ecx, dword ptr [esp + 0x60]
            //   488b9520010000       | mov                 dword ptr [ecx], eax
            //   0fbe0c0a             | xor                 eax, eax
            //   03c1                 | dec                 eax
            //   894524               | lea                 edx, [esp + 0x40]
            //   ebbb                 | dec                 eax

        $sequence_9 = { 480fbe0401 4889442410 8b442404 488d0d8dec0c00 0fb60401 89442408 488b442430 }
            // n = 7, score = 100
            //   480fbe0401           | inc                 ecx
            //   4889442410           | mov                 ecx, 0x1a
            //   8b442404             | inc                 esp
            //   488d0d8dec0c00       | mov                 eax, dword ptr [esp + 0x50]
            //   0fb60401             | movss               xmm1, dword ptr [esp + 0x48]
            //   89442408             | dec                 eax
            //   488b442430           | sub                 esp, 0x38

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