SYMBOLCOMMON_NAMEaka. SYNONYMS
win.kagent (Back to overview)

KAgent

Actor(s): Cleaver


There is no description at this point.

References
2016-04-06CylanceCylance
@techreport{cylance:20160406:operation:d4da7b5, author = {Cylance}, title = {{Operation Cleaver}}, date = {2016-04-06}, institution = {Cylance}, url = {https://www.cylance.com/content/dam/cylance/pages/operation-cleaver/Cylance_Operation_Cleaver_Report.pdf}, language = {English}, urldate = {2020-01-10} } Operation Cleaver
CsExt Jasus KAgent NetC PvzOut SynFlooder TinyZbot WndTest ZhCat ZhMimikatz Cleaver
Yara Rules
[TLP:WHITE] win_kagent_auto (20220516 | Detects win.kagent.)
rule win_kagent_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2022-05-16"
        version = "1"
        description = "Detects win.kagent."
        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.kagent"
        malpedia_rule_date = "20220513"
        malpedia_hash = "7f4b2229e6ae614d86d74917f6d5b41890e62a26"
        malpedia_version = "20220516"
        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 = { 880c02 40 84c9 75f6 83fb10 7209 }
            // n = 6, score = 400
            //   880c02               | mov                 byte ptr [edx + eax], cl
            //   40                   | inc                 eax
            //   84c9                 | test                cl, cl
            //   75f6                 | jne                 0xfffffff8
            //   83fb10               | cmp                 ebx, 0x10
            //   7209                 | jb                  0xb

        $sequence_1 = { c645fc06 884b60 0f90c1 f7d9 0bc8 51 e8???????? }
            // n = 7, score = 400
            //   c645fc06             | mov                 byte ptr [ebp - 4], 6
            //   884b60               | mov                 byte ptr [ebx + 0x60], cl
            //   0f90c1               | seto                cl
            //   f7d9                 | neg                 ecx
            //   0bc8                 | or                  ecx, eax
            //   51                   | push                ecx
            //   e8????????           |                     

        $sequence_2 = { c7433400000000 83c404 668908 b801000000 ba02000000 f7e2 c645fc04 }
            // n = 7, score = 400
            //   c7433400000000       | mov                 dword ptr [ebx + 0x34], 0
            //   83c404               | add                 esp, 4
            //   668908               | mov                 word ptr [eax], cx
            //   b801000000           | mov                 eax, 1
            //   ba02000000           | mov                 edx, 2
            //   f7e2                 | mul                 edx
            //   c645fc04             | mov                 byte ptr [ebp - 4], 4

        $sequence_3 = { 740f 50 e8???????? 83c404 89b5bcfcffff }
            // n = 5, score = 400
            //   740f                 | je                  0x11
            //   50                   | push                eax
            //   e8????????           |                     
            //   83c404               | add                 esp, 4
            //   89b5bcfcffff         | mov                 dword ptr [ebp - 0x344], esi

        $sequence_4 = { e8???????? 83c404 897ddc 8b45d0 3bc7 740c }
            // n = 6, score = 400
            //   e8????????           |                     
            //   83c404               | add                 esp, 4
            //   897ddc               | mov                 dword ptr [ebp - 0x24], edi
            //   8b45d0               | mov                 eax, dword ptr [ebp - 0x30]
            //   3bc7                 | cmp                 eax, edi
            //   740c                 | je                  0xe

        $sequence_5 = { 0f90c1 8d7308 c6460800 f7d9 0bc8 51 }
            // n = 6, score = 400
            //   0f90c1               | seto                cl
            //   8d7308               | lea                 esi, [ebx + 8]
            //   c6460800             | mov                 byte ptr [esi + 8], 0
            //   f7d9                 | neg                 ecx
            //   0bc8                 | or                  ecx, eax
            //   51                   | push                ecx

        $sequence_6 = { 0fbec0 0fbe9c05fcfeffff 8a441701 42 3c3d 7504 }
            // n = 6, score = 400
            //   0fbec0               | movsx               eax, al
            //   0fbe9c05fcfeffff     | movsx               ebx, byte ptr [ebp + eax - 0x104]
            //   8a441701             | mov                 al, byte ptr [edi + edx + 1]
            //   42                   | inc                 edx
            //   3c3d                 | cmp                 al, 0x3d
            //   7504                 | jne                 6

        $sequence_7 = { 83c020 50 ff15???????? 5d c3 8b0d???????? 8b15???????? }
            // n = 7, score = 400
            //   83c020               | add                 eax, 0x20
            //   50                   | push                eax
            //   ff15????????         |                     
            //   5d                   | pop                 ebp
            //   c3                   | ret                 
            //   8b0d????????         |                     
            //   8b15????????         |                     

        $sequence_8 = { 3bd0 7f42 8b4d08 8b5104 8b4d0c 8b7104 668b0c5a }
            // n = 7, score = 400
            //   3bd0                 | cmp                 edx, eax
            //   7f42                 | jg                  0x44
            //   8b4d08               | mov                 ecx, dword ptr [ebp + 8]
            //   8b5104               | mov                 edx, dword ptr [ecx + 4]
            //   8b4d0c               | mov                 ecx, dword ptr [ebp + 0xc]
            //   8b7104               | mov                 esi, dword ptr [ecx + 4]
            //   668b0c5a             | mov                 cx, word ptr [edx + ebx*2]

        $sequence_9 = { c645d400 f7d9 0bc8 51 e8???????? 33c9 }
            // n = 6, score = 400
            //   c645d400             | mov                 byte ptr [ebp - 0x2c], 0
            //   f7d9                 | neg                 ecx
            //   0bc8                 | or                  ecx, eax
            //   51                   | push                ecx
            //   e8????????           |                     
            //   33c9                 | xor                 ecx, ecx

    condition:
        7 of them and filesize < 4972544
}
[TLP:WHITE] win_kagent_w0   (20170521 | Backdoor used by attackers in Operation Cleaver)
rule win_kagent_w0 {
	meta:
		description = "Backdoor used by attackers in Operation Cleaver"
		reference = "http://cylance.com/assets/Cleaver/Cylance_Operation_Cleaver_Report.pdf"
		date = "2014/12/02"
		author = "Cylance Inc."
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.kagent"
        malpedia_version = "20170521"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
	strings:
		$s1 = "kill command is in last machine, going back"
		$s2 = "message data length in B64: %d Bytes"
	condition:
		all of them
}
Download all Yara Rules