SYMBOLCOMMON_NAMEaka. SYNONYMS
win.xxmm (Back to overview)

xxmm

aka: ShadowWalker

Actor(s): Tick

VTCollection    

There is no description at this point.

References
2020-01-28Macnica NetworksMacnica Networks
Tick ​​Group Aiming at Japanese Manufacturing
Datper xxmm
2020-01-01SecureworksSecureWorks
BRONZE BUTLER
Daserf xxmm Tick
2019-01-18Dell SecureworksYou Nakatsuru
Understanding Command and Control - An Anatomy of xxmm Communication
xxmm
2018-10-01Macnica NetworksMacnica Networks
Trends in cyber espionage (targeted attacks) targeting Japan | First half of 2018
Anel Cobalt Strike Datper FlawedAmmyy Quasar RAT RedLeaves taidoor Winnti xxmm
2017-11-07Trend MicroTrendmicro
REDBALDKNIGHT/BRONZE BUTLER’s Daserf Backdoor Now Using Steganography
Daserf Datper xxmm
2017-10-12SecureworksCTU Research Team
BRONZE BUTLER Targets Japanese Enterprises
Daserf Datper rarstar xxmm Tick
2017-04-25CybereasonAssaf Dahan
ShadowWali: New variant of the xxmm family of backdoors
xxmm
Yara Rules
[TLP:WHITE] win_xxmm_auto (20260504 | Detects win.xxmm.)
rule win_xxmm_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.xxmm."
        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.xxmm"
        malpedia_rule_date = "20260422"
        malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14"
        malpedia_version = "20260504"
        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 = { 8b00 03c1 8945e4 eb31 81fbaafc0d7c }
            // n = 5, score = 600
            //   8b00                 | mov                 eax, dword ptr [eax]
            //   03c1                 | add                 eax, ecx
            //   8945e4               | mov                 dword ptr [ebp - 0x1c], eax
            //   eb31                 | jmp                 0x33
            //   81fbaafc0d7c         | cmp                 ebx, 0x7c0dfcaa

        $sequence_1 = { 33d2 8bc6 f7750c 8b4508 0fb60402 0fb6140e 03d8 }
            // n = 7, score = 600
            //   33d2                 | xor                 edx, edx
            //   8bc6                 | mov                 eax, esi
            //   f7750c               | div                 dword ptr [ebp + 0xc]
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   0fb60402             | movzx               eax, byte ptr [edx + eax]
            //   0fb6140e             | movzx               edx, byte ptr [esi + ecx]
            //   03d8                 | add                 ebx, eax

        $sequence_2 = { 57 bf00010000 880408 40 }
            // n = 4, score = 600
            //   57                   | push                edi
            //   bf00010000           | mov                 edi, 0x100
            //   880408               | mov                 byte ptr [eax + ecx], al
            //   40                   | inc                 eax

        $sequence_3 = { 394de0 740f 394dec 740a }
            // n = 4, score = 600
            //   394de0               | cmp                 dword ptr [ebp - 0x20], ecx
            //   740f                 | je                  0x11
            //   394dec               | cmp                 dword ptr [ebp - 0x14], ecx
            //   740a                 | je                  0xc

        $sequence_4 = { 56 57 33ff 8bf0 397d08 0f84bc000000 397d10 }
            // n = 7, score = 600
            //   56                   | push                esi
            //   57                   | push                edi
            //   33ff                 | xor                 edi, edi
            //   8bf0                 | mov                 esi, eax
            //   397d08               | cmp                 dword ptr [ebp + 8], edi
            //   0f84bc000000         | je                  0xc2
            //   397d10               | cmp                 dword ptr [ebp + 0x10], edi

        $sequence_5 = { 4a 75f7 8b5dfc 83c728 }
            // n = 4, score = 600
            //   4a                   | dec                 edx
            //   75f7                 | jne                 0xfffffff9
            //   8b5dfc               | mov                 ebx, dword ptr [ebp - 4]
            //   83c728               | add                 edi, 0x28

        $sequence_6 = { 33db 33f6 33d2 8bc6 }
            // n = 4, score = 600
            //   33db                 | xor                 ebx, ebx
            //   33f6                 | xor                 esi, esi
            //   33d2                 | xor                 edx, edx
            //   8bc6                 | mov                 eax, esi

        $sequence_7 = { 6683ff02 750a 668b7dfc 23c3 66013c08 }
            // n = 5, score = 600
            //   6683ff02             | cmp                 di, 2
            //   750a                 | jne                 0xc
            //   668b7dfc             | mov                 di, word ptr [ebp - 4]
            //   23c3                 | and                 eax, ebx
            //   66013c08             | add                 word ptr [eax + ecx], di

        $sequence_8 = { e8???????? 8bd8 895dfc b84d5a0000 663903 7517 8b433c }
            // n = 7, score = 600
            //   e8????????           |                     
            //   8bd8                 | mov                 ebx, eax
            //   895dfc               | mov                 dword ptr [ebp - 4], ebx
            //   b84d5a0000           | mov                 eax, 0x5a4d
            //   663903               | cmp                 word ptr [ebx], ax
            //   7517                 | jne                 0x19
            //   8b433c               | mov                 eax, dword ptr [ebx + 0x3c]

        $sequence_9 = { 8b540e1c 8d0482 03c1 81fb8e4e0eec }
            // n = 4, score = 600
            //   8b540e1c             | mov                 edx, dword ptr [esi + ecx + 0x1c]
            //   8d0482               | lea                 eax, [edx + eax*4]
            //   03c1                 | add                 eax, ecx
            //   81fb8e4e0eec         | cmp                 ebx, 0xec0e4e8e

    condition:
        7 of them and filesize < 540672
}
[TLP:WHITE] win_xxmm_w0   (20180301 | Detects malware / hacktool sample from Bronze Butler incident)
rule win_xxmm_w0 {
    meta:
        author = "Florian Roth"
        description = "Detects malware / hacktool sample from Bronze Butler incident"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.xxmm"
        malpedia_version = "20180301"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
    strings:
        $x1 = "\\Release\\ReflectivLoader.pdb" ascii
        $x3 = "\\Projects\\xxmm2\\Release\\" ascii
        $x5 = "http://127.0.0.1/phptunnel.php" fullword ascii

        $s1 = "xxmm2.exe" fullword ascii
        $s2 = "\\AvUpdate.exe" fullword wide
        $s3 = "stdapi_fs_file_download" fullword ascii
        $s4 = "stdapi_syncshell_open" fullword ascii
        $s5 = "stdapi_execute_sleep" fullword ascii
        $s6 = "stdapi_syncshell_kill" fullword ascii
    condition:
        1 of ($x*) or
        4 of them
}
Download all Yara Rules