SYMBOLCOMMON_NAMEaka. SYNONYMS
win.htprat (Back to overview)

htpRAT

VTCollection    

There is no description at this point.

References
2017-10-26RiskIQYonathan Klijnsma
New htpRAT Gives Complete Remote Control Capabilities to Chinese Cyber Threat Actors
htpRAT
Yara Rules
[TLP:WHITE] win_htprat_auto (20260504 | Detects win.htprat.)
rule win_htprat_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.htprat."
        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.htprat"
        malpedia_rule_date = "20260422"
        malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14"
        malpedia_version = "20260504"
        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 = { 50 e8???????? ffb568efffff e8???????? 59 }
            // n = 5, score = 200
            //   50                   | push                eax
            //   e8????????           |                     
            //   ffb568efffff         | push                dword ptr [ebp - 0x1098]
            //   e8????????           |                     
            //   59                   | pop                 ecx

        $sequence_1 = { a3???????? 53 8d854cdcffff 50 8bce e8???????? c78540dcffff01000000 }
            // n = 7, score = 200
            //   a3????????           |                     
            //   53                   | push                ebx
            //   8d854cdcffff         | lea                 eax, [ebp - 0x23b4]
            //   50                   | push                eax
            //   8bce                 | mov                 ecx, esi
            //   e8????????           |                     
            //   c78540dcffff01000000     | mov    dword ptr [ebp - 0x23c0], 1

        $sequence_2 = { 8b4d08 83c10c 8bc3 e8???????? 84c0 7445 }
            // n = 6, score = 200
            //   8b4d08               | mov                 ecx, dword ptr [ebp + 8]
            //   83c10c               | add                 ecx, 0xc
            //   8bc3                 | mov                 eax, ebx
            //   e8????????           |                     
            //   84c0                 | test                al, al
            //   7445                 | je                  0x47

        $sequence_3 = { c745cc73747576 c745d07778797a c745d441424344 c745d845464748 c745dc494a4b4c c745e04d4e4f50 c745e451525354 }
            // n = 7, score = 200
            //   c745cc73747576       | mov                 dword ptr [ebp - 0x34], 0x76757473
            //   c745d07778797a       | mov                 dword ptr [ebp - 0x30], 0x7a797877
            //   c745d441424344       | mov                 dword ptr [ebp - 0x2c], 0x44434241
            //   c745d845464748       | mov                 dword ptr [ebp - 0x28], 0x48474645
            //   c745dc494a4b4c       | mov                 dword ptr [ebp - 0x24], 0x4c4b4a49
            //   c745e04d4e4f50       | mov                 dword ptr [ebp - 0x20], 0x504f4e4d
            //   c745e451525354       | mov                 dword ptr [ebp - 0x1c], 0x54535251

        $sequence_4 = { c6400401 eb3c 8d45f8 e8???????? 8b4df8 83c10c 8bc3 }
            // n = 7, score = 200
            //   c6400401             | mov                 byte ptr [eax + 4], 1
            //   eb3c                 | jmp                 0x3e
            //   8d45f8               | lea                 eax, [ebp - 8]
            //   e8????????           |                     
            //   8b4df8               | mov                 ecx, dword ptr [ebp - 8]
            //   83c10c               | add                 ecx, 0xc
            //   8bc3                 | mov                 eax, ebx

        $sequence_5 = { 7705 83c2d0 eb1c 83fa41 720a 83fa46 7705 }
            // n = 7, score = 200
            //   7705                 | ja                  7
            //   83c2d0               | add                 edx, -0x30
            //   eb1c                 | jmp                 0x1e
            //   83fa41               | cmp                 edx, 0x41
            //   720a                 | jb                  0xc
            //   83fa46               | cmp                 edx, 0x46
            //   7705                 | ja                  7

        $sequence_6 = { 8b01 8945d0 3bc1 744e }
            // n = 4, score = 200
            //   8b01                 | mov                 eax, dword ptr [ecx]
            //   8945d0               | mov                 dword ptr [ebp - 0x30], eax
            //   3bc1                 | cmp                 eax, ecx
            //   744e                 | je                  0x50

        $sequence_7 = { a1???????? 33c4 50 8d8424e0000000 64a300000000 33db c744245c0f000000 }
            // n = 7, score = 200
            //   a1????????           |                     
            //   33c4                 | xor                 eax, esp
            //   50                   | push                eax
            //   8d8424e0000000       | lea                 eax, [esp + 0xe0]
            //   64a300000000         | mov                 dword ptr fs:[0], eax
            //   33db                 | xor                 ebx, ebx
            //   c744245c0f000000     | mov                 dword ptr [esp + 0x5c], 0xf

        $sequence_8 = { 6a16 ffb574efffff 89bd6cefffff ffd6 3bc7 750b }
            // n = 6, score = 200
            //   6a16                 | push                0x16
            //   ffb574efffff         | push                dword ptr [ebp - 0x108c]
            //   89bd6cefffff         | mov                 dword ptr [ebp - 0x1094], edi
            //   ffd6                 | call                esi
            //   3bc7                 | cmp                 eax, edi
            //   750b                 | jne                 0xd

        $sequence_9 = { 50 e8???????? 83c40c 8d85e8fdffff 6a0c 898524efffff }
            // n = 6, score = 200
            //   50                   | push                eax
            //   e8????????           |                     
            //   83c40c               | add                 esp, 0xc
            //   8d85e8fdffff         | lea                 eax, [ebp - 0x218]
            //   6a0c                 | push                0xc
            //   898524efffff         | mov                 dword ptr [ebp - 0x10dc], eax

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