SYMBOLCOMMON_NAMEaka. SYNONYMS
win.ktlv_door (Back to overview)

KTLVdoor

Actor(s): Earth Lusca

VTCollection    

According to Trend Micro, KTLVdoor is a highly obfuscated malware that masquerades as different system utilities, allowing attackers to carry out a variety of tasks including file manipulation, command execution, and remote port scanning.

References
2024-09-04 ⋅ Trend Micro ⋅ Cedric Pernet, Jaromír Hořejší
Earth Lusca Uses KTLVdoor Backdoor for Multiplatform Intrusion
KTLVdoor KTLVdoor
Yara Rules
[TLP:WHITE] win_ktlv_door_auto (20260917 | Detects win.ktlv_door.)
rule win_ktlv_door_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.ktlv_door."
        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.ktlv_door"
        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 = { 7326 4889742440 4889c3 4889cf 488d05437f0700 4889f1 4889d6 }
            // n = 7, score = 100
            //   7326                 | nop                 
            //   4889742440           | nop                 
            //   4889c3               | dec                 eax
            //   4889cf               | lea                 eax, [0x64b213]
            //   488d05437f0700       | dec                 eax
            //   4889f1               | test                eax, eax
            //   4889d6               | jne                 0xafa

        $sequence_1 = { 4981f800010000 7dce 4c89842498000000 4531c9 eb35 4c8b9424e0000000 4d8d4a01 }
            // n = 7, score = 100
            //   4981f800010000       | movups              xmmword ptr [esp + 0x70], xmm7
            //   7dce                 | inc                 esp
            //   4c89842498000000     | movups              xmmword ptr [esp + 0x80], xmm7
            //   4531c9               | dec                 eax
            //   eb35                 | lea                 esi, [0x2e0]
            //   4c8b9424e0000000     | dec                 eax
            //   4d8d4a01             | mov                 dword ptr [esp + 0x70], esi

        $sequence_2 = { e8???????? 48c7401012000000 488d0d85103900 48894808 833d????????00 90 7509 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   48c7401012000000     | inc                 esp
            //   488d0d85103900       | movups              xmmword ptr [esp + 0xb10], xmm7
            //   48894808             | inc                 esp
            //   833d????????00       |                     
            //   90                   | movups              xmmword ptr [esp + 0xb20], xmm7
            //   7509                 | dec                 eax

        $sequence_3 = { eb0d 4889c7 488b442430 e8???????? e8???????? 4889c1 4889df }
            // n = 7, score = 100
            //   eb0d                 | mov                 esi, dword ptr [esp + 0x50]
            //   4889c7               | dec                 esp
            //   488b442430           | mov                 eax, dword ptr [esp + 0x90]
            //   e8????????           |                     
            //   e8????????           |                     
            //   4889c1               | dec                 eax
            //   4889df               | mov                 ebx, eax

        $sequence_4 = { 84c0 7520 488b542468 488b7c2450 488b7220 4c8b4218 4885f6 }
            // n = 7, score = 100
            //   84c0                 | mov                 dword ptr [esp + 0x18], ecx
            //   7520                 | dec                 eax
            //   488b542468           | mov                 dword ptr [esp + 0x20], 0xc
            //   488b7c2450           | dec                 eax
            //   488b7220             | mov                 dword ptr [esp + 0x28], 0xc
            //   4c8b4218             | dec                 eax
            //   4885f6               | lea                 edx, [esp + 0xe8]

        $sequence_5 = { e8???????? 450f57ff 654c8b342528000000 4d8bb600000000 90 90 488d0553486a00 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   450f57ff             | mov                 eax, dword ptr [esp + 0xee0]
            //   654c8b342528000000     | dec    esp
            //   4d8bb600000000       | mov                 edi, dword ptr [esp + 0xed8]
            //   90                   | dec                 ecx
            //   90                   | mul                 edi
            //   488d0553486a00       | dec                 eax

        $sequence_6 = { eb0c 488d3d3ba03c00 e8???????? e8???????? 48891d???????? 833d????????00 7509 }
            // n = 7, score = 100
            //   eb0c                 | dec                 eax
            //   488d3d3ba03c00       | mov                 edi, ecx
            //   e8????????           |                     
            //   e8????????           |                     
            //   48891d????????       |                     
            //   833d????????00       |                     
            //   7509                 | dec                 eax

        $sequence_7 = { e8???????? ebd6 4885d2 742b 4c898110010000 4889b118010000 488d0517264100 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   ebd6                 | mov                 ebx, eax
            //   4885d2               | dec                 eax
            //   742b                 | mov                 edi, ecx
            //   4c898110010000       | dec                 eax
            //   4889b118010000       | lea                 eax, [0xb4f30]
            //   488d0517264100       | dec                 eax

        $sequence_8 = { bb38000000 e8???????? 90 e8???????? 4889442440 bb56000000 488d05b1be1100 }
            // n = 7, score = 100
            //   bb38000000           | mov                 edx, dword ptr [eax + 0x50]
            //   e8????????           |                     
            //   90                   | dec                 eax
            //   e8????????           |                     
            //   4889442440           | test                edx, edx
            //   bb56000000           | je                  0xce3
            //   488d05b1be1100       | dec                 eax

        $sequence_9 = { 90 488b4c2468 4885c9 7416 4889cb 48c1e303 488b442460 }
            // n = 7, score = 100
            //   90                   | dec                 eax
            //   488b4c2468           | mov                 edx, 0x65663134
            //   4885c9               | cmp                 byte ptr [eax], bh
            //   7416                 | arpl                word ptr [eax], di
            //   4889cb               | dec                 eax
            //   48c1e303             | mov                 dword ptr [esp + 0x28], edx
            //   488b442460           | dec                 eax

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