SYMBOLCOMMON_NAMEaka. SYNONYMS
win.kimsuky (Back to overview)

Kimsuky

Actor(s): Kimsuki, Kimsuky

VTCollection    

There is no description at this point.

References
2025-07-25Aryaka NetworksAditya K. Sood, varadharajan krishnasamy
The Operational Blueprint of Kimsuky APT for Cyber Espionage
Kimsuky
2024-12-10Hunt.ioHunt.io
“Million OK !!!!” and the Naver Facade: Tracking Recent Suspected Kimsuky Infrastructure
Kimsuky
2023-05-22AhnLabASEC
Kimsuky Group Using Meterpreter to Attack Web Servers
Kimsuky Meterpreter
2023-01-01ThreatMonSeyit Sigirci (@h3xecute), ThreatMon Malware Research Team
Unraveling the Layers: Analysis of Kimsuky's Multi-Staged Cyberattack
Kimsuky
2022-08-26cocomelonc
Malware development: persistence - part 9. Default file extension hijacking. Simple C++ example.
Kimsuky
2022-08-09Medium walmartglobaltechJason Reaves, Joshua Platt
Pivoting on a SharpExt to profile Kimusky panels for great good
Kimsuky
2022-08-02ASECASEC Analysis Team
Word File Provided as External Link When Replying to Attacker’s Email (Kimsuky)
Kimsuky
2022-04-20cocomelonccocomelonc
Malware development: persistence - part 1. Registry run keys. C++ example.
Agent Tesla Amadey BlackEnergy Cobian RAT COZYDUKE Emotet Empire Downloader Kimsuky
2022-01-05AhnLabASEC Analysis Team
Analysis Report on Kimsuky Group’s APT Attacks (AppleSeed, PebbleDash)
Appleseed Kimsuky PEBBLEDASH
2021-10-07S2W 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-23InQuestDmitry Melikov
Kimsuky Espionage Campaign
Kimsuky
2020-12-15KISAKISA
Operation MUZABI
Kimsuky
2020-06-12ThreatConnectThreatConnect Research Team
Probable Sandworm Infrastructure
Avaddon Emotet Kimsuky
2020-03-10Virus BulletinJaeki Kim, Kyoung-Ju Kwak (郭炅周), Min-Chang Jang
Kimsuky group: tracking the king of the spear phishing
Kimsuky MyDogs
2020-03-04MetaSwan's LabMetaSwan
Kimsuky group's resume impersonation malware
Kimsuky
2020-02-19LexfoLexfo
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-18PWC UKKris McConkey, Sveva Vittoria Scenarelli
Tracking ‘Kimsuky’, the North Korea-based cyber espionage group: Part 1
Kimsuky
2019-10-04Virus BulletinJaeki Kim, Kyoung-ju Kwak, Min-Chang Jang
Kimsuky group: tracking the king of the spear-phishing
Kimsuky
2019-09-11PrevailionDanny Adamitis, Elizabeth Wharton
Autumn Aperture
Kimsuky
2019-09-11Danny Adamitis
Autumn Aperture Report
Kimsuky
2019-06-10ESTsecurityAlyac
[Special Report] APT Campaign 'Konni' & 'Kimsuky' Organizations Found in Common
Kimsuky
Yara Rules
[TLP:WHITE] win_kimsuky_auto (20260504 | Detects win.kimsuky.)
rule win_kimsuky_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        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 = "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 = { ff15???????? 3db7000000 7503 56 eb18 6a00 6a00 }
            // n = 7, score = 400
            //   ff15????????         |                     
            //   3db7000000           | cmp                 eax, 0xb7
            //   7503                 | jne                 5
            //   56                   | push                esi
            //   eb18                 | jmp                 0x1a
            //   6a00                 | push                0
            //   6a00                 | push                0

        $sequence_1 = { 8d85f0feffff 50 68???????? ff15???????? 6a04 6a00 }
            // n = 6, score = 400
            //   8d85f0feffff         | lea                 eax, [ebp - 0x110]
            //   50                   | push                eax
            //   68????????           |                     
            //   ff15????????         |                     
            //   6a04                 | push                4
            //   6a00                 | push                0

        $sequence_2 = { 56 85ff 740a 33ff }
            // n = 4, score = 400
            //   56                   | push                esi
            //   85ff                 | test                edi, edi
            //   740a                 | je                  0xc
            //   33ff                 | xor                 edi, edi

        $sequence_3 = { ffd7 a3???????? 8d85ecfbffff 50 53 ffd7 }
            // n = 6, score = 400
            //   ffd7                 | call                edi
            //   a3????????           |                     
            //   8d85ecfbffff         | lea                 eax, [ebp - 0x414]
            //   50                   | push                eax
            //   53                   | push                ebx
            //   ffd7                 | call                edi

        $sequence_4 = { 7516 ff15???????? 8bd8 e8???????? 0fafd8 }
            // n = 5, score = 400
            //   7516                 | jne                 0x18
            //   ff15????????         |                     
            //   8bd8                 | mov                 ebx, eax
            //   e8????????           |                     
            //   0fafd8               | imul                ebx, eax

        $sequence_5 = { 50 8d85f8feffff 50 8d85f4fdffff 68???????? 50 e8???????? }
            // n = 7, score = 400
            //   50                   | push                eax
            //   8d85f8feffff         | lea                 eax, [ebp - 0x108]
            //   50                   | push                eax
            //   8d85f4fdffff         | lea                 eax, [ebp - 0x20c]
            //   68????????           |                     
            //   50                   | push                eax
            //   e8????????           |                     

        $sequence_6 = { 6a00 68???????? ff15???????? 6a00 8d85e8fdffff 50 }
            // n = 6, score = 400
            //   6a00                 | push                0
            //   68????????           |                     
            //   ff15????????         |                     
            //   6a00                 | push                0
            //   8d85e8fdffff         | lea                 eax, [ebp - 0x218]
            //   50                   | push                eax

        $sequence_7 = { 56 ffd7 a3???????? 8d85ccf3ffff 50 56 }
            // n = 6, score = 400
            //   56                   | push                esi
            //   ffd7                 | call                edi
            //   a3????????           |                     
            //   8d85ccf3ffff         | lea                 eax, [ebp - 0xc34]
            //   50                   | push                eax
            //   56                   | push                esi

        $sequence_8 = { ffd6 8bd8 85db 7510 5e 5b 8b4dfc }
            // n = 7, score = 400
            //   ffd6                 | call                esi
            //   8bd8                 | mov                 ebx, eax
            //   85db                 | test                ebx, ebx
            //   7510                 | jne                 0x12
            //   5e                   | pop                 esi
            //   5b                   | pop                 ebx
            //   8b4dfc               | mov                 ecx, dword ptr [ebp - 4]

        $sequence_9 = { 4c897c2468 41bb01000000 418d5b02 4d85ed }
            // n = 4, score = 300
            //   4c897c2468           | dec                 ebp
            //   41bb01000000         | test                eax, eax
            //   418d5b02             | dec                 esp
            //   4d85ed               | mov                 ebp, dword ptr [esp + 0x20]

        $sequence_10 = { 4c897c2460 ffd6 458b4754 488bd5 4c8bf0 4d85c0 }
            // n = 6, score = 300
            //   4c897c2460           | mov                 ebp, dword ptr [esp + 0x70]
            //   ffd6                 | dec                 ebp
            //   458b4754             | mov                 eax, esi
            //   488bd5               | dec                 ebp
            //   4c8bf0               | add                 edx, ecx
            //   4d85c0               | dec                 ebp

        $sequence_11 = { 4889742438 4533ff 4c89642428 4c896c2420 33f6 4533ed 4533e4 }
            // n = 7, score = 300
            //   4889742438           | dec                 esp
            //   4533ff               | mov                 esp, dword ptr [esp + 0x28]
            //   4c89642428           | dec                 eax
            //   4c896c2420           | mov                 edi, dword ptr [esp + 0x30]
            //   33f6                 | dec                 eax
            //   4533ed               | mov                 esi, dword ptr [esp + 0x38]
            //   4533e4               | dec                 eax

        $sequence_12 = { 4d8b36 4d85f6 0f8540feffff 488b6c2460 4c637d3c 33c9 }
            // n = 6, score = 300
            //   4d8b36               | inc                 ebp
            //   4d85f6               | mov                 eax, dword ptr [edi + 0x54]
            //   0f8540feffff         | dec                 eax
            //   488b6c2460           | mov                 edx, ebp
            //   4c637d3c             | dec                 esp
            //   33c9                 | mov                 esi, eax

        $sequence_13 = { 488b6c2470 4d8bc6 4d2b4730 4183bfb400000000 }
            // n = 4, score = 300
            //   488b6c2470           | sub                 eax, dword ptr [edi + 0x30]
            //   4d8bc6               | dec                 ebp
            //   4d2b4730             | mov                 esi, dword ptr [esi]
            //   4183bfb400000000     | dec                 ebp

        $sequence_14 = { 4c8b7c2460 4c8b6c2420 4c8b642428 488b7c2430 488b742438 488b6c2470 4d8bc6 }
            // n = 7, score = 300
            //   4c8b7c2460           | dec                 esp
            //   4c8b6c2420           | mov                 edi, dword ptr [esp + 0x60]
            //   4c8b642428           | dec                 esp
            //   488b7c2430           | mov                 ebp, dword ptr [esp + 0x20]
            //   488b742438           | dec                 esp
            //   488b6c2470           | mov                 esp, dword ptr [esp + 0x28]
            //   4d8bc6               | dec                 eax

        $sequence_15 = { 4d03d1 4d03d9 666666660f1f840000000000 418b0a }
            // n = 4, score = 300
            //   4d03d1               | mov                 edi, dword ptr [esp + 0x30]
            //   4d03d9               | dec                 eax
            //   666666660f1f840000000000     | mov    esi, dword ptr [esp + 0x38]
            //   418b0a               | dec                 eax

        $sequence_16 = { 488d8a38000000 e9???????? 488d8a28010000 e9???????? }
            // n = 4, score = 200
            //   488d8a38000000       | dec                 ebp
            //   e9????????           |                     
            //   488d8a28010000       | sub                 eax, dword ptr [edi + 0x30]
            //   e9????????           |                     

        $sequence_17 = { 8bd7 3bd8 0f94c2 85d2 7419 }
            // n = 5, score = 200
            //   8bd7                 | imul                ebx, eax
            //   3bd8                 | test                eax, eax
            //   0f94c2               | jne                 0x1a
            //   85d2                 | mov                 ebx, eax
            //   7419                 | test                eax, eax

        $sequence_18 = { 894d90 8bc1 81fb00000001 0f97c0 }
            // n = 4, score = 200
            //   894d90               | lea                 edx, [eax + 1]
            //   8bc1                 | call                ebx
            //   81fb00000001         | dec                 eax
            //   0f97c0               | mov                 eax, ebx

        $sequence_19 = { 4c89642430 c744242880000000 c744242002000000 4533c9 4533c0 ba00000040 }
            // n = 6, score = 200
            //   4c89642430           | jne                 0xfffffe49
            //   c744242880000000     | dec                 eax
            //   c744242002000000     | mov                 ebp, dword ptr [esp + 0x60]
            //   4533c9               | dec                 esp
            //   4533c0               | arpl                word ptr [ebp + 0x3c], di
            //   ba00000040           | xor                 ecx, ecx

        $sequence_20 = { 8b7590 660f1f440000 837df000 0f841b020000 }
            // n = 4, score = 200
            //   8b7590               | test                ecx, ecx
            //   660f1f440000         | je                  0x29c
            //   837df000             | mov                 dword ptr [ebp + 0xa0], edi
            //   0f841b020000         | mov                 dword ptr [ebp + 0x30], edi

        $sequence_21 = { 83f809 8d7340 7405 be20000000 c68424a000000000 33d2 }
            // n = 6, score = 200
            //   83f809               | dec                 ebp
            //   8d7340               | add                 ebx, ecx
            //   7405                 | nop                 word ptr [eax + eax]
            //   be20000000           | inc                 ecx
            //   c68424a000000000     | mov                 ecx, dword ptr [edx]
            //   33d2                 | dec                 ecx

        $sequence_22 = { 8b442468 6683f809 7508 83f809 }
            // n = 4, score = 200
            //   8b442468             | mov                 dword ptr [ebp + 0xa0], edi
            //   6683f809             | mov                 dword ptr [ebp + 0x30], edi
            //   7508                 | test                eax, eax
            //   83f809               | sete                cl

        $sequence_23 = { 898521010000 66898525010000 888527010000 8b742450 }
            // n = 4, score = 200
            //   898521010000         | je                  0x29f
            //   66898525010000       | mov                 ecx, edi
            //   888527010000         | test                eax, eax
            //   8b742450             | sete                cl

        $sequence_24 = { 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         | xor                 ecx, ecx
            //   897d30               | dec                 eax

        $sequence_25 = { 488dac24d0c1ffff b8303f0000 e8???????? 482be0 }
            // n = 4, score = 100
            //   488dac24d0c1ffff     | test                eax, eax
            //   b8303f0000           | jne                 0x1a
            //   e8????????           |                     
            //   482be0               | mov                 ebx, eax

        $sequence_26 = { 488dac24c0fdffff 4881ec40030000 488b05???????? 4833c4 48898530020000 488bf1 }
            // n = 6, score = 100
            //   488dac24c0fdffff     | lea                 edx, [eax + 1]
            //   4881ec40030000       | call                ebx
            //   488b05????????       |                     
            //   4833c4               | dec                 eax
            //   48898530020000       | mov                 eax, ebx
            //   488bf1               | dec                 eax

        $sequence_27 = { 488dac24d0fbffff 4881ec30050000 488b05???????? 4833c4 48898520040000 488bf9 }
            // n = 6, score = 100
            //   488dac24d0fbffff     | imul                ebx, eax
            //   4881ec30050000       | dec                 esp
            //   488b05????????       |                     
            //   4833c4               | mov                 ebp, dword ptr [esp + 0x20]
            //   48898520040000       | dec                 esp
            //   488bf9               | mov                 esp, dword ptr [esp + 0x28]

        $sequence_28 = { 488dac24a0feffff 4881ec60020000 488b05???????? 4833c4 48898558010000 4c8bf9 }
            // n = 6, score = 100
            //   488dac24a0feffff     | cmp                 dword ptr [edi + 0xb4], 0
            //   4881ec60020000       | dec                 ebp
            //   488b05????????       |                     
            //   4833c4               | add                 ebx, ecx
            //   48898558010000       | nop                 word ptr [eax + eax]
            //   4c8bf9               | inc                 ecx

        $sequence_29 = { 488dac2490f5ffff 4881ec700b0000 488b05???????? 4833c4 488985600a0000 8a4208 4c8d1d5a98fcff }
            // n = 7, score = 100
            //   488dac2490f5ffff     | mov                 ebp, dword ptr [esp + 0x70]
            //   4881ec700b0000       | dec                 ebp
            //   488b05????????       |                     
            //   4833c4               | mov                 eax, esi
            //   488985600a0000       | dec                 ebp
            //   8a4208               | sub                 eax, dword ptr [edi + 0x30]
            //   4c8d1d5a98fcff       | inc                 ecx

        $sequence_30 = { 488dac2480feffff 4881ec80020000 488b05???????? 4833c4 48898570010000 488bf1 488d4dc8 }
            // n = 7, score = 100
            //   488dac2480feffff     | xor                 edi, edi
            //   4881ec80020000       | dec                 esp
            //   488b05????????       |                     
            //   4833c4               | mov                 dword ptr [esp + 0x28], esp
            //   48898570010000       | dec                 esp
            //   488bf1               | mov                 dword ptr [esp + 0x20], ebp
            //   488d4dc8             | xor                 esi, esi

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