SYMBOLCOMMON_NAMEaka. SYNONYMS
win.sphijacker (Back to overview)

SPHijacker

VTCollection    

According to Trend Micro, this is a tool designed to disable security products, adopting two approaches to achieve this purpose. One approach terminates the security product process by using a vulnerable driver, zamguard64.sys, published by Zemana (vulnerability designated as CVE-2018-5713). Meanwhile, another approach disables process launching by using a new technique that they named stack rumbling.

References
2023-05-02 ⋅ Trend Micro ⋅ Hara Hiroaki, Ted Lee
Attack on Security Titans: Earth Longzhi Returns With New Tricks
Croxloader SPHijacker Earth Longzhi
Yara Rules
[TLP:WHITE] win_sphijacker_auto (20260917 | Detects win.sphijacker.)
rule win_sphijacker_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.sphijacker."
        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.sphijacker"
        malpedia_rule_date = "20260916"
        malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6"
        malpedia_version = "20260917"
        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 = { 488d4518 41b93f000f00 4533c0 4889442420 488d1573de0100 }
            // n = 5, score = 100
            //   488d4518             | inc                 ecx
            //   41b93f000f00         | mov                 eax, 0x1f0
            //   4533c0               | movaps              xmmword ptr [ebp + 0x1c50], xmm0
            //   4889442420           | movsd               qword ptr [ebp + 0x1c60], xmm1
            //   488d1573de0100       | xor                 edx, edx

        $sequence_1 = { 488d1d9f250200 488d3d98250200 eb12 488b03 }
            // n = 4, score = 100
            //   488d1d9f250200       | dec                 esp
            //   488d3d98250200       | lea                 eax, [ebp + 0x20]
            //   eb12                 | dec                 eax
            //   488b03               | lea                 edx, [0x1da3c]

        $sequence_2 = { 488d054a9f0100 483947f0 741a 488b0f 4885c9 7412 }
            // n = 6, score = 100
            //   488d054a9f0100       | dec                 esp
            //   483947f0             | mov                 eax, ebp
            //   741a                 | dec                 eax
            //   488b0f               | mov                 edx, esi
            //   4885c9               | dec                 eax
            //   7412                 | mov                 ecx, edi

        $sequence_3 = { 488d4510 c744242804000000 488d1539e30100 41b904000000 4889442420 4533c0 c7451088888888 }
            // n = 7, score = 100
            //   488d4510             | movsx               esp, byte ptr [ecx + ebx + 0x2a920]
            //   c744242804000000     | inc                 ecx
            //   488d1539e30100       | inc                 esp
            //   41b904000000         | inc                 ecx
            //   4889442420           | mov                 eax, esp
            //   4533c0               | sub                 eax, edx
            //   c7451088888888       | dec                 ebx

        $sequence_4 = { 488d1c8d00000000 8d040e 4c8bc3 488d8d34030000 898530030000 e8???????? 488d0daae7feff }
            // n = 7, score = 100
            //   488d1c8d00000000     | dec                 ecx
            //   8d040e               | mov                 eax, ecx
            //   4c8bc3               | inc                 eax
            //   488d8d34030000       | cmp                 byte ptr [eax], bh
            //   898530030000         | je                  0x139f
            //   e8????????           |                     
            //   488d0daae7feff       | dec                 ecx

        $sequence_5 = { 488d3d51c90100 eb07 488d3d30c90100 4883a4248000000000 4584f6 740b }
            // n = 6, score = 100
            //   488d3d51c90100       | jae                 0x2001
            //   eb07                 | dec                 eax
            //   488d3d30c90100       | mov                 eax, edi
            //   4883a4248000000000     | dec    esp
            //   4584f6               | mov                 edi, edi
            //   740b                 | dec                 ecx

        $sequence_6 = { c3 836a1001 0f88b65e0000 488b02 8808 48ff02 }
            // n = 6, score = 100
            //   c3                   | dec                 esp
            //   836a1001             | lea                 ecx, [0xe5e3]
            //   0f88b65e0000         | dec                 ecx
            //   488b02               | mov                 edx, ecx
            //   8808                 | inc                 esp
            //   48ff02               | lea                 eax, [eax + 8]

        $sequence_7 = { 4c8d0d9de80000 33c9 4c8d0590e80000 488d1591e80000 e8???????? }
            // n = 5, score = 100
            //   4c8d0d9de80000       | lea                 edx, [0x1dc55]
            //   33c9                 | inc                 ebp
            //   4c8d0590e80000       | xor                 eax, eax
            //   488d1591e80000       | dec                 eax
            //   e8????????           |                     

        $sequence_8 = { 4863c9 4c8d05c4ad0100 488bc1 83e13f }
            // n = 4, score = 100
            //   4863c9               | mov                 ecx, 0xf003f
            //   4c8d05c4ad0100       | inc                 ebp
            //   488bc1               | xor                 eax, eax
            //   83e13f               | dec                 eax

        $sequence_9 = { c744242804000000 488d15f7de0100 41b904000000 4889442420 4533c0 }
            // n = 5, score = 100
            //   c744242804000000     | mov                 dword ptr [esp + 0x70], esi
            //   488d15f7de0100       | dec                 eax
            //   41b904000000         | mov                 dword ptr [esp + 0x68], esi
            //   4889442420           | inc                 ecx
            //   4533c0               | lea                 edx, [eax + 0xc]

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