SYMBOLCOMMON_NAMEaka. SYNONYMS
win.crosswalk (Back to overview)

CROSSWALK

aka: ProxIP, Motnug, TOMMYGUN

Actor(s): APT41


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
@techreport{chang:20220512:next:5fd8a83, author = {Leon Chang and Silvia Yeh}, title = {{The Next Gen PlugX/ShadowPad? A Dive into the Emerging China-Nexus Modular Trojan, Pangolin8RAT (slides)}}, date = {2022-05-12}, institution = {TEAMT5}, url = {https://i.blackhat.com/Asia-22/Thursday-Materials/AS-22-LeonSilvia-NextGenPlugXShadowPad.pdf}, language = {English}, urldate = {2022-08-08} } 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
@online{team:20210909:grayfly:60c5478, author = {Threat Hunter Team}, title = {{Grayfly: Chinese Threat Actor Uses Newly-discovered Sidewalk Malware}}, date = {2021-09-09}, organization = {Symantec}, url = {https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/grayfly-china-sidewalk-malware}, language = {English}, urldate = {2021-09-10} } Grayfly: Chinese Threat Actor Uses Newly-discovered Sidewalk Malware
CROSSWALK MimiKatz SideWalk
2021-08-24ESET ResearchThibaut Passilly, Mathieu Tartare
@online{passilly:20210824:sidewalk:75d39db, author = {Thibaut Passilly and Mathieu Tartare}, title = {{The SideWalk may be as dangerous as the CROSSWALK}}, date = {2021-08-24}, organization = {ESET Research}, url = {https://www.welivesecurity.com/2021/08/24/sidewalk-may-be-as-dangerous-as-crosswalk/}, language = {English}, urldate = {2021-08-31} } The SideWalk may be as dangerous as the CROSSWALK
Cobalt Strike CROSSWALK SideWalk
2021-01-15The Hacker NewsRavie Lakshmaman
@online{lakshmaman:20210115:researchers:d524572, author = {Ravie Lakshmaman}, title = {{Researchers Disclose Undocumented Chinese Malware Used in Recent Attacks}}, date = {2021-01-15}, organization = {The Hacker News}, url = {https://thehackernews.com/2021/01/researchers-disclose-undocumented.html}, language = {English}, urldate = {2021-06-29} } Researchers Disclose Undocumented Chinese Malware Used in Recent Attacks
CROSSWALK
2021-01-14PTSecurityPT ESC Threat Intelligence
@online{intelligence:20210114:higaisa:4676ec7, author = {PT ESC Threat Intelligence}, title = {{Higaisa or Winnti? APT41 backdoors, old and new}}, date = {2021-01-14}, organization = {PTSecurity}, url = {https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/higaisa-or-winnti-apt-41-backdoors-old-and-new/}, language = {English}, urldate = {2021-02-09} } Higaisa or Winnti? APT41 backdoors, old and new
Cobalt Strike CROSSWALK FunnySwitch PlugX ShadowPad
2020-11-13Youtube (The Standoff)Alexey Zakharov, Positive Technologies
@online{zakharov:20201113:ff202eng:1d1222c, author = {Alexey Zakharov and Positive Technologies}, title = {{FF_202_Eng - From old Higaisa samples to new Winnti backdoors: The story of one research}}, date = {2020-11-13}, organization = {Youtube (The Standoff)}, url = {https://www.youtube.com/watch?v=8x-pGlWpIYI}, language = {English}, urldate = {2020-11-23} } 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
@online{great:20201103:trends:febc159, author = {GReAT}, title = {{APT trends report Q3 2020}}, date = {2020-11-03}, organization = {Kaspersky Labs}, url = {https://securelist.com/apt-trends-report-q3-2020/99204/}, language = {English}, urldate = {2020-11-04} } 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
@online{team:20200918:apt41:363daa8, author = {Threat Hunter Team}, title = {{APT41: Indictments Put Chinese Espionage Group in the Spotlight}}, date = {2020-09-18}, organization = {Symantec}, url = {https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/apt41-indictments-china-espionage}, language = {English}, urldate = {2020-09-23} } APT41: Indictments Put Chinese Espionage Group in the Spotlight
CROSSWALK PlugX poisonplug ShadowPad Winnti
2020-07-29ESET Researchwelivesecurity
@techreport{welivesecurity:20200729:threat:496355c, author = {welivesecurity}, title = {{THREAT REPORT Q2 2020}}, date = {2020-07-29}, institution = {ESET Research}, url = {https://www.welivesecurity.com/wp-content/uploads/2020/07/ESET_Threat_Report_Q22020.pdf}, language = {English}, urldate = {2020-07-30} } 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
@online{mokbel:20200721:vopcde:26d48d0, author = {Mohamad Mokbel}, title = {{vOPCDE #9 - A Journey into Malware HTTP Communication Channels Spectacles (Mohamad Mokbel)}}, date = {2020-07-21}, organization = {YouTube ( OPCDE with Matt Suiche)}, url = {https://www.youtube.com/watch?v=FttiysUZmDw}, language = {English}, urldate = {2021-10-24} } 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
@online{knight:20190930:cb:a21cf30, author = {Scott Knight}, title = {{CB Threat Analysis Unit: Technical Analysis of “Crosswalk”}}, date = {2019-09-30}, organization = {vmware}, url = {https://www.carbonblack.com/2019/09/30/cb-threat-analysis-unit-technical-analysis-of-crosswalk/}, language = {English}, urldate = {2020-04-21} } CB Threat Analysis Unit: Technical Analysis of “Crosswalk”
CROSSWALK
2019-08-09FireEyeFireEye
@online{fireeye:20190809:double:40f736e, author = {FireEye}, title = {{Double Dragon APT41, a dual espionage and cyber crime operation}}, date = {2019-08-09}, organization = {FireEye}, url = {https://content.fireeye.com/apt-41/rpt-apt41/}, language = {English}, urldate = {2019-12-18} } 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
@online{perez:20181224:hashes:9a4fc8c, author = {Dan Perez}, title = {{Tweet on hashes for CROSSWALK}}, date = {2018-12-24}, organization = {Twitter (@MrDanPerez)}, url = {https://twitter.com/MrDanPerez/status/1159459082534825986}, language = {English}, urldate = {2019-11-27} } Tweet on hashes for CROSSWALK
CROSSWALK
Yara Rules
[TLP:WHITE] win_crosswalk_auto (20230715 | Detects win.crosswalk.)
rule win_crosswalk_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-07-11"
        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 = "20230705"
        malpedia_hash = "42d0574f4405bd7d2b154d321d345acb18834a41"
        malpedia_version = "20230715"
        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 = { 33f6 8d6e20 8bcd e8???????? }
            // n = 4, score = 1300
            //   33f6                 | add                 edx, eax
            //   8d6e20               | inc                 ecx
            //   8bcd                 | sub                 edi, 1
            //   e8????????           |                     

        $sequence_1 = { 4883ec28 4885c9 7402 ffd1 }
            // n = 4, score = 1300
            //   4883ec28             | inc                 ecx
            //   4885c9               | mov                 eax, eax
            //   7402                 | imul                ecx
            //   ffd1                 | add                 edx, ecx

        $sequence_2 = { ff15???????? 448bf0 4533c9 4533c0 }
            // n = 4, score = 1300
            //   ff15????????         |                     
            //   448bf0               | mov                 eax, esi
            //   4533c9               | xor                 edx, edx
            //   4533c0               | inc                 ecx

        $sequence_3 = { 458d7ee0 418bd7 ff15???????? 4821742420 }
            // n = 4, score = 1300
            //   458d7ee0             | imul                ecx
            //   418bd7               | add                 edx, ecx
            //   ff15????????         |                     
            //   4821742420           | sar                 edx, 0xb

        $sequence_4 = { 03d1 c1fa0b 8bc2 c1e81f 03d0 69c2890e0000 }
            // n = 6, score = 1300
            //   03d1                 | add                 edx, ecx
            //   c1fa0b               | sar                 edx, 0xb
            //   8bc2                 | mov                 eax, edx
            //   c1e81f               | shr                 eax, 0x1f
            //   03d0                 | add                 edx, eax
            //   69c2890e0000         | imul                eax, edx, 0xe89

        $sequence_5 = { 458bc6 33d2 488bc8 e8???????? 4533c9 4533c0 33d2 }
            // n = 7, score = 1300
            //   458bc6               | dec                 ecx
            //   33d2                 | inc                 eax
            //   488bc8               | ror                 edx, cl
            //   e8????????           |                     
            //   4533c9               | add                 edx, eax
            //   4533c0               | sar                 edx, 0xb
            //   33d2                 | mov                 eax, edx

        $sequence_6 = { 418bc0 f7e9 03d1 c1fa0b }
            // n = 4, score = 1300
            //   418bc0               | sub                 edi, 1
            //   f7e9                 | xor                 edx, edx
            //   03d1                 | inc                 ecx
            //   c1fa0b               | movsx               eax, byte ptr [eax]

        $sequence_7 = { 33d2 410fbe00 49ffc0 d3ca 03d0 4183ef01 75ef }
            // n = 7, score = 1300
            //   33d2                 | mov                 eax, edx
            //   410fbe00             | xor                 edx, edx
            //   49ffc0               | inc                 ecx
            //   d3ca                 | movsx               eax, byte ptr [eax]
            //   03d0                 | dec                 ecx
            //   4183ef01             | inc                 eax
            //   75ef                 | ror                 edx, cl

        $sequence_8 = { c745e0185b4100 e9???????? c745e0145b4100 eba2 894ddc }
            // n = 5, score = 200
            //   c745e0185b4100       | mov                 dword ptr [ebp - 0x20], 0x415b18
            //   e9????????           |                     
            //   c745e0145b4100       | mov                 dword ptr [ebp - 0x20], 0x415b14
            //   eba2                 | jmp                 0xffffffa4
            //   894ddc               | mov                 dword ptr [ebp - 0x24], ecx

        $sequence_9 = { 0f84b2000000 85f6 0f84aa000000 6a00 56 ff15???????? 6a00 }
            // n = 7, score = 200
            //   0f84b2000000         | je                  0xb8
            //   85f6                 | test                esi, esi
            //   0f84aa000000         | je                  0xb0
            //   6a00                 | push                0
            //   56                   | push                esi
            //   ff15????????         |                     
            //   6a00                 | push                0

        $sequence_10 = { 83e801 0f859b010000 c745e0185b4100 8b4508 8bcf 8b7510 }
            // n = 6, score = 200
            //   83e801               | sub                 eax, 1
            //   0f859b010000         | jne                 0x1a1
            //   c745e0185b4100       | mov                 dword ptr [ebp - 0x20], 0x415b18
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   8bcf                 | mov                 ecx, edi
            //   8b7510               | mov                 esi, dword ptr [ebp + 0x10]

        $sequence_11 = { c1f906 6bd030 8b45fc 03148d808e4100 8b00 }
            // n = 5, score = 200
            //   c1f906               | sar                 ecx, 6
            //   6bd030               | imul                edx, eax, 0x30
            //   8b45fc               | mov                 eax, dword ptr [ebp - 4]
            //   03148d808e4100       | add                 edx, dword ptr [ecx*4 + 0x418e80]
            //   8b00                 | mov                 eax, dword ptr [eax]

        $sequence_12 = { 6bf630 8b0c8d808e4100 80643128fd 5f }
            // n = 4, score = 200
            //   6bf630               | imul                esi, esi, 0x30
            //   8b0c8d808e4100       | mov                 ecx, dword ptr [ecx*4 + 0x418e80]
            //   80643128fd           | and                 byte ptr [ecx + esi + 0x28], 0xfd
            //   5f                   | pop                 edi

        $sequence_13 = { 6af6 ff15???????? 8b04bd808e4100 834c0318ff 33c0 eb16 }
            // n = 6, score = 200
            //   6af6                 | push                -0xa
            //   ff15????????         |                     
            //   8b04bd808e4100       | mov                 eax, dword ptr [edi*4 + 0x418e80]
            //   834c0318ff           | or                  dword ptr [ebx + eax + 0x18], 0xffffffff
            //   33c0                 | xor                 eax, eax
            //   eb16                 | jmp                 0x18

        $sequence_14 = { 03348d808e4100 837e18ff 740c 837e18fe 7406 }
            // n = 5, score = 200
            //   03348d808e4100       | add                 esi, dword ptr [ecx*4 + 0x418e80]
            //   837e18ff             | cmp                 dword ptr [esi + 0x18], -1
            //   740c                 | je                  0xe
            //   837e18fe             | cmp                 dword ptr [esi + 0x18], -2
            //   7406                 | je                  8

        $sequence_15 = { be???????? c745ec24234100 57 8d3c85fcffffff 8975cc 8d041f 8975d0 }
            // n = 7, score = 200
            //   be????????           |                     
            //   c745ec24234100       | mov                 dword ptr [ebp - 0x14], 0x412324
            //   57                   | push                edi
            //   8d3c85fcffffff       | lea                 edi, [eax*4 - 4]
            //   8975cc               | mov                 dword ptr [ebp - 0x34], esi
            //   8d041f               | lea                 eax, [edi + ebx]
            //   8975d0               | mov                 dword ptr [ebp - 0x30], esi

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