SYMBOLCOMMON_NAMEaka. SYNONYMS
win.ghost_secret (Back to overview)

GhostSecret

Actor(s): Lazarus Group

VTCollection    

There is no description at this point.

References
2018-04-24McAfeeRyan Sherstobitoff
Analyzing Operation GhostSecret: Attack Seeks to Steal Data Worldwide
GhostSecret
Yara Rules
[TLP:WHITE] win_ghost_secret_auto (20260504 | Detects win.ghost_secret.)
rule win_ghost_secret_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.ghost_secret."
        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.ghost_secret"
        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 = { 33ed 8b4c2410 8b94241c080000 6a00 51 }
            // n = 5, score = 200
            //   33ed                 | xor                 ebp, ebp
            //   8b4c2410             | mov                 ecx, dword ptr [esp + 0x10]
            //   8b94241c080000       | mov                 edx, dword ptr [esp + 0x81c]
            //   6a00                 | push                0
            //   51                   | push                ecx

        $sequence_1 = { c68424850000005e c684248600000002 c68424870000005a c6842488000000f0 c6842489000000f8 888c248a000000 c684248b00000031 }
            // n = 7, score = 200
            //   c68424850000005e     | mov                 byte ptr [esp + 0x85], 0x5e
            //   c684248600000002     | mov                 byte ptr [esp + 0x86], 2
            //   c68424870000005a     | mov                 byte ptr [esp + 0x87], 0x5a
            //   c6842488000000f0     | mov                 byte ptr [esp + 0x88], 0xf0
            //   c6842489000000f8     | mov                 byte ptr [esp + 0x89], 0xf8
            //   888c248a000000       | mov                 byte ptr [esp + 0x8a], cl
            //   c684248b00000031     | mov                 byte ptr [esp + 0x8b], 0x31

        $sequence_2 = { 8bc8 53 83e103 f3a4 8d4c2410 51 e8???????? }
            // n = 7, score = 200
            //   8bc8                 | mov                 ecx, eax
            //   53                   | push                ebx
            //   83e103               | and                 ecx, 3
            //   f3a4                 | rep movsb           byte ptr es:[edi], byte ptr [esi]
            //   8d4c2410             | lea                 ecx, [esp + 0x10]
            //   51                   | push                ecx
            //   e8????????           |                     

        $sequence_3 = { 50 56 ff15???????? 8d8c2434030000 6a0e 51 a3???????? }
            // n = 7, score = 200
            //   50                   | push                eax
            //   56                   | push                esi
            //   ff15????????         |                     
            //   8d8c2434030000       | lea                 ecx, [esp + 0x334]
            //   6a0e                 | push                0xe
            //   51                   | push                ecx
            //   a3????????           |                     

        $sequence_4 = { 8d9424d4010000 6a0d 52 a3???????? e8???????? 83c408 50 }
            // n = 7, score = 200
            //   8d9424d4010000       | lea                 edx, [esp + 0x1d4]
            //   6a0d                 | push                0xd
            //   52                   | push                edx
            //   a3????????           |                     
            //   e8????????           |                     
            //   83c408               | add                 esp, 8
            //   50                   | push                eax

        $sequence_5 = { c1ea18 c1e008 0bd0 8bc2 8996c4d34100 }
            // n = 5, score = 200
            //   c1ea18               | shr                 edx, 0x18
            //   c1e008               | shl                 eax, 8
            //   0bd0                 | or                  edx, eax
            //   8bc2                 | mov                 eax, edx
            //   8996c4d34100         | mov                 dword ptr [esi + 0x41d3c4], edx

        $sequence_6 = { c644242553 c6442426ba c644242758 c64424280e c6442429b7 c644242a1a c644242b0a }
            // n = 7, score = 200
            //   c644242553           | mov                 byte ptr [esp + 0x25], 0x53
            //   c6442426ba           | mov                 byte ptr [esp + 0x26], 0xba
            //   c644242758           | mov                 byte ptr [esp + 0x27], 0x58
            //   c64424280e           | mov                 byte ptr [esp + 0x28], 0xe
            //   c6442429b7           | mov                 byte ptr [esp + 0x29], 0xb7
            //   c644242a1a           | mov                 byte ptr [esp + 0x2a], 0x1a
            //   c644242b0a           | mov                 byte ptr [esp + 0x2b], 0xa

        $sequence_7 = { c68424400400006c c68424410400006c c684244204000075 889c2443040000 c68424d00000004e c68424d10000004a c68424d200000058 }
            // n = 7, score = 200
            //   c68424400400006c     | mov                 byte ptr [esp + 0x440], 0x6c
            //   c68424410400006c     | mov                 byte ptr [esp + 0x441], 0x6c
            //   c684244204000075     | mov                 byte ptr [esp + 0x442], 0x75
            //   889c2443040000       | mov                 byte ptr [esp + 0x443], bl
            //   c68424d00000004e     | mov                 byte ptr [esp + 0xd0], 0x4e
            //   c68424d10000004a     | mov                 byte ptr [esp + 0xd1], 0x4a
            //   c68424d200000058     | mov                 byte ptr [esp + 0xd2], 0x58

        $sequence_8 = { 6a10 50 56 ff15???????? 8b4f04 8d542408 52 }
            // n = 7, score = 200
            //   6a10                 | push                0x10
            //   50                   | push                eax
            //   56                   | push                esi
            //   ff15????????         |                     
            //   8b4f04               | mov                 ecx, dword ptr [edi + 4]
            //   8d542408             | lea                 edx, [esp + 8]
            //   52                   | push                edx

        $sequence_9 = { 5b 83c408 c20800 8b542414 }
            // n = 4, score = 200
            //   5b                   | pop                 ebx
            //   83c408               | add                 esp, 8
            //   c20800               | ret                 8
            //   8b542414             | mov                 edx, dword ptr [esp + 0x14]

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