SYMBOLCOMMON_NAMEaka. SYNONYMS
win.screencap (Back to overview)

ScreenCap

VTCollection    

SentinelOne describes this malware as capable of doing screen capture and keylogging. It is uses by a threat cluster they named WIP19, targeting telecommunications and IT service providers in the Middle East and Asia.

References
2022-10-12SentinelOneAmitai Ben Shushan Ehrlich, Joey Chen
WIP19 Espionage | New Chinese APT Targets IT Service Providers and Telcos With Signed Malware
Maggie ScreenCap WIP19
Yara Rules
[TLP:WHITE] win_screencap_auto (20230808 | Detects win.screencap.)
rule win_screencap_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.screencap."
        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.screencap"
        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 = { 488b4c2450 488364242000 488d0591e90000 488b0cc8 4c8d4c2458 488d542460 498b0c0f }
            // n = 7, score = 100
            //   488b4c2450           | mov                 eax, dword ptr [ebp + 0x3164]
            //   488364242000         | mov                 dword ptr [ebp - 0x1c], eax
            //   488d0591e90000       | add                 byte ptr [ebx - 0x75], dl
            //   488b0cc8             | pushfd              
            //   4c8d4c2458           | and                 al, 0x40
            //   488d542460           | adc                 dword ptr [eax], eax
            //   498b0c0f             | add                 byte ptr [ebp + 0x56082444], cl

        $sequence_1 = { 41c1eb05 418d5f01 41c1e302 83fe08 }
            // n = 4, score = 100
            //   41c1eb05             | cmp                 eax, 0x1e00000
            //   418d5f01             | jbe                 0xcf
            //   41c1e302             | dec                 eax
            //   83fe08               | lea                 ecx, [ebp + 0xd0]

        $sequence_2 = { 4883ec20 4c8d25a09c0000 33f6 33db 498bfc 837f0801 7526 }
            // n = 7, score = 100
            //   4883ec20             | je                  0x1b26
            //   4c8d25a09c0000       | dec                 eax
            //   33f6                 | mov                 ecx, dword ptr [esp + 0x40]
            //   33db                 | test                eax, eax
            //   498bfc               | je                  0x1b41
            //   837f0801             | movsx               edx, byte ptr [esp + 0x50]
            //   7526                 | dec                 eax

        $sequence_3 = { 39842420100000 0f869f010000 6a04 687c334700 55 e8???????? }
            // n = 6, score = 100
            //   39842420100000       | dec                 eax
            //   0f869f010000         | or                  ecx, 0xffffffff
            //   6a04                 | dec                 eax
            //   687c334700           | mov                 dword ptr [edi - 1], edx
            //   55                   | dec                 ecx
            //   e8????????           |                     

        $sequence_4 = { 488bce ff15???????? bf00080000 3bdf 7702 }
            // n = 5, score = 100
            //   488bce               | movzx               ecx, word ptr [ebp + 0xda]
            //   ff15????????         |                     
            //   bf00080000           | movzx               edx, word ptr [ebp + 0xd8]
            //   3bdf                 | inc                 esp
            //   7702                 | movzx               eax, word ptr [ebp + 0xd6]

        $sequence_5 = { 72ed 48833d????????00 741f 488d0d06130100 e8???????? }
            // n = 5, score = 100
            //   72ed                 | inc                 ecx
            //   48833d????????00     |                     
            //   741f                 | lea                 ebx, [edi + 1]
            //   488d0d06130100       | inc                 ebp
            //   e8????????           |                     

        $sequence_6 = { 8bdf e8???????? 85ff 741c 488d4c2450 0fb601 84c0 }
            // n = 7, score = 100
            //   8bdf                 | inc                 ebp
            //   e8????????           |                     
            //   85ff                 | test                ah, ah
            //   741c                 | jne                 0x18e9
            //   488d4c2450           | inc                 esp
            //   0fb601               | cmp                 byte ptr [ebp - 0x68], dl
            //   84c0                 | je                  0x1fa1

        $sequence_7 = { 3bf8 0f869c000000 6a04 687c334700 55 e8???????? }
            // n = 6, score = 100
            //   3bf8                 | arpl                ax, ax
            //   0f869c000000         | dec                 esp
            //   6a04                 | lea                 ecx, [0xffff98a0]
            //   687c334700           | dec                 ecx
            //   55                   | mov                 ecx, eax
            //   e8????????           |                     

        $sequence_8 = { 8d854c100000 50 ff15???????? 8bf0 8975e0 85f6 0f84bb030000 }
            // n = 7, score = 100
            //   8d854c100000         | inc                 esp
            //   50                   | mov                 ecx, dword ptr [esp + 0x7c]
            //   ff15????????         |                     
            //   8bf0                 | inc                 esp
            //   8975e0               | mov                 eax, dword ptr [esp + 0x78]
            //   85f6                 | mov                 dword ptr [esp + 0x20], 1
            //   0f84bb030000         | dec                 esp

        $sequence_9 = { 89470c 894710 894714 8d854c2c0000 50 e8???????? 6805040000 }
            // n = 7, score = 100
            //   89470c               | mov                 dword ptr [esp + 0x38], edi
            //   894710               | mov                 dword ptr [esp + 0x30], esi
            //   894714               | dec                 ecx
            //   8d854c2c0000         | mov                 ecx, esi
            //   50                   | dec                 esp
            //   e8????????           |                     
            //   6805040000           | mov                 dword ptr [esp + 0x28], ebp

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