SYMBOLCOMMON_NAMEaka. SYNONYMS
win.unidentified_092 (Back to overview)

Unidentified 092 (Confucius Backdoor)

VTCollection    

According to Antiy CERT, this is a C++ backdoor that was first discovered in an attack by Confucius in September 2020. Its main functions include creating scheduled tasks, retrieving process information, retrieving network adapter information, retrieving disk drive information, uploading files, downloading files, executing files, and providing shell access.

References
Yara Rules
[TLP:WHITE] win_unidentified_092_auto (20260917 | Detects win.unidentified_092.)
rule win_unidentified_092_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.unidentified_092."
        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.unidentified_092"
        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 = { 33c0 3b0cc5509d0210 7427 40 83f82d 72f1 }
            // n = 6, score = 100
            //   33c0                 | xor                 eax, eax
            //   3b0cc5509d0210       | cmp                 ecx, dword ptr [eax*8 + 0x10029d50]
            //   7427                 | je                  0x29
            //   40                   | inc                 eax
            //   83f82d               | cmp                 eax, 0x2d
            //   72f1                 | jb                  0xfffffff3

        $sequence_1 = { 57 50 8d45f4 64a300000000 6a00 68???????? ff15???????? }
            // n = 7, score = 100
            //   57                   | push                edi
            //   50                   | push                eax
            //   8d45f4               | lea                 eax, [ebp - 0xc]
            //   64a300000000         | mov                 dword ptr fs:[0], eax
            //   6a00                 | push                0
            //   68????????           |                     
            //   ff15????????         |                     

        $sequence_2 = { 83c410 ebe6 8b45e4 8b0c85b0660310 8b45e8 f644012880 }
            // n = 6, score = 100
            //   83c410               | add                 esp, 0x10
            //   ebe6                 | jmp                 0xffffffe8
            //   8b45e4               | mov                 eax, dword ptr [ebp - 0x1c]
            //   8b0c85b0660310       | mov                 ecx, dword ptr [eax*4 + 0x100366b0]
            //   8b45e8               | mov                 eax, dword ptr [ebp - 0x18]
            //   f644012880           | test                byte ptr [ecx + eax + 0x28], 0x80

        $sequence_3 = { 2bfb 2bc2 d1ff 57 53 51 d1f8 }
            // n = 7, score = 100
            //   2bfb                 | sub                 edi, ebx
            //   2bc2                 | sub                 eax, edx
            //   d1ff                 | sar                 edi, 1
            //   57                   | push                edi
            //   53                   | push                ebx
            //   51                   | push                ecx
            //   d1f8                 | sar                 eax, 1

        $sequence_4 = { 8bb598f5ffff e9???????? 8d8de4f5ffff e8???????? 68e0930400 ff15???????? 57 }
            // n = 7, score = 100
            //   8bb598f5ffff         | mov                 esi, dword ptr [ebp - 0xa68]
            //   e9????????           |                     
            //   8d8de4f5ffff         | lea                 ecx, [ebp - 0xa1c]
            //   e8????????           |                     
            //   68e0930400           | push                0x493e0
            //   ff15????????         |                     
            //   57                   | push                edi

        $sequence_5 = { 015508 8bd7 c1c107 f7d2 2355f4 c1ce0b 33f1 }
            // n = 7, score = 100
            //   015508               | add                 dword ptr [ebp + 8], edx
            //   8bd7                 | mov                 edx, edi
            //   c1c107               | rol                 ecx, 7
            //   f7d2                 | not                 edx
            //   2355f4               | and                 edx, dword ptr [ebp - 0xc]
            //   c1ce0b               | ror                 esi, 0xb
            //   33f1                 | xor                 esi, ecx

        $sequence_6 = { 8b86b0660310 85c0 740e 50 }
            // n = 4, score = 100
            //   8b86b0660310         | mov                 eax, dword ptr [esi + 0x100366b0]
            //   85c0                 | test                eax, eax
            //   740e                 | je                  0x10
            //   50                   | push                eax

        $sequence_7 = { 23c8 8b45fc 0bc1 03c2 8945fc 8b45d8 }
            // n = 6, score = 100
            //   23c8                 | and                 ecx, eax
            //   8b45fc               | mov                 eax, dword ptr [ebp - 4]
            //   0bc1                 | or                  eax, ecx
            //   03c2                 | add                 eax, edx
            //   8945fc               | mov                 dword ptr [ebp - 4], eax
            //   8b45d8               | mov                 eax, dword ptr [ebp - 0x28]

        $sequence_8 = { 33d1 8bc8 0b4de4 03d6 234df8 8bf7 894df4 }
            // n = 7, score = 100
            //   33d1                 | xor                 edx, ecx
            //   8bc8                 | mov                 ecx, eax
            //   0b4de4               | or                  ecx, dword ptr [ebp - 0x1c]
            //   03d6                 | add                 edx, esi
            //   234df8               | and                 ecx, dword ptr [ebp - 8]
            //   8bf7                 | mov                 esi, edi
            //   894df4               | mov                 dword ptr [ebp - 0xc], ecx

        $sequence_9 = { 68???????? 66894598 ff15???????? 8945a0 85c0 }
            // n = 5, score = 100
            //   68????????           |                     
            //   66894598             | mov                 word ptr [ebp - 0x68], ax
            //   ff15????????         |                     
            //   8945a0               | mov                 dword ptr [ebp - 0x60], eax
            //   85c0                 | test                eax, eax

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