SYMBOLCOMMON_NAMEaka. SYNONYMS
win.yahoyah (Back to overview)

Yahoyah

aka: KeyBoy

Actor(s): Pirate Panda

VTCollection    

There is no description at this point.

References
2016-11-22Palo Alto Networks Unit 42Jen Miller-Osborn, Robert Falcone, Tom Lancaster, Vicky Ray
Tropic Trooper Targets Taiwanese Government and Fossil Fuel Provider With Poison Ivy
Winsloader Yahoyah APT23
Yara Rules
[TLP:WHITE] win_yahoyah_auto (20230808 | Detects win.yahoyah.)
rule win_yahoyah_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.yahoyah."
        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.yahoyah"
        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 = { ff15???????? 6a02 53 6af0 }
            // n = 4, score = 500
            //   ff15????????         |                     
            //   6a02                 | push                2
            //   53                   | push                ebx
            //   6af0                 | push                -0x10

        $sequence_1 = { 50 6800080000 ff15???????? ff15???????? }
            // n = 4, score = 400
            //   50                   | push                eax
            //   6800080000           | push                0x800
            //   ff15????????         |                     
            //   ff15????????         |                     

        $sequence_2 = { 53 53 56 53 ff15???????? 68d0070000 }
            // n = 6, score = 400
            //   53                   | push                ebx
            //   53                   | push                ebx
            //   56                   | push                esi
            //   53                   | push                ebx
            //   ff15????????         |                     
            //   68d0070000           | push                0x7d0

        $sequence_3 = { 50 e8???????? 83c418 6a02 53 }
            // n = 5, score = 400
            //   50                   | push                eax
            //   e8????????           |                     
            //   83c418               | add                 esp, 0x18
            //   6a02                 | push                2
            //   53                   | push                ebx

        $sequence_4 = { ff15???????? 6a2e 68???????? e8???????? }
            // n = 4, score = 400
            //   ff15????????         |                     
            //   6a2e                 | push                0x2e
            //   68????????           |                     
            //   e8????????           |                     

        $sequence_5 = { e8???????? 59 53 53 6a03 0fb7c8 }
            // n = 6, score = 400
            //   e8????????           |                     
            //   59                   | pop                 ecx
            //   53                   | push                ebx
            //   53                   | push                ebx
            //   6a03                 | push                3
            //   0fb7c8               | movzx               ecx, ax

        $sequence_6 = { 52 c1e808 23c1 50 68???????? }
            // n = 5, score = 400
            //   52                   | push                edx
            //   c1e808               | shr                 eax, 8
            //   23c1                 | and                 eax, ecx
            //   50                   | push                eax
            //   68????????           |                     

        $sequence_7 = { ff15???????? 85c0 7501 c3 56 }
            // n = 5, score = 400
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   7501                 | jne                 3
            //   c3                   | ret                 
            //   56                   | push                esi

        $sequence_8 = { 23d1 52 8bd0 c1ea18 52 0fb6d0 }
            // n = 6, score = 400
            //   23d1                 | and                 edx, ecx
            //   52                   | push                edx
            //   8bd0                 | mov                 edx, eax
            //   c1ea18               | shr                 edx, 0x18
            //   52                   | push                edx
            //   0fb6d0               | movzx               edx, al

        $sequence_9 = { eb19 ff15???????? 0fb7c0 50 68???????? }
            // n = 5, score = 400
            //   eb19                 | jmp                 0x1b
            //   ff15????????         |                     
            //   0fb7c0               | movzx               eax, ax
            //   50                   | push                eax
            //   68????????           |                     

        $sequence_10 = { 6a1a 50 e8???????? bf???????? }
            // n = 4, score = 300
            //   6a1a                 | push                0x1a
            //   50                   | push                eax
            //   e8????????           |                     
            //   bf????????           |                     

        $sequence_11 = { ff15???????? 6a3a 56 e8???????? 8bf0 83c410 }
            // n = 6, score = 300
            //   ff15????????         |                     
            //   6a3a                 | push                0x3a
            //   56                   | push                esi
            //   e8????????           |                     
            //   8bf0                 | mov                 esi, eax
            //   83c410               | add                 esp, 0x10

        $sequence_12 = { 90 33c9 33c0 648b3530000000 8b760c }
            // n = 5, score = 100
            //   90                   | nop                 
            //   33c9                 | xor                 ecx, ecx
            //   33c0                 | xor                 eax, eax
            //   648b3530000000       | mov                 esi, dword ptr fs:[0x30]
            //   8b760c               | mov                 esi, dword ptr [esi + 0xc]

        $sequence_13 = { 90 68add13441 ffb53ffbffff 6a00 e8???????? 898521f1ffff e8???????? }
            // n = 7, score = 100
            //   90                   | nop                 
            //   68add13441           | push                0x4134d1ad
            //   ffb53ffbffff         | push                dword ptr [ebp - 0x4c1]
            //   6a00                 | push                0
            //   e8????????           |                     
            //   898521f1ffff         | mov                 dword ptr [ebp - 0xedf], eax
            //   e8????????           |                     

        $sequence_14 = { 90 90 90 90 90 68add13441 ffb53ffbffff }
            // n = 7, score = 100
            //   90                   | nop                 
            //   90                   | nop                 
            //   90                   | nop                 
            //   90                   | nop                 
            //   90                   | nop                 
            //   68add13441           | push                0x4134d1ad
            //   ffb53ffbffff         | push                dword ptr [ebp - 0x4c1]

    condition:
        7 of them and filesize < 483328
}
[TLP:WHITE] win_yahoyah_w0   (20170517 | Strings inside)
/*
    This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as    long as you use it under this license.

*/
rule win_yahoyah_w0 {  
    meta:
        author      = "Rapid7 Labs"
        date        = "2013/06/07"
        description = "Strings inside"
        reference   = "https://community.rapid7.com/community/infosec/blog/2013/06/07/keyboy-targeted-attacks-against-vietnam-and-india"
		source = "https://github.com/mattulm/sfiles_yara/blob/master/malware/KeyBoy.yar"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.yahoyah"
        malpedia_version = "20170517"
        malpedia_sharing = "TLP:WHITE"
        malpedia_license = ""
        
    strings:
        $1 = "I am Admin"  
        $2 = "I am User"  
        $3 = "Run install success!"  
        $4 = "Service install success!"  
        $5 = "Something Error!"  
        $6 = "Not Configed, Exiting"  

    condition:  
        all of them  
}
[TLP:WHITE] win_yahoyah_w1   (20170517 | Strings inside)
rule win_yahoyah_w1 {
    meta:
        author      = "Rapid7 Labs"
        date        = "2013/06/07"
        description = "Strings inside"
        reference   = "https://community.rapid7.com/community/infosec/blog/2013/06/07/keyboy-targeted-attacks-against-vietnam-and-india"
		source = "https://github.com/mattulm/sfiles_yara/blob/master/malware/KeyBoy.yar"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.yahoyah"
        malpedia_version = "20170517"
        malpedia_sharing = "TLP:WHITE"
        malpedia_license = ""
        
    strings:  
        $1 = "$login$"  
        $2 = "$sysinfo$"  
        $3 = "$shell$"  
        $4 = "$fileManager$"  
        $5 = "$fileDownload$"  
        $6 = "$fileUpload$"  

    condition:  
        all of them  
}
Download all Yara Rules