SYMBOLCOMMON_NAMEaka. SYNONYMS
win.kazuar (Back to overview)

Kazuar

Actor(s): Turla

VTCollection    

There is no description at this point.

References
2026-01-14R136a1Dominik Reichel
COMmand & Evade: Turla's Kazuar v3 Loader
Kazuar
2024-12-11MicrosoftMicrosoft Threat Intelligence
Frequent freeloader part II: Russian actor Secret Blizzard using tools of other groups to attack Ukraine
Amadey Kazuar Wipbot FlyingYeti
2023-10-31Palo Alto Networks Unit 42Daniel Frank, Tom Fakterman
Over the Kazuar’s Nest: Cracking Down on a Freshly Hatched Backdoor Used by Pensive Ursa (Aka Turla)
Kazuar
2023-08-30Kaspersky LabsDavid Emm
IT threat evolution in Q2 2023
3CX Backdoor Bankshot BLINDINGCAN GoldMax Kazuar QUIETCANARY tomiris GoldenJackal
2023-07-19Twitter (@MsftSecIntel)Microsoft Threat Intelligence
Tweet on targeted attacks against the defense sector in Ukraine and Eastern Europe by the threat actor Secret Blizzard
DeliveryCheck Kazuar
2023-07-18Cert-UACert-UA
Targeted Turla attacks (UAC-0024, UAC-0003) using CAPIBAR and KAZUAR malware (CERT-UA#6981)
DeliveryCheck Kazuar
2023-04-24Kaspersky LabsIvan Kwiatkowski, Pierre Delcher
Tomiris called, they want their Turla malware back
KopiLuwak Andromeda Ave Maria GoldMax JLORAT Kazuar Meterpreter QUIETCANARY RATel Roopy Telemiris tomiris Topinambour Storm-0473
2021-06-12YouTube (BSidesBoulder)Kaspersky, Kurt Baumgartner
Same and Different - sesame street level attribution
Kazuar SUNBURST
2021-04-27KasperskyGReAT
APT trends report Q1 2021
PAS Artra Downloader BadNews Bozok DILLJUICE Kazuar Quasar RAT SodaMaster
2021-01-11Kaspersky LabsCostin Raiu, Georgy Kucherin, Igor Kuznetsov
Sunburst backdoor – code overlaps with Kazuar
Kazuar SUNBURST
2020-10-28AccentureCyber Defense
Turla uses HyperStack, Carbon, and Kazuar to compromise government entity
Cobra Carbon System Kazuar TurlaRPC Turla SilentMoon
2020-05-28EpicTurlaJuan Andrés Guerrero-Saade
SysInTURLA
Kazuar
2020-05-21PICUS SecuritySüleyman Özarslan
T1055 Process Injection
BlackEnergy Cardinal RAT Downdelph Emotet Kazuar RokRAT SOUNDBITE
2020-03-03PWC UKPWC UK
Cyber Threats 2019:A Year in Retrospect
KevDroid MESSAGETAP magecart AndroMut Cobalt Strike CobInt Crimson RAT DNSpionage Dridex Dtrack Emotet FlawedAmmyy FlawedGrace FriedEx Gandcrab Get2 GlobeImposter Grateful POS ISFB Kazuar LockerGoga Nokki QakBot Ramnit REvil Rifdoor RokRAT Ryuk shadowhammer ShadowPad Shifu Skipper StoneDrill Stuxnet TrickBot Winnti ZeroCleare APT41 MUSTANG PANDA Sea Turtle
2017-05-03Palo Alto Networks Unit 42Brandon Levene, Robert Falcone, Tyler Halfpop
Kazuar: Multiplatform Espionage Backdoor with API Access
Kazuar
Yara Rules
[TLP:WHITE] win_kazuar_auto (20251219 | Detects win.kazuar.)
rule win_kazuar_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-01-05"
        version = "1"
        description = "Detects win.kazuar."
        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.kazuar"
        malpedia_rule_date = "20260105"
        malpedia_hash = "19b79e7cab4eaf532122e5b45a77dd8f6bb5cc79"
        malpedia_version = "20251219"
        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 = { 7452 83b98c00000000 7449 4c01de 31db 8b6e20 448b6618 }
            // n = 7, score = 300
            //   7452                 | sub                 esp, 0x10
            //   83b98c00000000       | test                eax, eax
            //   7449                 | jns                 0x135e
            //   4c01de               | mov                 dword ptr [ebx], eax
            //   31db                 | mov                 dword ptr [ebx + 4], 0x195
            //   8b6e20               | call                ecx
            //   448b6618             | sub                 esp, 0x10

        $sequence_1 = { 83c002 c744240400000000 668945f2 8d45ec c7042400000000 8944240c 8d45f0 }
            // n = 7, score = 300
            //   83c002               | dec                 eax
            //   c744240400000000     | mov                 ecx, ebx
            //   668945f2             | dec                 eax
            //   8d45ec               | test                eax, eax
            //   c7042400000000       | je                  0xfffffffa
            //   8944240c             | dec                 eax
            //   8d45f0               | lea                 edx, [0xf55]

        $sequence_2 = { e8???????? 89c3 e8???????? 01c0 895df4 }
            // n = 5, score = 300
            //   e8????????           |                     
            //   89c3                 | lea                 ecx, [ebx + 8]
            //   e8????????           |                     
            //   01c0                 | mov                 dword ptr [esp + 4], ecx
            //   895df4               | mov                 dword ptr [esp + 0x10], ecx

        $sequence_3 = { 31c0 4885c9 4989cb 89d7 7463 4863493c }
            // n = 6, score = 300
            //   31c0                 | jmp                 0x5d
            //   4885c9               | mov                 eax, dword ptr [esi + 0x24]
            //   4989cb               | dec                 eax
            //   89d7                 | add                 ebx, ebx
            //   7463                 | dec                 esp
            //   4863493c             | add                 ebx, ebx

        $sequence_4 = { 8b0402 4c01d8 eb07 48ffc3 ebc8 31c0 }
            // n = 6, score = 300
            //   8b0402               | inc                 ecx
            //   4c01d8               | mov                 eax, 0x104
            //   eb07                 | dec                 eax
            //   48ffc3               | lea                 ebx, [esp + 0x2c]
            //   ebc8                 | dec                 eax
            //   31c0                 | mov                 edx, ebx

        $sequence_5 = { 8d8b00030000 894c2408 8d4b08 894c2404 ff522c 83ec18 }
            // n = 6, score = 300
            //   8d8b00030000         | dec                 eax
            //   894c2408             | mov                 ecx, ebx
            //   8d4b08               | mov                 dl, 1
            //   894c2404             | mov                 al, dl
            //   ff522c               | dec                 eax
            //   83ec18               | add                 esp, 0x130

        $sequence_6 = { 6685c9 7417 e8???????? 0fb7c0 41ffc1 }
            // n = 5, score = 300
            //   6685c9               | dec                 eax
            //   7417                 | add                 esp, 0x48
            //   e8????????           |                     
            //   0fb7c0               | ret                 
            //   41ffc1               | dec                 eax

        $sequence_7 = { 31c0 4885db 7428 4989db 498b4b40 e8???????? 3d88ae6393 }
            // n = 7, score = 300
            //   31c0                 | sub                 esp, 0xc
            //   4885db               | test                eax, eax
            //   7428                 | jns                 0xdb4
            //   4989db               | mov                 dword ptr [ebx], eax
            //   498b4b40             | mov                 dword ptr [esp + 8], edx
            //   e8????????           |                     
            //   3d88ae6393           | call                ecx

        $sequence_8 = { 7425 e8???????? 39f8 751c 8b4624 4801db }
            // n = 6, score = 300
            //   7425                 | xor                 esi, esi
            //   e8????????           |                     
            //   39f8                 | push                ebx
            //   751c                 | mov                 ebx, eax
            //   8b4624               | add                 ebx, 2
            //   4801db               | movzx               eax, word ptr [ebx - 2]

        $sequence_9 = { 8d8b00030000 894c2408 8d4b08 894c2404 ff522c }
            // n = 5, score = 300
            //   8d8b00030000         | mov                 ebx, dword ptr [eax + 0x3c]
            //   894c2408             | xor                 edi, edi
            //   8d4b08               | sub                 esp, 0xc
            //   894c2404             | test                eax, eax
            //   ff522c               | jns                 0x2e2

    condition:
        7 of them and filesize < 81920
}
[TLP:WHITE] win_kazuar_w0   (20260112 | Detects Turla's KERNEL, WORKER and BRIDGE Kazuar v3)
import "pe"

rule win_kazuar_w0 {

    meta:
        author = "Dominik Reichel"
        description = "Detects Turla's KERNEL, WORKER and BRIDGE Kazuar v3"
        date = "2026-01-12"
        reference = "https://r136a1.dev/2026/01/14/command-and-evade-turlas-kazuar-v3-loader/"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.kazuar"
        malpedia_rule_date = "20260112"
        malpedia_hash = ""
        malpedia_version = "20260112"
        malpedia_license = "CC BY-SA 4.0"
        malpedia_sharing = "TLP:WHITE"

    strings:
        $a0 = "FxResources.System.Buffers"
        $a1 = "FxResources.System.Numerics.Vectors"
        $a2 = "Google.Protobuf.Reflection"
        $a3 = "Google.Protobuf.WellKnownTypes"
        $a4 = "Microsoft.CodeAnalysis"
        $a5 = "System.Diagnostics.CodeAnalysis"
        $a6 = "System.Runtime.InteropServices"

        $b0 = "RequestElection"
        $b1 = "LeaderShutdown"
        $b2 = "ClientAnnouncement"
        $b3 = "LeaderAnnouncement"
        $b4 = "Silence"

        $c0 = "ExchangeWebServices"
        $c1 = "WebSocket"
        $c2 = "HTTP"

        $d0 = "AUTOS"
        $d1 = "GET_CONFIG"
        $d2 = "PEEP"
        $d3 = "CHECK"
        $d4 = "KEYLOG"
        $d5 = "SYN"
        $d6 = "TASK_RESULT"
        $d7 = "CHECK_RESULT"
        $d8 = "CONFIG"
        $d9 = "SEND"
        $d10 = "TASK_KILL"
        $d11 = "SEND_RESULT"
        $d12 = "TASK"

    condition:
        uint16(0) == 0x5A4D and
        uint32(uint32(0x3C)) == 0x00004550 and
        pe.imports("mscoree.dll", "_CorExeMain") and
        (
            (
                4 of ($a*) and
                2 of ($b*)
            ) or
            (
                5 of ($a*) and
                all of ($c*)
            ) or
            (
                5 of ($a*) and
                9 of ($d*)
            ) or
            (
                2 of ($b*) and
                2 of ($c*)
            ) or
            (
                2 of ($b*) and
                6 of ($d*)
            ) or
            (
                all of ($b*)
            ) or
            (
                10 of ($d*)
            )
        )
}
[TLP:WHITE] win_kazuar_w1   (20260112 | Detects Turla's Kazuar v3 native loader)
import "pe"

rule win_kazuar_w1 {

    meta:
        author = "Dominik Reichel"
        description = "Detects Turla's Kazuar v3 native loader"
        date = "2026-01-12"
        reference = "https://r136a1.dev/2026/01/14/command-and-evade-turlas-kazuar-v3-loader/"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.kazuar"
        malpedia_rule_date = "20260112"
        malpedia_hash = ""
        malpedia_version = "20260112"
        malpedia_license = "CC BY-SA 4.0"
        malpedia_sharing = "TLP:WHITE"

    strings:
        $a0 = "%d:%08X"
        $a1 = "Software\\Classes\\" wide
        
        $b0 = {7B 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 2D 00 ?? 00 ?? 00 ?? 00 ?? 00 2D 00 ?? 00 ?? 00 ?? 00 ?? 00 2D 00 ?? 00 ?? 00 ?? 00 ?? 00 2D 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 ?? 00 00 00}

    condition:
        uint16(0) == 0x5A4D and
        uint32(uint32(0x3C)) == 0x00004550 and
        all of ($a*) and
        #b0 >= 3 and 
        pe.imports("dbghelp.dll", "SymInitialize") and
        pe.imports("dbghelp.dll", "SymCleanup") and
        pe.imports("oleaut32.dll", "SafeArrayAccessData") and
        pe.imports("oleaut32.dll", "SafeArrayUnaccessData") and
        pe.imports("ole32.dll", "StringFromCLSID") and
        pe.imports("ole32.dll", "CLSIDFromProgID") and
        pe.imports("ole32.dll", "CLSIDFromString") and
        pe.imports("ole32.dll", "CoUninitialize")
}
[TLP:WHITE] win_kazuar_w2   (20260112 | Detects Turla's Kazuar v3 COM-visible application)
import "pe"

rule win_kazuar_w2 {

    meta:
        author = "Dominik Reichel"
        description = "Detects Turla's Kazuar v3 COM-visible application"
        date = "2026-01-12"
        reference = "https://r136a1.dev/2026/01/14/command-and-evade-turlas-kazuar-v3-loader/"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.kazuar"
        malpedia_rule_date = "20260112"
        malpedia_hash = ""
        malpedia_version = "20260112"
        malpedia_license = "CC BY-SA 4.0"
        malpedia_sharing = "TLP:WHITE"

    strings:
        $a0 = "GetDelegateForFunctionPointer"
        $a1 = "StackFrame"
        $a2 = "GuidAttribute"
        $a3 = "ComVisibleAttribute"
        $a4 = "ClassInterfaceAttribute"
        $a5 = "UnmanagedFunctionPointerAttribute"
        $a6 = "CompilerGeneratedAttribute"
        $a7 = "System.Reflection"
        $a8 = "CallingConvention"
        $a9 = "TargetInvocationException"
        $a10 = "get_InnerException"

        $b0 = "ResourceManager"

    condition:
        uint16(0) == 0x5A4D and
        uint32(uint32(0x3C)) == 0x00004550 and
        pe.imports("mscoree.dll", "_CorDllMain") and
        all of ($a*) and
        filesize < 100KB and not
        $b0
}
Download all Yara Rules