SYMBOLCOMMON_NAMEaka. SYNONYMS
win.kazuar (Back to overview)

Kazuar

Actor(s): Turla

VTCollection    

There is no description at this point.

References
2026-06-25 ⋅ Google ⋅ Google Threat Intelligence Group
The Latest Addition to Turla’s Intelligence Gathering Apparatus
Kazuar
2026-05-14 ⋅ Microsoft ⋅ Microsoft Threat Intelligence
Kazuar: Anatomy of a nation-state botnet
Kazuar
2026-01-14 ⋅ R136a1 ⋅ Dominik Reichel
COMmand & Evade: Turla's Kazuar v3 Loader
Kazuar Turla
2024-12-11 ⋅ Microsoft ⋅ Microsoft Threat Intelligence
Frequent freeloader part II: Russian actor Secret Blizzard using tools of other groups to attack Ukraine
Amadey Kazuar Wipbot FlyingYeti
2023-10-31 ⋅ Palo Alto Networks Unit 42 ⋅ Daniel Frank, Tom Fakterman
Over the Kazuar’s Nest: Cracking Down on a Freshly Hatched Backdoor Used by Pensive Ursa (Aka Turla)
Kazuar
2023-08-30 ⋅ Kaspersky Labs ⋅ David Emm
IT threat evolution in Q2 2023
3CX Backdoor Bankshot BLINDINGCAN GoldMax Kazuar QUIETCANARY tomiris GoldenJackal
2023-07-19 ⋅ Twitter (@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-18 ⋅ Cert-UA ⋅ Cert-UA
Targeted Turla attacks (UAC-0024, UAC-0003) using CAPIBAR and KAZUAR malware (CERT-UA#6981)
DeliveryCheck Kazuar
2023-04-24 ⋅ Kaspersky Labs ⋅ Ivan 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-12 ⋅ YouTube (BSidesBoulder) ⋅ Kaspersky, Kurt Baumgartner
Same and Different - sesame street level attribution
Kazuar SUNBURST
2021-04-27 ⋅ Kaspersky ⋅ GReAT
APT trends report Q1 2021
PAS Artra Downloader BadNews Bozok DILLJUICE Kazuar Quasar RAT SodaMaster
2021-01-11 ⋅ Kaspersky Labs ⋅ Costin Raiu, Georgy Kucherin, Igor Kuznetsov
Sunburst backdoor – code overlaps with Kazuar
Kazuar SUNBURST
2020-10-28 ⋅ Accenture ⋅ Cyber Defense
Turla uses HyperStack, Carbon, and Kazuar to compromise government entity
Cobra Carbon System Kazuar TurlaRPC Turla SilentMoon
2020-05-28 ⋅ EpicTurla ⋅ Juan Andrés Guerrero-Saade
SysInTURLA
Kazuar
2020-05-21 ⋅ PICUS Security ⋅ Süleyman Özarslan
T1055 Process Injection
BlackEnergy Cardinal RAT Downdelph Emotet Kazuar RokRAT SOUNDBITE
2020-03-03 ⋅ PWC UK ⋅ PWC 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-03 ⋅ Palo Alto Networks Unit 42 ⋅ Brandon Levene, Robert Falcone, Tyler Halfpop
Kazuar: Multiplatform Espionage Backdoor with API Access
Kazuar
Yara Rules
[TLP:WHITE] win_kazuar_auto (20260917 | Detects win.kazuar.)
rule win_kazuar_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        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 = "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 = { 4889442428 c744242000000000 ff15???????? 90 }
            // n = 4, score = 300
            //   4889442428           | dec                 esp
            //   c744242000000000     | add                 ecx, ebx
            //   ff15????????         |                     
            //   90                   | mov                 esi, dword ptr [ecx + 0x88]

        $sequence_1 = { c744240400000000 668945f2 8d45ec c7042400000000 8944240c 8d45f0 }
            // n = 6, score = 300
            //   c744240400000000     | dec                 eax
            //   668945f2             | lea                 ecx, [0xfb1]
            //   8d45ec               | dec                 eax
            //   c7042400000000       | mov                 ecx, eax
            //   8944240c             | xor                 eax, eax
            //   8d45f0               | dec                 eax

        $sequence_2 = { 668945f0 83c002 c744240400000000 668945f2 }
            // n = 4, score = 300
            //   668945f0             | cmp                 ebx, ebx
            //   83c002               | je                  0x1c1
            //   c744240400000000     | dec                 ebp
            //   668945f2             | test                ebx, ebx

        $sequence_3 = { 83b98c00000000 7449 4c01de 31db 8b6e20 }
            // n = 5, score = 300
            //   83b98c00000000       | dec                 eax
            //   7449                 | mov                 dword ptr [esp + 0x28], eax
            //   4c01de               | mov                 dword ptr [esp + 0x20], 0
            //   31db                 | dec                 eax
            //   8b6e20               | lea                 ebx, [esp + 0x2c]

        $sequence_4 = { 7506 498b4310 eb0f 4d8b1b }
            // n = 4, score = 300
            //   7506                 | mov                 edx, dword ptr [eax]
            //   498b4310             | mov                 dword ptr [esp], eax
            //   eb0f                 | push                edx
            //   4d8b1b               | jns                 0xf9

        $sequence_5 = { 31d2 31c9 01c0 4c89442438 6689442430 4c8d442430 83c002 }
            // n = 7, score = 300
            //   31d2                 | mov                 dword ptr [esp + 4], eax
            //   31c9                 | mov                 dword ptr [esp], 0
            //   01c0                 | mov                 dword ptr [esp + 0x10], edx
            //   4c89442438           | call                ecx
            //   6689442430           | mov                 dword ptr [esp + 4], edi
            //   4c8d442430           | mov                 dword ptr [esp], eax
            //   83c002               | mov                 dword ptr [esp + 8], edx

        $sequence_6 = { 7452 83b98c00000000 7449 4c01de 31db }
            // n = 5, score = 300
            //   7452                 | mov                 ecx, edi
            //   83b98c00000000       | dec                 eax
            //   7449                 | test                ebx, ebx
            //   4c01de               | je                  0x4a1
            //   31db                 | dec                 ecx

        $sequence_7 = { 89e5 e8???????? 85c0 740a }
            // n = 4, score = 300
            //   89e5                 | mov                 edx, 0x4e9dd05b
            //   e8????????           |                     
            //   85c0                 | test                eax, eax
            //   740a                 | je                  0x40e

        $sequence_8 = { 7463 4863493c 4c01d9 8bb188000000 85f6 7452 }
            // n = 6, score = 300
            //   7463                 | ret                 
            //   4863493c             | dec                 eax
            //   4c01d9               | sub                 esp, 0x48
            //   8bb188000000         | xor                 edx, edx
            //   85f6                 | dec                 eax
            //   7452                 | test                eax, eax

        $sequence_9 = { 89c2 89e5 e8???????? 85c0 }
            // n = 4, score = 300
            //   89c2                 | jns                 0x2e2
            //   89e5                 | sub                 esp, 0x10
            //   e8????????           |                     
            //   85c0                 | test                eax, eax

    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