SYMBOLCOMMON_NAMEaka. SYNONYMS
win.crosswalk (Back to overview)

CROSSWALK

aka: ProxIP, Motnug, TOMMYGUN

Actor(s): APT41

VTCollection    

According to FireEye, CROSSWALK is a skeletal, modular backdoor capable of system survey and adding modules in response to C&C replies.

References
2022-05-12TEAMT5Leon Chang, Silvia Yeh
The Next Gen PlugX/ShadowPad? A Dive into the Emerging China-Nexus Modular Trojan, Pangolin8RAT (slides)
KEYPLUG Cobalt Strike CROSSWALK FunnySwitch PlugX ShadowPad Winnti SLIME29 TianWu
2021-09-09SymantecThreat Hunter Team
Grayfly: Chinese Threat Actor Uses Newly-discovered Sidewalk Malware
CROSSWALK MimiKatz SideWalk
2021-08-24ESET ResearchMathieu Tartare, Thibaut Passilly
The SideWalk may be as dangerous as the CROSSWALK
Cobalt Strike CROSSWALK SideWalk SparklingGoblin
2021-01-15The Hacker NewsRavie Lakshmaman
Researchers Disclose Undocumented Chinese Malware Used in Recent Attacks
CROSSWALK
2021-01-14PTSecurityPT ESC Threat Intelligence
Higaisa or Winnti? APT41 backdoors, old and new
Cobalt Strike CROSSWALK FunnySwitch PlugX ShadowPad
2020-11-13Youtube (The Standoff)Alexey Zakharov, Positive Technologies
FF_202_Eng - From old Higaisa samples to new Winnti backdoors: The story of one research
CROSSWALK Unidentified 076 (Higaisa LNK to Shellcode)
2020-11-03Kaspersky LabsGReAT
APT trends report Q3 2020
WellMail EVILNUM Janicab Poet RAT AsyncRAT Ave Maria Cobalt Strike Crimson RAT CROSSWALK Dtrack LODEINFO MoriAgent Okrum PlugX poisonplug Rover ShadowPad SoreFang Winnti
2020-09-18SymantecThreat Hunter Team
APT41: Indictments Put Chinese Espionage Group in the Spotlight
CROSSWALK PlugX poisonplug ShadowPad Winnti
2020-07-29ESET Researchwelivesecurity
THREAT REPORT Q2 2020
DEFENSOR ID HiddenAd Bundlore Pirrit Agent.BTZ Cerber ClipBanker CROSSWALK Cryptowall CTB Locker DanaBot Dharma Formbook Gandcrab Grandoreiro Houdini ISFB LockBit Locky Mailto Maze Microcin Nemty NjRAT Phobos PlugX Pony REvil Socelars STOP Tinba TrickBot WannaCryptor
2020-07-21YouTube ( OPCDE with Matt Suiche)Mohamad Mokbel
vOPCDE #9 - A Journey into Malware HTTP Communication Channels Spectacles (Mohamad Mokbel)
Alureon Aytoke Cobra Carbon System CROSSWALK danbot ProtonBot Silence
2019-09-30vmwareScott Knight
CB Threat Analysis Unit: Technical Analysis of “Crosswalk”
CROSSWALK
2019-08-09FireEyeFireEye
Double Dragon APT41, a dual espionage and cyber crime operation
CLASSFON crackshot CROSSWALK GEARSHIFT HIGHNOON HIGHNOON.BIN JUMPALL poisonplug Winnti
2018-12-24Twitter (@MrDanPerez)Dan Perez
Tweet on hashes for CROSSWALK
CROSSWALK
Yara Rules
[TLP:WHITE] win_crosswalk_auto (20230808 | Detects win.crosswalk.)
rule win_crosswalk_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.crosswalk."
        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.crosswalk"
        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 = { 4885c9 7402 ffd1 b801000000 }
            // n = 4, score = 1300
            //   4885c9               | inc                 eax
            //   7402                 | ror                 edx, cl
            //   ffd1                 | add                 edx, eax
            //   b801000000           | inc                 ecx

        $sequence_1 = { ff15???????? 448bf0 4533c9 4533c0 }
            // n = 4, score = 1300
            //   ff15????????         |                     
            //   448bf0               | add                 edx, ecx
            //   4533c9               | dec                 esp
            //   4533c0               | mov                 eax, esi

        $sequence_2 = { 458bc6 33d2 488bc8 e8???????? 4533c9 }
            // n = 5, score = 1300
            //   458bc6               | inc                 ebp
            //   33d2                 | mov                 eax, esi
            //   488bc8               | xor                 edx, edx
            //   e8????????           |                     
            //   4533c9               | dec                 eax

        $sequence_3 = { 458d7ee0 418bd7 ff15???????? 4821742420 }
            // n = 4, score = 1300
            //   458d7ee0             | imul                eax, edx, 0xe89
            //   418bd7               | cmp                 ecx, eax
            //   ff15????????         |                     
            //   4821742420           | inc                 ecx

        $sequence_4 = { 4c8bc6 33d2 410fbe00 49ffc0 }
            // n = 4, score = 1300
            //   4c8bc6               | shr                 eax, 0x1f
            //   33d2                 | add                 edx, eax
            //   410fbe00             | imul                eax, edx, 0xe89
            //   49ffc0               | cmp                 ecx, eax

        $sequence_5 = { 418bc0 f7e9 03d1 c1fa0b 8bc2 c1e81f 03d0 }
            // n = 7, score = 1300
            //   418bc0               | mov                 ecx, eax
            //   f7e9                 | inc                 ebp
            //   03d1                 | xor                 ecx, ecx
            //   c1fa0b               | inc                 ecx
            //   8bc2                 | mov                 eax, eax
            //   c1e81f               | imul                ecx
            //   03d0                 | add                 edx, ecx

        $sequence_6 = { d3ca 03d0 4183ef01 75ef }
            // n = 4, score = 1300
            //   d3ca                 | sar                 edx, 0xb
            //   03d0                 | inc                 ebp
            //   4183ef01             | lea                 edi, [esi - 0x20]
            //   75ef                 | inc                 ecx

        $sequence_7 = { 410fbe00 49ffc0 d3ca 03d0 }
            // n = 4, score = 1300
            //   410fbe00             | inc                 ecx
            //   49ffc0               | mov                 eax, eax
            //   d3ca                 | imul                ecx
            //   03d0                 | add                 edx, ecx

        $sequence_8 = { 8b45fc 817848f0844100 7409 ff7048 e8???????? }
            // n = 5, score = 200
            //   8b45fc               | mov                 eax, dword ptr [ebp - 4]
            //   817848f0844100       | cmp                 dword ptr [eax + 0x48], 0x4184f0
            //   7409                 | je                  0xb
            //   ff7048               | push                dword ptr [eax + 0x48]
            //   e8????????           |                     

        $sequence_9 = { 6a26 58 0fb60c85c6574100 0fb63485c7574100 8bf9 }
            // n = 5, score = 200
            //   6a26                 | push                0x26
            //   58                   | pop                 eax
            //   0fb60c85c6574100     | movzx               ecx, byte ptr [eax*4 + 0x4157c6]
            //   0fb63485c7574100     | movzx               esi, byte ptr [eax*4 + 0x4157c7]
            //   8bf9                 | mov                 edi, ecx

        $sequence_10 = { 7403 ff5508 5d c20400 53 8b1d???????? }
            // n = 6, score = 200
            //   7403                 | je                  5
            //   ff5508               | call                dword ptr [ebp + 8]
            //   5d                   | pop                 ebp
            //   c20400               | ret                 4
            //   53                   | push                ebx
            //   8b1d????????         |                     

        $sequence_11 = { 735f 8bc6 8bfe 83e03f c1ff06 6bd830 8b04bd808e4100 }
            // n = 7, score = 200
            //   735f                 | jae                 0x61
            //   8bc6                 | mov                 eax, esi
            //   8bfe                 | mov                 edi, esi
            //   83e03f               | and                 eax, 0x3f
            //   c1ff06               | sar                 edi, 6
            //   6bd830               | imul                ebx, eax, 0x30
            //   8b04bd808e4100       | mov                 eax, dword ptr [edi*4 + 0x418e80]

        $sequence_12 = { c1f906 03048d808e4100 eb02 8bc6 80782900 }
            // n = 5, score = 200
            //   c1f906               | sar                 ecx, 6
            //   03048d808e4100       | add                 eax, dword ptr [ecx*4 + 0x418e80]
            //   eb02                 | jmp                 4
            //   8bc6                 | mov                 eax, esi
            //   80782900             | cmp                 byte ptr [eax + 0x29], 0

        $sequence_13 = { 83e801 0f8501010000 c745e0245b4100 8b4508 8bcf 8b7510 }
            // n = 6, score = 200
            //   83e801               | sub                 eax, 1
            //   0f8501010000         | jne                 0x107
            //   c745e0245b4100       | mov                 dword ptr [ebp - 0x20], 0x415b24
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   8bcf                 | mov                 ecx, edi
            //   8b7510               | mov                 esi, dword ptr [ebp + 0x10]

        $sequence_14 = { 740e 50 e8???????? 83a6808e410000 59 }
            // n = 5, score = 200
            //   740e                 | je                  0x10
            //   50                   | push                eax
            //   e8????????           |                     
            //   83a6808e410000       | and                 dword ptr [esi + 0x418e80], 0
            //   59                   | pop                 ecx

        $sequence_15 = { 83e801 0f8580000000 8b4508 dd00 ebc6 c745e0285b4100 e9???????? }
            // n = 7, score = 200
            //   83e801               | sub                 eax, 1
            //   0f8580000000         | jne                 0x86
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   dd00                 | fld                 qword ptr [eax]
            //   ebc6                 | jmp                 0xffffffc8
            //   c745e0285b4100       | mov                 dword ptr [ebp - 0x20], 0x415b28
            //   e9????????           |                     

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