SYMBOLCOMMON_NAMEaka. SYNONYMS
win.kutaki (Back to overview)

Kutaki

VTCollection     URLhaus    

Cofense characterizes Kutaki as a data stealer that uses old-school techniques to detect sandboxes and debugging. Kutaki however works quite well against unhardened virtual machines and other analysis devices. By backdooring a legitimate application, it can fool unsophisticated detection methodologies.

References
2019-01-21CofenseCofense
The Kutaki Malware Bypasses Gateways to Steal Users’ Credentials
Kutaki
Yara Rules
[TLP:WHITE] win_kutaki_auto (20230808 | Detects win.kutaki.)
rule win_kutaki_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.kutaki."
        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.kutaki"
        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 6a01 6880000000 ff15???????? 83c41c c745fc0c000000 }
            // n = 6, score = 700
            //   52                   | push                edx
            //   6a01                 | push                1
            //   6880000000           | push                0x80
            //   ff15????????         |                     
            //   83c41c               | add                 esp, 0x1c
            //   c745fc0c000000       | mov                 dword ptr [ebp - 4], 0xc

        $sequence_1 = { 0f803a020000 8b450c 8910 e9???????? }
            // n = 4, score = 700
            //   0f803a020000         | jo                  0x240
            //   8b450c               | mov                 eax, dword ptr [ebp + 0xc]
            //   8910                 | mov                 dword ptr [eax], edx
            //   e9????????           |                     

        $sequence_2 = { ff15???????? 898528ffffff eb0a c78528ffffff00000000 8d4dc8 ff15???????? }
            // n = 6, score = 700
            //   ff15????????         |                     
            //   898528ffffff         | mov                 dword ptr [ebp - 0xd8], eax
            //   eb0a                 | jmp                 0xc
            //   c78528ffffff00000000     | mov    dword ptr [ebp - 0xd8], 0
            //   8d4dc8               | lea                 ecx, [ebp - 0x38]
            //   ff15????????         |                     

        $sequence_3 = { ff15???????? 898568feffff eb0a c78568feffff00000000 8b459c 50 ff15???????? }
            // n = 7, score = 700
            //   ff15????????         |                     
            //   898568feffff         | mov                 dword ptr [ebp - 0x198], eax
            //   eb0a                 | jmp                 0xc
            //   c78568feffff00000000     | mov    dword ptr [ebp - 0x198], 0
            //   8b459c               | mov                 eax, dword ptr [ebp - 0x64]
            //   50                   | push                eax
            //   ff15????????         |                     

        $sequence_4 = { c745fc3c000000 660fb64dd8 6683e10f 666bc910 0f80c9020000 660fb645c8 6699 }
            // n = 7, score = 700
            //   c745fc3c000000       | mov                 dword ptr [ebp - 4], 0x3c
            //   660fb64dd8           | movzx               cx, byte ptr [ebp - 0x28]
            //   6683e10f             | and                 cx, 0xf
            //   666bc910             | imul                cx, cx, 0x10
            //   0f80c9020000         | jo                  0x2cf
            //   660fb645c8           | movzx               ax, byte ptr [ebp - 0x38]
            //   6699                 | cwd                 

        $sequence_5 = { 8d4580 50 ff15???????? 8985d4feffff 6aff 8b8dd4feffff 8b11 }
            // n = 7, score = 700
            //   8d4580               | lea                 eax, [ebp - 0x80]
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8985d4feffff         | mov                 dword ptr [ebp - 0x12c], eax
            //   6aff                 | push                -1
            //   8b8dd4feffff         | mov                 ecx, dword ptr [ebp - 0x12c]
            //   8b11                 | mov                 edx, dword ptr [ecx]

        $sequence_6 = { 8b45bc 50 8b4db8 51 ff15???????? 898540ffffff }
            // n = 6, score = 700
            //   8b45bc               | mov                 eax, dword ptr [ebp - 0x44]
            //   50                   | push                eax
            //   8b4db8               | mov                 ecx, dword ptr [ebp - 0x48]
            //   51                   | push                ecx
            //   ff15????????         |                     
            //   898540ffffff         | mov                 dword ptr [ebp - 0xc0], eax

        $sequence_7 = { c745fc08000000 6a74 8d855cffffff 50 ff15???????? 6a65 8d8d4cffffff }
            // n = 7, score = 700
            //   c745fc08000000       | mov                 dword ptr [ebp - 4], 8
            //   6a74                 | push                0x74
            //   8d855cffffff         | lea                 eax, [ebp - 0xa4]
            //   50                   | push                eax
            //   ff15????????         |                     
            //   6a65                 | push                0x65
            //   8d8d4cffffff         | lea                 ecx, [ebp - 0xb4]

        $sequence_8 = { 50 68???????? ff15???????? 85c0 0f85bc000000 c745fc1a000000 }
            // n = 6, score = 700
            //   50                   | push                eax
            //   68????????           |                     
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   0f85bc000000         | jne                 0xc2
            //   c745fc1a000000       | mov                 dword ptr [ebp - 4], 0x1a

        $sequence_9 = { 52 ff15???????? 898550ffffff 8b4508 }
            // n = 4, score = 700
            //   52                   | push                edx
            //   ff15????????         |                     
            //   898550ffffff         | mov                 dword ptr [ebp - 0xb0], eax
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]

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