SYMBOLCOMMON_NAMEaka. SYNONYMS
win.chches (Back to overview)

ChChes

aka: HAYMAKER, Ham Backdoor

Actor(s): Stone Panda

VTCollection    

There is no description at this point.

References
2020-01-01 ⋅ Secureworks ⋅ SecureWorks
BRONZE RIVERSIDE
Anel ChChes Cobalt Strike PlugX Poison Ivy Quasar RAT RedLeaves APT10
2017-04-01 ⋅ PricewaterhouseCoopers ⋅ PricewaterhouseCoopers
Operation Cloud Hopper: Technical Annex
ChChes PlugX Quasar RAT RedLeaves Trochilus RAT
2017-02-27 ⋅ Threat Vector ⋅ Jon Gross
The Deception Project: A New Japanese-Centric Threat
ChChes Snake Wine
2017-02-16 ⋅ Palo Alto Networks Unit 42 ⋅ Jen Miller-Osborn, Josh Grunzweig
menuPass Returns with New Malware and New Attacks Against Japanese Academics and Organizations
ChChes
2017-02-10 ⋅ ⋅ JPCERT/CC ⋅ Shusei Tomonaga
PowerSploit
ChChes
2017-01-26 ⋅ ⋅ JPCERT/CC ⋅ Yu Nakamura
Malware ChChes interacts with C & C server using Cookie header
ChChes Snake Wine
Yara Rules
[TLP:WHITE] win_chches_auto (20260917 | Detects win.chches.)
rule win_chches_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.chches."
        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.chches"
        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 = { 6a08 ffd2 50 8b4748 ffd0 8bd8 85db }
            // n = 7, score = 200
            //   6a08                 | push                8
            //   ffd2                 | call                edx
            //   50                   | push                eax
            //   8b4748               | mov                 eax, dword ptr [edi + 0x48]
            //   ffd0                 | call                eax
            //   8bd8                 | mov                 ebx, eax
            //   85db                 | test                ebx, ebx

        $sequence_1 = { 83c330 53 6a01 ffd0 8b5768 83c410 }
            // n = 6, score = 200
            //   83c330               | add                 ebx, 0x30
            //   53                   | push                ebx
            //   6a01                 | push                1
            //   ffd0                 | call                eax
            //   8b5768               | mov                 edx, dword ptr [edi + 0x68]
            //   83c410               | add                 esp, 0x10

        $sequence_2 = { 3903 7450 8b5664 50 ffd2 8b0b 8d3c00 }
            // n = 7, score = 200
            //   3903                 | cmp                 dword ptr [ebx], eax
            //   7450                 | je                  0x52
            //   8b5664               | mov                 edx, dword ptr [esi + 0x64]
            //   50                   | push                eax
            //   ffd2                 | call                edx
            //   8b0b                 | mov                 ecx, dword ptr [ebx]
            //   8d3c00               | lea                 edi, [eax + eax]

        $sequence_3 = { ffd2 50 8b464c ffd0 8d4de0 e9???????? 81fb04ffffff }
            // n = 7, score = 200
            //   ffd2                 | call                edx
            //   50                   | push                eax
            //   8b464c               | mov                 eax, dword ptr [esi + 0x4c]
            //   ffd0                 | call                eax
            //   8d4de0               | lea                 ecx, [ebp - 0x20]
            //   e9????????           |                     
            //   81fb04ffffff         | cmp                 ebx, 0xffffff04

        $sequence_4 = { c78550feffff65007400 c78554feffff77006f00 c78558feffff72006b00 c7855cfeffff2e007000 c78560feffff72006f00 c78564feffff78007900 }
            // n = 6, score = 200
            //   c78550feffff65007400     | mov    dword ptr [ebp - 0x1b0], 0x740065
            //   c78554feffff77006f00     | mov    dword ptr [ebp - 0x1ac], 0x6f0077
            //   c78558feffff72006b00     | mov    dword ptr [ebp - 0x1a8], 0x6b0072
            //   c7855cfeffff2e007000     | mov    dword ptr [ebp - 0x1a4], 0x70002e
            //   c78560feffff72006f00     | mov    dword ptr [ebp - 0x1a0], 0x6f0072
            //   c78564feffff78007900     | mov    dword ptr [ebp - 0x19c], 0x790078

        $sequence_5 = { 51 57 ffd0 c6471000 8b45ec 8b0e 897918 }
            // n = 7, score = 200
            //   51                   | push                ecx
            //   57                   | push                edi
            //   ffd0                 | call                eax
            //   c6471000             | mov                 byte ptr [edi + 0x10], 0
            //   8b45ec               | mov                 eax, dword ptr [ebp - 0x14]
            //   8b0e                 | mov                 ecx, dword ptr [esi]
            //   897918               | mov                 dword ptr [ecx + 0x18], edi

        $sequence_6 = { 8b55ec 8b4df8 6a00 6a00 52 8b938c000000 50 }
            // n = 7, score = 200
            //   8b55ec               | mov                 edx, dword ptr [ebp - 0x14]
            //   8b4df8               | mov                 ecx, dword ptr [ebp - 8]
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   52                   | push                edx
            //   8b938c000000         | mov                 edx, dword ptr [ebx + 0x8c]
            //   50                   | push                eax

        $sequence_7 = { 837b1000 894314 7407 c7430c01000000 8b7dfc 83c708 741a }
            // n = 7, score = 200
            //   837b1000             | cmp                 dword ptr [ebx + 0x10], 0
            //   894314               | mov                 dword ptr [ebx + 0x14], eax
            //   7407                 | je                  9
            //   c7430c01000000       | mov                 dword ptr [ebx + 0xc], 1
            //   8b7dfc               | mov                 edi, dword ptr [ebp - 4]
            //   83c708               | add                 edi, 8
            //   741a                 | je                  0x1c

        $sequence_8 = { 40 2bf8 50 8bc7 e8???????? 83c408 894608 }
            // n = 7, score = 200
            //   40                   | inc                 eax
            //   2bf8                 | sub                 edi, eax
            //   50                   | push                eax
            //   8bc7                 | mov                 eax, edi
            //   e8????????           |                     
            //   83c408               | add                 esp, 8
            //   894608               | mov                 dword ptr [esi + 8], eax

        $sequence_9 = { 53 56 57 8bf0 e8???????? 8bf8 81c71d051101 }
            // n = 7, score = 200
            //   53                   | push                ebx
            //   56                   | push                esi
            //   57                   | push                edi
            //   8bf0                 | mov                 esi, eax
            //   e8????????           |                     
            //   8bf8                 | mov                 edi, eax
            //   81c71d051101         | add                 edi, 0x111051d

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