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 (20241030 | Detects win.yahoyah.)
rule win_yahoyah_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2024-10-31"
        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 = "20241030"
        malpedia_hash = "26e26953c49c8efafbf72a38076855d578e0a2e4"
        malpedia_version = "20241030"
        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 = { 50 e8???????? 59 53 53 6a03 0fb7c8 }
            // n = 7, score = 400
            //   50                   | push                eax
            //   e8????????           |                     
            //   59                   | pop                 ecx
            //   53                   | push                ebx
            //   53                   | push                ebx
            //   6a03                 | push                3
            //   0fb7c8               | movzx               ecx, ax

        $sequence_3 = { e8???????? 59 56 56 8d45fc 50 }
            // n = 6, score = 400
            //   e8????????           |                     
            //   59                   | pop                 ecx
            //   56                   | push                esi
            //   56                   | push                esi
            //   8d45fc               | lea                 eax, [ebp - 4]
            //   50                   | push                eax

        $sequence_4 = { 53 6a03 0fb7c8 b8???????? 50 50 51 }
            // n = 7, score = 400
            //   53                   | push                ebx
            //   6a03                 | push                3
            //   0fb7c8               | movzx               ecx, ax
            //   b8????????           |                     
            //   50                   | push                eax
            //   50                   | push                eax
            //   51                   | push                ecx

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

        $sequence_6 = { 7503 41 eb09 33d2 3bd1 1bc9 83e102 }
            // n = 7, score = 400
            //   7503                 | jne                 5
            //   41                   | inc                 ecx
            //   eb09                 | jmp                 0xb
            //   33d2                 | xor                 edx, edx
            //   3bd1                 | cmp                 edx, ecx
            //   1bc9                 | sbb                 ecx, ecx
            //   83e102               | and                 ecx, 2

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

        $sequence_8 = { 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_9 = { c1ea18 52 0fb6d0 52 c1e808 }
            // n = 5, score = 400
            //   c1ea18               | shr                 edx, 0x18
            //   52                   | push                edx
            //   0fb6d0               | movzx               edx, al
            //   52                   | push                edx
            //   c1e808               | shr                 eax, 8

        $sequence_10 = { 68???????? 6890ef0000 68???????? 6a60 }
            // n = 4, score = 300
            //   68????????           |                     
            //   6890ef0000           | push                0xef90
            //   68????????           |                     
            //   6a60                 | push                0x60

        $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 8b761c }
            // n = 6, 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]
            //   8b761c               | mov                 esi, dword ptr [esi + 0x1c]

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

        $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