SYMBOLCOMMON_NAMEaka. SYNONYMS
win.korlia (Back to overview)

Korlia

aka: Bisonal

Actor(s): Tonto Team

VTCollection    

There is no description at this point.

References
2023-09-19Recorded FutureInsikt Group
Multi-year Chinese APT Campaign Targets South Korean Academic, Government, and Political Entities
Korlia Tonto Team
2022-07-07Sentinel LABSTom Hegel
Targets of Interest - Russian Organizations Increasingly Under Attack By Chinese APTs
8.t Dropper Korlia Tonto Team
2021-07-08PTSecurityDenis Kuvshinov
How winnti APT grouping works
Korlia ShadowPad Winnti
2021-07-08YouTube (PT Product Update)Denis Kuvshinov
How winnti APT grouping works
Korlia ShadowPad Winnti
2020-09-08PTSecurityPTSecurity
ShadowPad: new activity from the Winnti group
CCleaner Backdoor Korlia ShadowPad TypeHash
2020-08-13Kaspersky LabsKonstantin Zykov
CactusPete APT group’s updated Bisonal backdoor
Korlia Tonto Team
2020-03-12Check PointCheck Point Research
Vicious Panda: The COVID Campaign
8.t Dropper BYEBY Enfal Korlia Poison Ivy
2020-03-05Cisco TalosPaul Rascagnères, Vitor Ventura, Warren Mercer
Bisonal: 10 years of play
Korlia
2020-03-05AhnLabAhnLab ASEC Analysis Team
신천지 비상연락처 위장한 Bisonal 악성코드 유포 중
Korlia
2020-01-29nao_sec blognao_sec
An Overhead View of the Royal Road
BLACKCOFFEE Cotx RAT Datper DDKONG Derusbi Icefog Korlia NewCore RAT PLAINTEE Poison Ivy Sisfader
2020-01-17NTT SecurityTakai Hajime
Operation Bitter Biscuit
Korlia
2020-01-01SecureworksSecureWorks
BRONZE HUNTLEY
Korlia
2019-03-22AhnLabAhnLab ASEC Analysis Team
ASEC REPORT VOL.93 Q4 2018
Korlia
2018-07-31Palo Alto Networks Unit 42Kaoru Hayashi, Vicky Ray
Bisonal Malware Used in Attacks Against Russia and South Korea
Korlia
2018-05-15BSides DetroitKeven Murphy, Stefano Maccaglia
IR in Heterogeneous Environment
Korlia Poison Ivy
2014-11-25Adventures in SecurityNick Hoffman
Curious Korlia
Korlia
2013-01-01FireEyeAlex Lanstein
APTs By The Dozen: Dissecting Advanced Attacks
Korlia
Yara Rules
[TLP:WHITE] win_korlia_auto (20230808 | Detects win.korlia.)
rule win_korlia_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.korlia."
        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.korlia"
        malpedia_rule_date = "20231130"
        malpedia_hash = "fc8a0e9f343f6d6ded9e7df1a64dac0cc68d7351"
        malpedia_version = "20230808"
        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 = { 52 68???????? 51 ffd6 }
            // n = 4, score = 2300
            //   52                   | push                edx
            //   68????????           |                     
            //   51                   | push                ecx
            //   ffd6                 | call                esi

        $sequence_1 = { 6a32 50 ff15???????? 85c0 7521 }
            // n = 5, score = 2300
            //   6a32                 | push                0x32
            //   50                   | push                eax
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   7521                 | jne                 0x23

        $sequence_2 = { 33c0 f2ae f7d1 49 83f90f 7604 }
            // n = 6, score = 2300
            //   33c0                 | xor                 eax, eax
            //   f2ae                 | repne scasb         al, byte ptr es:[edi]
            //   f7d1                 | not                 ecx
            //   49                   | dec                 ecx
            //   83f90f               | cmp                 ecx, 0xf
            //   7604                 | jbe                 6

        $sequence_3 = { f7ef c1fa14 8bc2 c1e81f 03d0 52 }
            // n = 6, score = 2300
            //   f7ef                 | imul                edi
            //   c1fa14               | sar                 edx, 0x14
            //   8bc2                 | mov                 eax, edx
            //   c1e81f               | shr                 eax, 0x1f
            //   03d0                 | add                 edx, eax
            //   52                   | push                edx

        $sequence_4 = { 8965e8 c645e401 c745fc00000000 52 }
            // n = 4, score = 2300
            //   8965e8               | mov                 dword ptr [ebp - 0x18], esp
            //   c645e401             | mov                 byte ptr [ebp - 0x1c], 1
            //   c745fc00000000       | mov                 dword ptr [ebp - 4], 0
            //   52                   | push                edx

        $sequence_5 = { 59 5a c745fcffffffff 8a45e4 8b4df0 64890d00000000 5f }
            // n = 7, score = 2300
            //   59                   | pop                 ecx
            //   5a                   | pop                 edx
            //   c745fcffffffff       | mov                 dword ptr [ebp - 4], 0xffffffff
            //   8a45e4               | mov                 al, byte ptr [ebp - 0x1c]
            //   8b4df0               | mov                 ecx, dword ptr [ebp - 0x10]
            //   64890d00000000       | mov                 dword ptr fs:[0], ecx
            //   5f                   | pop                 edi

        $sequence_6 = { 81fb68584d56 0f9445e4 5b 59 5a c745fcffffffff }
            // n = 6, score = 2300
            //   81fb68584d56         | cmp                 ebx, 0x564d5868
            //   0f9445e4             | sete                byte ptr [ebp - 0x1c]
            //   5b                   | pop                 ebx
            //   59                   | pop                 ecx
            //   5a                   | pop                 edx
            //   c745fcffffffff       | mov                 dword ptr [ebp - 4], 0xffffffff

        $sequence_7 = { 7410 6a28 68???????? 6aff 53 6a00 }
            // n = 6, score = 2300
            //   7410                 | je                  0x12
            //   6a28                 | push                0x28
            //   68????????           |                     
            //   6aff                 | push                -1
            //   53                   | push                ebx
            //   6a00                 | push                0

        $sequence_8 = { 6a00 ffd6 68???????? c705????????1c010000 ff15???????? }
            // n = 5, score = 2300
            //   6a00                 | push                0
            //   ffd6                 | call                esi
            //   68????????           |                     
            //   c705????????1c010000     |     
            //   ff15????????         |                     

        $sequence_9 = { 6a01 53 53 53 51 ff15???????? 85c0 }
            // n = 7, score = 2000
            //   6a01                 | push                1
            //   53                   | push                ebx
            //   53                   | push                ebx
            //   53                   | push                ebx
            //   51                   | push                ecx
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax

        $sequence_10 = { 8b442404 56 6a00 6a00 6a01 6a00 }
            // n = 6, score = 700
            //   8b442404             | mov                 eax, dword ptr [esp + 4]
            //   56                   | push                esi
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   6a01                 | push                1
            //   6a00                 | push                0

        $sequence_11 = { 6a01 6a00 6a00 6800000040 50 ff15???????? 8bf0 }
            // n = 7, score = 700
            //   6a01                 | push                1
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   6800000040           | push                0x40000000
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8bf0                 | mov                 esi, eax

        $sequence_12 = { e8???????? 8a4c2404 6a01 884814 8b4c240c 898840200000 }
            // n = 6, score = 600
            //   e8????????           |                     
            //   8a4c2404             | mov                 cl, byte ptr [esp + 4]
            //   6a01                 | push                1
            //   884814               | mov                 byte ptr [eax + 0x14], cl
            //   8b4c240c             | mov                 ecx, dword ptr [esp + 0xc]
            //   898840200000         | mov                 dword ptr [eax + 0x2040], ecx

        $sequence_13 = { 8b4c240c 898840200000 58 c20800 e9???????? 6800060000 }
            // n = 6, score = 600
            //   8b4c240c             | mov                 ecx, dword ptr [esp + 0xc]
            //   898840200000         | mov                 dword ptr [eax + 0x2040], ecx
            //   58                   | pop                 eax
            //   c20800               | ret                 8
            //   e9????????           |                     
            //   6800060000           | push                0x600

        $sequence_14 = { 8bf0 83feff 7423 8b542410 8b44240c 8d4c2408 }
            // n = 6, score = 600
            //   8bf0                 | mov                 esi, eax
            //   83feff               | cmp                 esi, -1
            //   7423                 | je                  0x25
            //   8b542410             | mov                 edx, dword ptr [esp + 0x10]
            //   8b44240c             | mov                 eax, dword ptr [esp + 0xc]
            //   8d4c2408             | lea                 ecx, [esp + 8]

        $sequence_15 = { 59 59 c3 8b65e8 ff7588 ff15???????? 833d????????ff }
            // n = 7, score = 600
            //   59                   | pop                 ecx
            //   59                   | pop                 ecx
            //   c3                   | ret                 
            //   8b65e8               | mov                 esp, dword ptr [ebp - 0x18]
            //   ff7588               | push                dword ptr [ebp - 0x78]
            //   ff15????????         |                     
            //   833d????????ff       |                     

        $sequence_16 = { 50 56 ff15???????? 56 ff15???????? b001 5e }
            // n = 7, score = 600
            //   50                   | push                eax
            //   56                   | push                esi
            //   ff15????????         |                     
            //   56                   | push                esi
            //   ff15????????         |                     
            //   b001                 | mov                 al, 1
            //   5e                   | pop                 esi

        $sequence_17 = { ff15???????? 833d????????ff 750c ff742404 ff15???????? }
            // n = 5, score = 600
            //   ff15????????         |                     
            //   833d????????ff       |                     
            //   750c                 | jne                 0xe
            //   ff742404             | push                dword ptr [esp + 4]
            //   ff15????????         |                     

        $sequence_18 = { ff742410 ff742410 ff742410 e8???????? c21000 e8???????? 8a4c2404 }
            // n = 7, score = 600
            //   ff742410             | push                dword ptr [esp + 0x10]
            //   ff742410             | push                dword ptr [esp + 0x10]
            //   ff742410             | push                dword ptr [esp + 0x10]
            //   e8????????           |                     
            //   c21000               | ret                 0x10
            //   e8????????           |                     
            //   8a4c2404             | mov                 cl, byte ptr [esp + 4]

        $sequence_19 = { 6a00 680030c800 6a00 6a00 }
            // n = 4, score = 500
            //   6a00                 | push                0
            //   680030c800           | push                0xc83000
            //   6a00                 | push                0
            //   6a00                 | push                0

        $sequence_20 = { b8447c0000 e8???????? 53 56 }
            // n = 4, score = 500
            //   b8447c0000           | mov                 eax, 0x7c44
            //   e8????????           |                     
            //   53                   | push                ebx
            //   56                   | push                esi

        $sequence_21 = { 8d442444 894d00 8b542438 83c504 50 895500 }
            // n = 6, score = 500
            //   8d442444             | lea                 eax, [esp + 0x44]
            //   894d00               | mov                 dword ptr [ebp], ecx
            //   8b542438             | mov                 edx, dword ptr [esp + 0x38]
            //   83c504               | add                 ebp, 4
            //   50                   | push                eax
            //   895500               | mov                 dword ptr [ebp], edx

        $sequence_22 = { 6880000000 6800000400 8bce e8???????? }
            // n = 4, score = 500
            //   6880000000           | push                0x80
            //   6800000400           | push                0x40000
            //   8bce                 | mov                 ecx, esi
            //   e8????????           |                     

        $sequence_23 = { 8bf9 81e7ff000000 03f2 03f7 }
            // n = 4, score = 500
            //   8bf9                 | mov                 edi, ecx
            //   81e7ff000000         | and                 edi, 0xff
            //   03f2                 | add                 esi, edx
            //   03f7                 | add                 esi, edi

        $sequence_24 = { ffd6 8d44240c 6804010000 50 }
            // n = 4, score = 400
            //   ffd6                 | call                esi
            //   8d44240c             | lea                 eax, [esp + 0xc]
            //   6804010000           | push                0x104
            //   50                   | push                eax

        $sequence_25 = { 83c504 50 895500 83c504 e8???????? d1e0 }
            // n = 6, score = 400
            //   83c504               | add                 ebp, 4
            //   50                   | push                eax
            //   895500               | mov                 dword ptr [ebp], edx
            //   83c504               | add                 ebp, 4
            //   e8????????           |                     
            //   d1e0                 | shl                 eax, 1

        $sequence_26 = { 6a00 6a00 50 8bce e8???????? 6a00 }
            // n = 6, score = 400
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   50                   | push                eax
            //   8bce                 | mov                 ecx, esi
            //   e8????????           |                     
            //   6a00                 | push                0

        $sequence_27 = { 51 ff15???????? a1???????? b981000000 }
            // n = 4, score = 400
            //   51                   | push                ecx
            //   ff15????????         |                     
            //   a1????????           |                     
            //   b981000000           | mov                 ecx, 0x81

        $sequence_28 = { 750c ff15???????? 53 e9???????? }
            // n = 4, score = 400
            //   750c                 | jne                 0xe
            //   ff15????????         |                     
            //   53                   | push                ebx
            //   e9????????           |                     

        $sequence_29 = { 0f8599000000 53 56 57 b940000000 }
            // n = 5, score = 300
            //   0f8599000000         | jne                 0x9f
            //   53                   | push                ebx
            //   56                   | push                esi
            //   57                   | push                edi
            //   b940000000           | mov                 ecx, 0x40

        $sequence_30 = { ffd6 eb06 8b35???????? a1???????? 3bc3 7403 50 }
            // n = 7, score = 300
            //   ffd6                 | call                esi
            //   eb06                 | jmp                 8
            //   8b35????????         |                     
            //   a1????????           |                     
            //   3bc3                 | cmp                 eax, ebx
            //   7403                 | je                  5
            //   50                   | push                eax

        $sequence_31 = { 68ff0f1f00 ff15???????? 85c0 740a }
            // n = 4, score = 300
            //   68ff0f1f00           | push                0x1f0fff
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   740a                 | je                  0xc

        $sequence_32 = { 8d542414 6a00 52 68???????? 6a00 ff15???????? }
            // n = 6, score = 300
            //   8d542414             | lea                 edx, [esp + 0x14]
            //   6a00                 | push                0
            //   52                   | push                edx
            //   68????????           |                     
            //   6a00                 | push                0
            //   ff15????????         |                     

        $sequence_33 = { 85c0 740a 56 50 ff15???????? 8bf0 }
            // n = 6, score = 300
            //   85c0                 | test                eax, eax
            //   740a                 | je                  0xc
            //   56                   | push                esi
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8bf0                 | mov                 esi, eax

        $sequence_34 = { 33c0 8dbc245e020000 66899c245c020000 f3ab }
            // n = 4, score = 300
            //   33c0                 | xor                 eax, eax
            //   8dbc245e020000       | lea                 edi, [esp + 0x25e]
            //   66899c245c020000     | mov                 word ptr [esp + 0x25c], bx
            //   f3ab                 | rep stosd           dword ptr es:[edi], eax

        $sequence_35 = { 7403 50 ffd6 b912010000 33c0 }
            // n = 5, score = 300
            //   7403                 | je                  5
            //   50                   | push                eax
            //   ffd6                 | call                esi
            //   b912010000           | mov                 ecx, 0x112
            //   33c0                 | xor                 eax, eax

        $sequence_36 = { f3ab aa b9f9000000 33c0 }
            // n = 4, score = 300
            //   f3ab                 | rep stosd           dword ptr es:[edi], eax
            //   aa                   | stosb               byte ptr es:[edi], al
            //   b9f9000000           | mov                 ecx, 0xf9
            //   33c0                 | xor                 eax, eax

        $sequence_37 = { 56 3bc3 57 740b 8b35???????? 50 }
            // n = 6, score = 300
            //   56                   | push                esi
            //   3bc3                 | cmp                 eax, ebx
            //   57                   | push                edi
            //   740b                 | je                  0xd
            //   8b35????????         |                     
            //   50                   | push                eax

        $sequence_38 = { 6801000080 ff15???????? 85c0 0f8599000000 53 }
            // n = 5, score = 300
            //   6801000080           | push                0x80000001
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   0f8599000000         | jne                 0x9f
            //   53                   | push                ebx

        $sequence_39 = { 68???????? 51 ff15???????? 8b54240c 8bf0 }
            // n = 5, score = 300
            //   68????????           |                     
            //   51                   | push                ecx
            //   ff15????????         |                     
            //   8b54240c             | mov                 edx, dword ptr [esp + 0xc]
            //   8bf0                 | mov                 esi, eax

        $sequence_40 = { 40 81c408010000 c3 83c8ff }
            // n = 4, score = 300
            //   40                   | inc                 eax
            //   81c408010000         | add                 esp, 0x108
            //   c3                   | ret                 
            //   83c8ff               | or                  eax, 0xffffffff

        $sequence_41 = { 5e 24fe 5b 40 }
            // n = 4, score = 300
            //   5e                   | pop                 esi
            //   24fe                 | and                 al, 0xfe
            //   5b                   | pop                 ebx
            //   40                   | inc                 eax

        $sequence_42 = { 83c9ff 33c0 68003e0000 f2ae f7d1 2bf9 }
            // n = 6, score = 100
            //   83c9ff               | or                  ecx, 0xffffffff
            //   33c0                 | xor                 eax, eax
            //   68003e0000           | push                0x3e00
            //   f2ae                 | repne scasb         al, byte ptr es:[edi]
            //   f7d1                 | not                 ecx
            //   2bf9                 | sub                 edi, ecx

        $sequence_43 = { 50 8b4308 6a02 57 ffd0 85c0 750c }
            // n = 7, score = 100
            //   50                   | push                eax
            //   8b4308               | mov                 eax, dword ptr [ebx + 8]
            //   6a02                 | push                2
            //   57                   | push                edi
            //   ffd0                 | call                eax
            //   85c0                 | test                eax, eax
            //   750c                 | jne                 0xe

        $sequence_44 = { a0???????? 884102 ba???????? 8bf2 8a02 42 }
            // n = 6, score = 100
            //   a0????????           |                     
            //   884102               | mov                 byte ptr [ecx + 2], al
            //   ba????????           |                     
            //   8bf2                 | mov                 esi, edx
            //   8a02                 | mov                 al, byte ptr [edx]
            //   42                   | inc                 edx

        $sequence_45 = { 51 8b0d???????? 8d85c4f0ffff 6a05 6a04 50 }
            // n = 6, score = 100
            //   51                   | push                ecx
            //   8b0d????????         |                     
            //   8d85c4f0ffff         | lea                 eax, [ebp - 0xf3c]
            //   6a05                 | push                5
            //   6a04                 | push                4
            //   50                   | push                eax

        $sequence_46 = { 8bc7 83e03f 6bc830 8b049578c14100 f644082801 7421 57 }
            // n = 7, score = 100
            //   8bc7                 | mov                 eax, edi
            //   83e03f               | and                 eax, 0x3f
            //   6bc830               | imul                ecx, eax, 0x30
            //   8b049578c14100       | mov                 eax, dword ptr [edx*4 + 0x41c178]
            //   f644082801           | test                byte ptr [eax + ecx + 0x28], 1
            //   7421                 | je                  0x23
            //   57                   | push                edi

        $sequence_47 = { 85f6 7439 8d4dd0 68???????? 51 c745d0306e4000 }
            // n = 6, score = 100
            //   85f6                 | test                esi, esi
            //   7439                 | je                  0x3b
            //   8d4dd0               | lea                 ecx, [ebp - 0x30]
            //   68????????           |                     
            //   51                   | push                ecx
            //   c745d0306e4000       | mov                 dword ptr [ebp - 0x30], 0x406e30

        $sequence_48 = { ff15???????? 85c0 7421 6a3f 8d85fcfeffff }
            // n = 5, score = 100
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   7421                 | je                  0x23
            //   6a3f                 | push                0x3f
            //   8d85fcfeffff         | lea                 eax, [ebp - 0x104]

        $sequence_49 = { 6a00 ff15???????? 8bf8 85ff 7503 5f 5e }
            // n = 7, score = 100
            //   6a00                 | push                0
            //   ff15????????         |                     
            //   8bf8                 | mov                 edi, eax
            //   85ff                 | test                edi, edi
            //   7503                 | jne                 5
            //   5f                   | pop                 edi
            //   5e                   | pop                 esi

        $sequence_50 = { 5d c20c00 ffb5f8efffff 8b35???????? }
            // n = 4, score = 100
            //   5d                   | pop                 ebp
            //   c20c00               | ret                 0xc
            //   ffb5f8efffff         | push                dword ptr [ebp - 0x1008]
            //   8b35????????         |                     

        $sequence_51 = { 51 e8???????? 8d942404030000 68???????? 52 }
            // n = 5, score = 100
            //   51                   | push                ecx
            //   e8????????           |                     
            //   8d942404030000       | lea                 edx, [esp + 0x304]
            //   68????????           |                     
            //   52                   | push                edx

        $sequence_52 = { 50 51 e8???????? 8b742430 83c41c }
            // n = 5, score = 100
            //   50                   | push                eax
            //   51                   | push                ecx
            //   e8????????           |                     
            //   8b742430             | mov                 esi, dword ptr [esp + 0x30]
            //   83c41c               | add                 esp, 0x1c

    condition:
        7 of them and filesize < 263168
}
[TLP:WHITE] win_korlia_w0   (20180125 | No description)
rule win_korlia_w0 { 
    meta:
        author = "Nick Hoffman" 
        company = "CBTS - ACS"
        information = "korlia malware found in apt dump" 
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.korlia"
        malpedia_version = "20180125"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"

        //case a
        //b2 1f mov dl, 0x1f ; mov key (wildcard) 
        // ----------------- 
        //8A 86 98 40 00 71 mov al, byte ptr url[esi]
        //BF 98 40 00 71 mov edi, offset url 
        //32 C2 xor al, dl 
        //83 C9 FF or ecx, 0FFFFFFFFh 
        //88 86 98 40 00 71 mov byte ptr url[esi], al 
        //33 C0 xor eax, eax 
        //46 inc esi 
        //F2 AE repne scasb 
        //F7 D1 not ecx 
        //49 dec ecx 
        //3B F1 cmp esi, ecx 
        //72 DE jb short loc_71001DE0

        //case b (variant of loop a) 
        //8A 8A 28 50 40 00 mov cl, byte_405028[edx] 
        //BF 28 50 40 00 mov edi, offset byte_405028 
        //32 CB xor cl, bl 
        //33 C0 xor eax, eax 
        //88 8A 28 50 40 00 mov byte_405028[edx], cl
        //83 C9 FF or ecx, 0FFFFFFFFh 
        //42 inc edx 
        //F2 AE repne scasb 
        //F7 D1 not ecx 
        //49 dec ecx 
        //3B D1 cmp edx, ecx 
        //72 DE jb short loc_4047F2 

        //case c (not a variant of the above loop) 
        //8A 0C 28 mov cl, [eax+ebp] 
        //80 F1 28 xor cl, 28h 
        //88 0C 28 mov [eax+ebp], cl 
        //8B 4C 24 14 mov ecx, [esp+0D78h+var_D64]
        //40 inc eax 
        //3B C1 cmp eax, ecx 
        //7C EE jl short loc_404F1C 

    strings:
        $a = {b2 ?? 8A 86 98 40 00 71 BF 98 40 00 71 32 c2 83 C9 FF 88 86 98 40 00 71 33 C0 46 F2 AE F7 D1 49 3B F1} 
        $b = {B3 ?? ?? ?? 8A 8A 28 50 40 00 BF 28 50 40 00 32 CB 33 C0 88 8A 28 50 40 00 83 C9 FF 42 F2 AE F7 D1 49 3B D1} 
        $c = {8A 0C 28 80 F1 ?? 88 0C 28 8B 4C 24 14 40 3B C1} 
        $d = {00 62 69 73 6F 6E 61 6C 00} //config marker "\x00bisonal\x00"
    condition:
        any of them 
}
[TLP:WHITE] win_korlia_w1   (20210204 | rule to detect korlia/bisonal)
rule win_korlia_w1 { 
    meta: 
        author = "pinksawtooth"
        source = "https://github.com/nao-sec/yara_rules/blob/master/Malware/bisonal.yar"
        reference = "https://www.paloaltonetworks.jp/company/in-the-news/2018/unit42-bisonal-malware-used-attacks-russia-south-korea"
        description = "rule to detect korlia/bisonal"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.korlia"
        malpedia_rule_date = "20210204"
        malpedia_hash = ""
        malpedia_version = "20210204"
        malpedia_license = "CC BY-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
    strings: 
        $s1 = "akspbu.txt" ascii wide 
        $s2 = "ks8d" ascii wide 
        $s3 = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322" ascii wide 
        /* bisonal_decode_jsac */ 
        $decode = { bb bf 58 00 00 [0-2] 8d 0c 40 c1 e1 04 2b c8 8d 0c 49 8d 0c 89 8d 0c c9 8d 04 48 83 c9 ff } 
    condition: 
            uint16(0) == 0x5A4D 
        and
            (all of ($s*) or $decode) 
}
Download all Yara Rules