SYMBOLCOMMON_NAMEaka. SYNONYMS
win.kgh_spy (Back to overview)

KGH_SPY


There is no description at this point.

References
2021-07-14Microstep Online Research Response CenterMicrostep Online Research Response Center
@online{center:20210714:old:d9d32d2, author = {Microstep Online Research Response Center}, title = {{Old trees and new flowers: Analysis of the new version of KGH spy components used by Kimsuky}}, date = {2021-07-14}, organization = {Microstep Online Research Response Center}, url = {https://mp.weixin.qq.com/s/cbaePmZSk_Ob0r486RMXyw}, language = {Chinese}, urldate = {2021-07-20} } Old trees and new flowers: Analysis of the new version of KGH spy components used by Kimsuky
KGH_SPY
2020-11-02CybereasonAssaf Dahan, Lior Rochberger, Daniel Frank, Tom Fakterman
@online{dahan:20201102:back:64a6991, author = {Assaf Dahan and Lior Rochberger and Daniel Frank and Tom Fakterman}, title = {{Back to the Future: Inside the Kimsuky KGH Spyware Suite}}, date = {2020-11-02}, organization = {Cybereason}, url = {https://www.cybereason.com/blog/back-to-the-future-inside-the-kimsuky-kgh-spyware-suite}, language = {English}, urldate = {2020-11-02} } Back to the Future: Inside the Kimsuky KGH Spyware Suite
BabyShark GoldDragon KGH_SPY Kimsuky
Yara Rules
[TLP:WHITE] win_kgh_spy_auto (20220411 | Detects win.kgh_spy.)
rule win_kgh_spy_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2022-04-08"
        version = "1"
        description = "Detects win.kgh_spy."
        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.kgh_spy"
        malpedia_rule_date = "20220405"
        malpedia_hash = "ecd38294bd47d5589be5cd5490dc8bb4804afc2a"
        malpedia_version = "20220411"
        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 = { 85c0 7502 eb3d 488d0d1ebf0000 ff15???????? e8???????? 0fb6c0 }
            // n = 7, score = 100
            //   85c0                 | mov                 dword ptr [esp + 0x20], 0xffffffff
            //   7502                 | dec                 eax
            //   eb3d                 | mov                 dword ptr [esp + 0x10], edx
            //   488d0d1ebf0000       | dec                 eax
            //   ff15????????         |                     
            //   e8????????           |                     
            //   0fb6c0               | mov                 dword ptr [esp + 8], ecx

        $sequence_1 = { e9???????? 48c744243800000000 c744243000004000 488d056a100100 4889442428 48c744242000000000 4c8d0d1d0c0100 }
            // n = 7, score = 100
            //   e9????????           |                     
            //   48c744243800000000     | xor    eax, eax
            //   c744243000004000     | mov                 ecx, 4
            //   488d056a100100       | rep stosb           byte ptr es:[edi], al
            //   4889442428           | dec                 eax
            //   48c744242000000000     | lea    eax, dword ptr [esp + 0x600]
            //   4c8d0d1d0c0100       | dec                 eax

        $sequence_2 = { 4889442438 488b842480000000 488b00 488b8c2480000000 488b09 0fb74914 }
            // n = 6, score = 100
            //   4889442438           | xor                 ecx, ecx
            //   488b842480000000     | mov                 edx, 0x400
            //   488b00               | dec                 eax
            //   488b8c2480000000     | lea                 ecx, dword ptr [esp + 0x4b0]
            //   488b09               | dec                 eax
            //   0fb74914             | lea                 ecx, dword ptr [esp + 0x160]

        $sequence_3 = { 488b8c24e8080000 48898c2410010000 48c7842490000000ffffffff 48ff842490000000 488b8c2410010000 488b942490000000 66833c5100 }
            // n = 7, score = 100
            //   488b8c24e8080000     | dec                 eax
            //   48898c2410010000     | mov                 dword ptr [esp + 0x30], eax
            //   48c7842490000000ffffffff     | jbe    0x44a
            //   48ff842490000000     | dec                 eax
            //   488b8c2410010000     | mov                 eax, dword ptr [esp + 0x50]
            //   488b942490000000     | mov                 eax, dword ptr [eax]
            //   66833c5100           | dec                 eax

        $sequence_4 = { 4c8d0da7bd0000 4c8d842460030000 488d15a0bd0000 488d8c2450010000 e8???????? 833d????????00 }
            // n = 6, score = 100
            //   4c8d0da7bd0000       | mov                 dword ptr [esp + 0x38], 0
            //   4c8d842460030000     | mov                 dword ptr [esp + 0x30], 0x80400000
            //   488d15a0bd0000       | dec                 eax
            //   488d8c2450010000     | cmp                 dword ptr [esp + 0x70], 0
            //   e8????????           |                     
            //   833d????????00       |                     

        $sequence_5 = { 4889442428 ba14000000 488b4c2428 ff15???????? 85c0 0f85ec010000 488b442428 }
            // n = 7, score = 100
            //   4889442428           | rep stosb           byte ptr es:[edi], al
            //   ba14000000           | dec                 eax
            //   488b4c2428           | lea                 edx, dword ptr [0xe6e0]
            //   ff15????????         |                     
            //   85c0                 | dec                 eax
            //   0f85ec010000         | mov                 ecx, dword ptr [esp + 0x38]
            //   488b442428           | dec                 eax

        $sequence_6 = { e8???????? 4889442428 48837c242800 7504 32c0 eb32 488d150beb0000 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   4889442428           | jne                 0x372
            //   48837c242800         | dec                 eax
            //   7504                 | lea                 eax, dword ptr [0xa359]
            //   32c0                 | dec                 eax
            //   eb32                 | cmp                 ebx, eax
            //   488d150beb0000       | je                  0x372

        $sequence_7 = { 85d2 0f88a4070000 410fb7c7 66412bc3 663bc1 7715 488d0d0f7d0000 }
            // n = 7, score = 100
            //   85d2                 | dec                 eax
            //   0f88a4070000         | lea                 edi, dword ptr [0xffff46dc]
            //   410fb7c7             | dec                 eax
            //   66412bc3             | mov                 ecx, edi
            //   663bc1               | dec                 eax
            //   7715                 | mov                 dword ptr [esp + 8], ebx
            //   488d0d0f7d0000       | push                edi

        $sequence_8 = { 85c0 7507 32c0 e9???????? 488b8c24e0080000 }
            // n = 5, score = 100
            //   85c0                 | xor                 ecx, esp
            //   7507                 | dec                 eax
            //   32c0                 | mov                 ecx, dword ptr [esp + 0x40]
            //   e9????????           |                     
            //   488b8c24e0080000     | rep movsb           byte ptr es:[edi], byte ptr [esi]

        $sequence_9 = { 4889442460 488b842480000000 488b00 488b8c2480000000 488b09 0fb74914 }
            // n = 6, score = 100
            //   4889442460           | imul                eax, eax, 0
            //   488b842480000000     | dec                 eax
            //   488b00               | lea                 ecx, dword ptr [0xe932]
            //   488b8c2480000000     | jmp                 0x7da
            //   488b09               | mov                 al, 1
            //   0fb74914             | dec                 eax

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