SYMBOLCOMMON_NAMEaka. SYNONYMS
win.hodur (Back to overview)

Hodur

Actor(s): MUSTANG PANDA

VTCollection    

There is no description at this point.

References
2024-08-23 ⋅ TEAMT5 ⋅ Still Hsu
Sailing the Seven SEAs: Deep Dive into Polaris' Arsenal and Intelligence Insights
Cobalt Strike Hodur PlugX TONESHELL
2024-07-01 ⋅ Speakerdeck (takahiro_haruyama) ⋅ Takahiro Haruyama
The Art of Malware C2 Scanning - How to Reverse and Emulate Protocol Obfuscated by Compiler
DOPLUGS Hodur
2022-03-23 ⋅ ESET Research ⋅ Alexandre Côté Cyr
Mustang Panda’s Hodur: Old tricks, new Korplug variant
Hodur PlugX
Yara Rules
[TLP:WHITE] win_hodur_auto (20260917 | Detects win.hodur.)
rule win_hodur_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.hodur."
        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.hodur"
        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 = { c7442416aaaaae9d c744241ab5b1bb88 c644241e00 66c744241046ba 89c1 80c1e0 304c041e }
            // n = 7, score = 100
            //   c7442416aaaaae9d     | mov                 dword ptr [esp + 0x16], 0x9daeaaaa
            //   c744241ab5b1bb88     | mov                 dword ptr [esp + 0x1a], 0x88bbb1b5
            //   c644241e00           | mov                 byte ptr [esp + 0x1e], 0
            //   66c744241046ba       | mov                 word ptr [esp + 0x10], 0xba46
            //   89c1                 | mov                 ecx, eax
            //   80c1e0               | add                 cl, 0xe0
            //   304c041e             | xor                 byte ptr [esp + eax + 0x1e], cl

        $sequence_1 = { ff15???????? 83c410 89f1 e8???????? 31ff 8d5c2420 57 }
            // n = 7, score = 100
            //   ff15????????         |                     
            //   83c410               | add                 esp, 0x10
            //   89f1                 | mov                 ecx, esi
            //   e8????????           |                     
            //   31ff                 | xor                 edi, edi
            //   8d5c2420             | lea                 ebx, [esp + 0x20]
            //   57                   | push                edi

        $sequence_2 = { 08c8 8b0d???????? 01cf 84c0 752d 0faff9 83e701 }
            // n = 7, score = 100
            //   08c8                 | or                  al, cl
            //   8b0d????????         |                     
            //   01cf                 | add                 edi, ecx
            //   84c0                 | test                al, al
            //   752d                 | jne                 0x2f
            //   0faff9               | imul                edi, ecx
            //   83e701               | and                 edi, 1

        $sequence_3 = { ff742414 ffd0 85c0 7460 89c3 c784248600000066416f6b c784248a00000076634c6d }
            // n = 7, score = 100
            //   ff742414             | push                dword ptr [esp + 0x14]
            //   ffd0                 | call                eax
            //   85c0                 | test                eax, eax
            //   7460                 | je                  0x62
            //   89c3                 | mov                 ebx, eax
            //   c784248600000066416f6b     | mov    dword ptr [esp + 0x86], 0x6b6f4166
            //   c784248a00000076634c6d     | mov    dword ptr [esp + 0x8a], 0x6d4c6376

        $sequence_4 = { 89f9 68???????? e8???????? 89f9 68???????? e8???????? b8f3ffffff }
            // n = 7, score = 100
            //   89f9                 | mov                 ecx, edi
            //   68????????           |                     
            //   e8????????           |                     
            //   89f9                 | mov                 ecx, edi
            //   68????????           |                     
            //   e8????????           |                     
            //   b8f3ffffff           | mov                 eax, 0xfffffff3

        $sequence_5 = { ffd1 e8???????? 89c7 a1???????? 8d48ff 0fafc8 f6c101 }
            // n = 7, score = 100
            //   ffd1                 | call                ecx
            //   e8????????           |                     
            //   89c7                 | mov                 edi, eax
            //   a1????????           |                     
            //   8d48ff               | lea                 ecx, [eax - 1]
            //   0fafc8               | imul                ecx, eax
            //   f6c101               | test                cl, 1

        $sequence_6 = { ff7510 ff15???????? 85c0 7407 89c7 31c0 40 }
            // n = 7, score = 100
            //   ff7510               | push                dword ptr [ebp + 0x10]
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   7407                 | je                  9
            //   89c7                 | mov                 edi, eax
            //   31c0                 | xor                 eax, eax
            //   40                   | inc                 eax

        $sequence_7 = { e8???????? a1???????? 31c9 c744240a99b08d8e c744240e8bb38d9b 66c74424129100 66c7442408579f }
            // n = 7, score = 100
            //   e8????????           |                     
            //   a1????????           |                     
            //   31c9                 | xor                 ecx, ecx
            //   c744240a99b08d8e     | mov                 dword ptr [esp + 0xa], 0x8e8db099
            //   c744240e8bb38d9b     | mov                 dword ptr [esp + 0xe], 0x9b8db38b
            //   66c74424129100       | mov                 word ptr [esp + 0x12], 0x91
            //   66c7442408579f       | mov                 word ptr [esp + 8], 0x9f57

        $sequence_8 = { 81f100690000 66894c425a 40 75e7 66c7425a0000 57 68???????? }
            // n = 7, score = 100
            //   81f100690000         | xor                 ecx, 0x6900
            //   66894c425a           | mov                 word ptr [edx + eax*2 + 0x5a], cx
            //   40                   | inc                 eax
            //   75e7                 | jne                 0xffffffe9
            //   66c7425a0000         | mov                 word ptr [edx + 0x5a], 0
            //   57                   | push                edi
            //   68????????           |                     

        $sequence_9 = { c744244c00000000 833d????????0a 0f8cc3f5ffff a1???????? 8d48ff 0fafc8 83e101 }
            // n = 7, score = 100
            //   c744244c00000000     | mov                 dword ptr [esp + 0x4c], 0
            //   833d????????0a       |                     
            //   0f8cc3f5ffff         | jl                  0xfffff5c9
            //   a1????????           |                     
            //   8d48ff               | lea                 ecx, [eax - 1]
            //   0fafc8               | imul                ecx, eax
            //   83e101               | and                 ecx, 1

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