SYMBOLCOMMON_NAMEaka. SYNONYMS
win.kimsuky (Back to overview)

Kimsuky

Actor(s): Kimsuki, Kimsuky

VTCollection    

There is no description at this point.

References
2025-07-25 ⋅ Aryaka Networks ⋅ Aditya K. Sood, varadharajan krishnasamy
The Operational Blueprint of Kimsuky APT for Cyber Espionage
Kimsuky
2024-12-10 ⋅ Hunt.io ⋅ Hunt.io
“Million OK !!!!” and the Naver Facade: Tracking Recent Suspected Kimsuky Infrastructure
Kimsuky
2023-05-22 ⋅ AhnLab ⋅ ASEC
Kimsuky Group Using Meterpreter to Attack Web Servers
Kimsuky Meterpreter
2023-01-01 ⋅ ThreatMon ⋅ Seyit Sigirci (@h3xecute), ThreatMon Malware Research Team
Unraveling the Layers: Analysis of Kimsuky's Multi-Staged Cyberattack
Kimsuky
2022-08-26 ⋅ cocomelonc
Malware development: persistence - part 9. Default file extension hijacking. Simple C++ example.
Kimsuky
2022-08-09 ⋅ Medium walmartglobaltech ⋅ Jason Reaves, Joshua Platt
Pivoting on a SharpExt to profile Kimusky panels for great good
Kimsuky
2022-08-02 ⋅ ASEC ⋅ ASEC Analysis Team
Word File Provided as External Link When Replying to Attacker’s Email (Kimsuky)
Kimsuky
2022-04-20 ⋅ cocomelonc ⋅ cocomelonc
Malware development: persistence - part 1. Registry run keys. C++ example.
Agent Tesla Amadey BlackEnergy Cobian RAT COZYDUKE Emotet Empire Downloader Kimsuky
2022-01-05 ⋅ AhnLab ⋅ ASEC Analysis Team
Analysis Report on Kimsuky Group’s APT Attacks (AppleSeed, PebbleDash)
Appleseed Kimsuky PEBBLEDASH
2021-10-07 ⋅ S2W Inc. ⋅ Jaeki Kim, Kyoung-ju Kwak, Sojun Ryu
Operation Newton: Hi Kimsuky? Did an Apple(seed) really fall on Newton’s head?
Appleseed Kimsuky
2021-08-23 ⋅ InQuest ⋅ Dmitry Melikov
Kimsuky Espionage Campaign
Kimsuky
2020-12-15 ⋅ ⋅ KISA ⋅ KISA
Operation MUZABI
Kimsuky
2020-06-12 ⋅ ThreatConnect ⋅ ThreatConnect Research Team
Probable Sandworm Infrastructure
Avaddon Emotet Kimsuky
2020-03-10 ⋅ Virus Bulletin ⋅ Jaeki Kim, Kyoung-Ju Kwak (郭炅周), Min-Chang Jang
Kimsuky group: tracking the king of the spear phishing
Kimsuky MyDogs
2020-03-04 ⋅ MetaSwan's Lab ⋅ MetaSwan
Kimsuky group's resume impersonation malware
Kimsuky
2020-02-19 ⋅ Lexfo ⋅ Lexfo
The Lazarus Constellation A study on North Korean malware
FastCash AppleJeus BADCALL Bankshot Brambul Dtrack Duuzer DYEPACK ELECTRICFISH HARDRAIN Hermes HOPLIGHT Joanap KEYMARBLE Kimsuky MimiKatz MyDoom NACHOCHEESE NavRAT PowerRatankba RokRAT Sierra(Alfa,Bravo, ...) Volgmer WannaCryptor
2020-02-18 ⋅ PWC UK ⋅ Kris McConkey, Sveva Vittoria Scenarelli
Tracking ‘Kimsuky’, the North Korea-based cyber espionage group: Part 1
Kimsuky
2019-10-04 ⋅ Virus Bulletin ⋅ Jaeki Kim, Kyoung-ju Kwak, Min-Chang Jang
Kimsuky group: tracking the king of the spear-phishing
Kimsuky
2019-09-11 ⋅ Prevailion ⋅ Danny Adamitis, Elizabeth Wharton
Autumn Aperture
Kimsuky
2019-09-11 ⋅ Danny Adamitis
Autumn Aperture Report
Kimsuky
2019-06-10 ⋅ ⋅ ESTsecurity ⋅ Alyac
[Special Report] APT Campaign 'Konni' & 'Kimsuky' Organizations Found in Common
Kimsuky
Yara Rules
[TLP:WHITE] win_kimsuky_auto (20260917 | Detects win.kimsuky.)
rule win_kimsuky_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.kimsuky."
        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.kimsuky"
        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 = { e8???????? 83c430 8d95f0fcffff b9???????? e8???????? }
            // n = 5, score = 400
            //   e8????????           |                     
            //   83c430               | add                 esp, 0x30
            //   8d95f0fcffff         | lea                 edx, [ebp - 0x310]
            //   b9????????           |                     
            //   e8????????           |                     

        $sequence_1 = { ffd6 8bd8 85db 7510 }
            // n = 4, score = 400
            //   ffd6                 | call                esi
            //   8bd8                 | mov                 ebx, eax
            //   85db                 | test                ebx, ebx
            //   7510                 | jne                 0x12

        $sequence_2 = { 53 e8???????? 83c404 8bf0 6a00 }
            // n = 5, score = 400
            //   53                   | push                ebx
            //   e8????????           |                     
            //   83c404               | add                 esp, 4
            //   8bf0                 | mov                 esi, eax
            //   6a00                 | push                0

        $sequence_3 = { 8d85f8feffff 6a00 50 ff15???????? 8d85ecfbffff 50 }
            // n = 6, score = 400
            //   8d85f8feffff         | lea                 eax, [ebp - 0x108]
            //   6a00                 | push                0
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8d85ecfbffff         | lea                 eax, [ebp - 0x414]
            //   50                   | push                eax

        $sequence_4 = { ff15???????? 85c0 7516 ff15???????? 8bd8 e8???????? }
            // n = 6, score = 400
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   7516                 | jne                 0x18
            //   ff15????????         |                     
            //   8bd8                 | mov                 ebx, eax
            //   e8????????           |                     

        $sequence_5 = { 8bca 83e103 f3a4 8d8de4fbffff 49 }
            // n = 5, score = 400
            //   8bca                 | mov                 ecx, edx
            //   83e103               | and                 ecx, 3
            //   f3a4                 | rep movsb           byte ptr es:[edi], byte ptr [esi]
            //   8d8de4fbffff         | lea                 ecx, [ebp - 0x41c]
            //   49                   | dec                 ecx

        $sequence_6 = { 8945fc 833d????????00 7413 b801000000 8b4dfc }
            // n = 5, score = 400
            //   8945fc               | mov                 dword ptr [ebp - 4], eax
            //   833d????????00       |                     
            //   7413                 | je                  0x15
            //   b801000000           | mov                 eax, 1
            //   8b4dfc               | mov                 ecx, dword ptr [ebp - 4]

        $sequence_7 = { 7423 6a00 8d85f0feffff 50 68???????? ff15???????? }
            // n = 6, score = 400
            //   7423                 | je                  0x25
            //   6a00                 | push                0
            //   8d85f0feffff         | lea                 eax, [ebp - 0x110]
            //   50                   | push                eax
            //   68????????           |                     
            //   ff15????????         |                     

        $sequence_8 = { 8d8de8fdffff e8???????? 8b4dfc 33cd e8???????? }
            // n = 5, score = 400
            //   8d8de8fdffff         | lea                 ecx, [ebp - 0x218]
            //   e8????????           |                     
            //   8b4dfc               | mov                 ecx, dword ptr [ebp - 4]
            //   33cd                 | xor                 ecx, ebp
            //   e8????????           |                     

        $sequence_9 = { 4d03fa 664403df 4983c004 4983c102 664585db 75af 4c897c2468 }
            // n = 7, score = 300
            //   4d03fa               | inc                 ecx
            //   664403df             | mov                 ecx, dword ptr [edx]
            //   4983c004             | dec                 ecx
            //   4983c102             | add                 ecx, ecx
            //   664585db             | inc                 ebp
            //   75af                 | xor                 eax, eax
            //   4c897c2468           | dec                 eax

        $sequence_10 = { 4883c514 85c0 0f857affffff 4c8b7c2460 4c8b6c2420 4c8b642428 }
            // n = 6, score = 300
            //   4883c514             | mov                 dword ptr [esp + 0x30], edi
            //   85c0                 | dec                 eax
            //   0f857affffff         | mov                 dword ptr [esp + 0x60], ebp
            //   4c8b7c2460           | dec                 eax
            //   4c8b6c2420           | mov                 ecx, dword ptr [eax + 0x18]
            //   4c8b642428           | inc                 ecx

        $sequence_11 = { 48897c2430 48896c2460 488b4818 41bb01000000 4c8b7120 }
            // n = 5, score = 300
            //   48897c2430           | dec                 eax
            //   48896c2460           | mov                 dword ptr [esp + 0x30], edi
            //   488b4818             | dec                 eax
            //   41bb01000000         | mov                 dword ptr [esp + 0x60], ebp
            //   4c8b7120             | dec                 eax

        $sequence_12 = { 0f8569ffffff 418b5f28 4533c0 33d2 4883c9ff 4903de ff542468 }
            // n = 7, score = 300
            //   0f8569ffffff         | test                esi, esi
            //   418b5f28             | jne                 0xfffffe46
            //   4533c0               | dec                 eax
            //   33d2                 | mov                 ebp, dword ptr [esp + 0x60]
            //   4883c9ff             | dec                 esp
            //   4903de               | arpl                word ptr [ebp + 0x3c], di
            //   ff542468             | nop                 word ptr [eax + eax]

        $sequence_13 = { 4c8b642428 488b7c2430 488b742438 488b6c2470 4d8bc6 4d2b4730 4183bfb400000000 }
            // n = 7, score = 300
            //   4c8b642428           | je                  0x1f2
            //   488b7c2430           | jne                 0xffffff6f
            //   488b742438           | inc                 ecx
            //   488b6c2470           | mov                 ebx, dword ptr [edi + 0x28]
            //   4d8bc6               | inc                 ebp
            //   4d2b4730             | xor                 eax, eax
            //   4183bfb400000000     | xor                 edx, edx

        $sequence_14 = { 4d03d9 666666660f1f840000000000 418b0a 4903c9 4533c0 }
            // n = 5, score = 300
            //   4d03d9               | dec                 eax
            //   666666660f1f840000000000     | mov    eax, dword ptr [0x60]
            //   418b0a               | dec                 eax
            //   4903c9               | mov                 dword ptr [esp + 0x30], edi
            //   4533c0               | dec                 eax

        $sequence_15 = { 4d85f6 0f8540feffff 488b6c2460 4c637d3c }
            // n = 4, score = 300
            //   4d85f6               | mov                 dword ptr [esp + 0x60], ebp
            //   0f8540feffff         | dec                 eax
            //   488b6c2460           | mov                 ecx, dword ptr [eax + 0x18]
            //   4c637d3c             | inc                 ecx

        $sequence_16 = { 8b442468 6683f809 7508 83f809 }
            // n = 4, score = 200
            //   8b442468             | dec                 esp
            //   6683f809             | mov                 ebp, dword ptr [esp + 0x20]
            //   7508                 | dec                 esp
            //   83f809               | mov                 esp, dword ptr [esp + 0x28]

        $sequence_17 = { 8bd7 3bd8 0f94c2 85d2 7419 }
            // n = 5, score = 200
            //   8bd7                 | add                 ecx, 2
            //   3bd8                 | inc                 bp
            //   0f94c2               | test                ebx, ebx
            //   85d2                 | jne                 0xffffffbd
            //   7419                 | dec                 esp

        $sequence_18 = { 894d90 8bc1 81fb00000001 0f97c0 }
            // n = 4, score = 200
            //   894d90               | je                  0x1fd
            //   8bc1                 | jne                 0xffffff6f
            //   81fb00000001         | inc                 ecx
            //   0f97c0               | mov                 ebx, dword ptr [edi + 0x28]

        $sequence_19 = { 85c0 0f94c1 85c9 0f8494020000 89bda0000000 897d30 }
            // n = 6, score = 200
            //   85c0                 | dec                 eax
            //   0f94c1               | mov                 ebp, dword ptr [esp + 0x60]
            //   85c9                 | dec                 esp
            //   0f8494020000         | arpl                word ptr [ebp + 0x3c], di
            //   89bda0000000         | nop                 word ptr [eax + eax]
            //   897d30               | inc                 ecx

        $sequence_20 = { 83f809 8d7340 7405 be20000000 c68424a000000000 33d2 }
            // n = 6, score = 200
            //   83f809               | dec                 eax
            //   8d7340               | mov                 dword ptr [esp + 0x60], ebp
            //   7405                 | dec                 eax
            //   be20000000           | mov                 ecx, dword ptr [eax + 0x18]
            //   c68424a000000000     | inc                 ecx
            //   33d2                 | mov                 ebx, 1

        $sequence_21 = { 488d8a38000000 e9???????? 488d8a28010000 e9???????? }
            // n = 4, score = 200
            //   488d8a38000000       | mov                 ebx, eax
            //   e9????????           |                     
            //   488d8a28010000       | imul                ebx, eax
            //   e9????????           |                     

        $sequence_22 = { 8b7590 660f1f440000 837df000 0f841b020000 }
            // n = 4, score = 200
            //   8b7590               | inc                 esi
            //   660f1f440000         | mov                 ebx, dword ptr [edi + ecx + 0x24]
            //   837df000             | dec                 ebp
            //   0f841b020000         | add                 edx, ecx

        $sequence_23 = { 898521010000 66898525010000 888527010000 8b742450 }
            // n = 4, score = 200
            //   898521010000         | dec                 ecx
            //   66898525010000       | add                 ecx, 2
            //   888527010000         | inc                 bp
            //   8b742450             | test                ebx, ebx

        $sequence_24 = { 4c89642430 c744242880000000 c744242002000000 4533c9 4533c0 }
            // n = 5, score = 200
            //   4c89642430           | mov                 dword ptr [ebp + 0xa0], edi
            //   c744242880000000     | mov                 dword ptr [ebp + 0x30], edi
            //   c744242002000000     | test                eax, eax
            //   4533c9               | sete                cl
            //   4533c0               | test                ecx, ecx

        $sequence_25 = { 48c1e105 4c03c1 488d542470 488d4dc0 }
            // n = 4, score = 100
            //   48c1e105             | lea                 esi, [ebx + 0x40]
            //   4c03c1               | je                  7
            //   488d542470           | mov                 eax, dword ptr [esp + 0x68]
            //   488d4dc0             | cmp                 ax, 9

        $sequence_26 = { 48bfffffffffffffff7f 483bf7 0f87ea000000 488bce 4c89742468 }
            // n = 5, score = 100
            //   48bfffffffffffffff7f     | test    ecx, ecx
            //   483bf7               | je                  0x29f
            //   0f87ea000000         | mov                 ecx, edi
            //   488bce               | test                eax, eax
            //   4c89742468           | sete                cl

        $sequence_27 = { 48c1e105 4c03c1 488d542438 488d8dc0000000 }
            // n = 4, score = 100
            //   48c1e105             | mov                 dword ptr [ebp + 0xa0], edi
            //   4c03c1               | mov                 dword ptr [ebp + 0x30], edi
            //   488d542438           | mov                 eax, dword ptr [esp + 0x68]
            //   488d8dc0000000       | cmp                 ax, 9

        $sequence_28 = { 48c1e302 4c8bc3 8d040e 488d8d94080000 898590080000 e8???????? 488d0df984fcff }
            // n = 7, score = 100
            //   48c1e302             | jne                 0x1a
            //   4c8bc3               | mov                 ebx, eax
            //   8d040e               | imul                ebx, eax
            //   488d8d94080000       | jne                 0x18
            //   898590080000         | mov                 ebx, eax
            //   e8????????           |                     
            //   488d0df984fcff       | imul                ebx, eax

        $sequence_29 = { 48c1e302 4c8bc3 8d040e 488d8d24030000 898520030000 e8???????? 488d0d3354fbff }
            // n = 7, score = 100
            //   48c1e302             | je                  0x238
            //   4c8bc3               | mov                 esi, dword ptr [ebp - 0x70]
            //   8d040e               | nop                 word ptr [eax + eax]
            //   488d8d24030000       | mov                 ebx, eax
            //   898520030000         | imul                ebx, eax
            //   e8????????           |                     
            //   488d0d3354fbff       | test                eax, eax

        $sequence_30 = { 48b9ffffffffffffff7f 488bc1 492bc6 4883f814 0f82520d0000 4c8d7d48 }
            // n = 6, score = 100
            //   48b9ffffffffffffff7f     | je    7
            //   488bc1               | mov                 esi, 0x20
            //   492bc6               | mov                 dword ptr [ebp - 0x70], ecx
            //   4883f814             | mov                 eax, ecx
            //   0f82520d0000         | cmp                 ebx, 0x1000000
            //   4c8d7d48             | seta                al

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