SYMBOLCOMMON_NAMEaka. SYNONYMS
win.sysjoker (Back to overview)

SysJoker

VTCollection    

Sysjoker is a backdoor malware that was first discovered in December 2021 by Intezer. It is sophisticated and written from scratch in C++. Sysjoker is a cross-platform malware that has Linux, Windows, and macOS variants. Possible attack vectors for Sysjoker are email attachments, malicious advertisements, and trojanized software.

References
2023-11-23 ⋅ Check Point Research ⋅ Check Point Research
Israel-Hamas War Spotlight: Shaking the Rust Off SysJoker
SysJoker
2022-03-23 ⋅ vmware ⋅ Sagar Daundkar, Threat Analysis Unit
SysJoker – An Analysis of a Multi-OS RAT
SysJoker SysJoker SysJoker
2022-01-11 ⋅ Intezer ⋅ Avigayil Mechtinger, Nicole Fishbein, Ryan Robinson
New SysJoker Backdoor Targets Windows, Linux, and macOS
SysJoker SysJoker SysJoker
2022-01-11 ⋅ BleepingComputer ⋅ Bill Toulas
New SysJoker backdoor targets Windows, macOS, and Linux
SysJoker SysJoker SysJoker
Yara Rules
[TLP:WHITE] win_sysjoker_auto (20260917 | Detects win.sysjoker.)
rule win_sysjoker_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.sysjoker."
        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.sysjoker"
        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 = { e8???????? 83c40c 837e1410 7202 8b36 ff75fc 56 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   83c40c               | add                 esp, 0xc
            //   837e1410             | cmp                 dword ptr [esi + 0x14], 0x10
            //   7202                 | jb                  4
            //   8b36                 | mov                 esi, dword ptr [esi]
            //   ff75fc               | push                dword ptr [ebp - 4]
            //   56                   | push                esi

        $sequence_1 = { 85c0 0f88c2feffff 3b5d08 7409 53 e8???????? 83c404 }
            // n = 7, score = 100
            //   85c0                 | test                eax, eax
            //   0f88c2feffff         | js                  0xfffffec8
            //   3b5d08               | cmp                 ebx, dword ptr [ebp + 8]
            //   7409                 | je                  0xb
            //   53                   | push                ebx
            //   e8????????           |                     
            //   83c404               | add                 esp, 4

        $sequence_2 = { 8906 8a8540ffffff 89b548ffffff eb06 8bb548ffffff 3c01 0f85e4030000 }
            // n = 7, score = 100
            //   8906                 | mov                 dword ptr [esi], eax
            //   8a8540ffffff         | mov                 al, byte ptr [ebp - 0xc0]
            //   89b548ffffff         | mov                 dword ptr [ebp - 0xb8], esi
            //   eb06                 | jmp                 8
            //   8bb548ffffff         | mov                 esi, dword ptr [ebp - 0xb8]
            //   3c01                 | cmp                 al, 1
            //   0f85e4030000         | jne                 0x3ea

        $sequence_3 = { 0f49d0 b8ffffff7f 2bc7 3bc2 0f8cf9000000 }
            // n = 5, score = 100
            //   0f49d0               | cmovns              edx, eax
            //   b8ffffff7f           | mov                 eax, 0x7fffffff
            //   2bc7                 | sub                 eax, edi
            //   3bc2                 | cmp                 eax, edx
            //   0f8cf9000000         | jl                  0xff

        $sequence_4 = { ff75bb e8???????? 8d7e2c e9???????? 8bce e8???????? 8945b4 }
            // n = 7, score = 100
            //   ff75bb               | push                dword ptr [ebp - 0x45]
            //   e8????????           |                     
            //   8d7e2c               | lea                 edi, [esi + 0x2c]
            //   e9????????           |                     
            //   8bce                 | mov                 ecx, esi
            //   e8????????           |                     
            //   8945b4               | mov                 dword ptr [ebp - 0x4c], eax

        $sequence_5 = { e8???????? 51 8b0f 8bd3 e8???????? 83c404 e8???????? }
            // n = 7, score = 100
            //   e8????????           |                     
            //   51                   | push                ecx
            //   8b0f                 | mov                 ecx, dword ptr [edi]
            //   8bd3                 | mov                 edx, ebx
            //   e8????????           |                     
            //   83c404               | add                 esp, 4
            //   e8????????           |                     

        $sequence_6 = { 50 56 8d4dcc e8???????? 8b5de8 0f1f440000 }
            // n = 6, score = 100
            //   50                   | push                eax
            //   56                   | push                esi
            //   8d4dcc               | lea                 ecx, [ebp - 0x34]
            //   e8????????           |                     
            //   8b5de8               | mov                 ebx, dword ptr [ebp - 0x18]
            //   0f1f440000           | nop                 dword ptr [eax + eax]

        $sequence_7 = { 8bec 8b4508 83f80b 7720 0fb680a2bc4200 ff24858ebc4200 33c0 }
            // n = 7, score = 100
            //   8bec                 | mov                 ebp, esp
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   83f80b               | cmp                 eax, 0xb
            //   7720                 | ja                  0x22
            //   0fb680a2bc4200       | movzx               eax, byte ptr [eax + 0x42bca2]
            //   ff24858ebc4200       | jmp                 dword ptr [eax*4 + 0x42bc8e]
            //   33c0                 | xor                 eax, eax

        $sequence_8 = { 88440f2b 83fa03 7511 8b45fc 8b0c85c0fc4500 8a06 46 }
            // n = 7, score = 100
            //   88440f2b             | mov                 byte ptr [edi + ecx + 0x2b], al
            //   83fa03               | cmp                 edx, 3
            //   7511                 | jne                 0x13
            //   8b45fc               | mov                 eax, dword ptr [ebp - 4]
            //   8b0c85c0fc4500       | mov                 ecx, dword ptr [eax*4 + 0x45fcc0]
            //   8a06                 | mov                 al, byte ptr [esi]
            //   46                   | inc                 esi

        $sequence_9 = { 83c604 b8ffffffff 3bf7 75dd 8b75cc 8b4dd4 8bc6 }
            // n = 7, score = 100
            //   83c604               | add                 esi, 4
            //   b8ffffffff           | mov                 eax, 0xffffffff
            //   3bf7                 | cmp                 esi, edi
            //   75dd                 | jne                 0xffffffdf
            //   8b75cc               | mov                 esi, dword ptr [ebp - 0x34]
            //   8b4dd4               | mov                 ecx, dword ptr [ebp - 0x2c]
            //   8bc6                 | mov                 eax, esi

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