SYMBOLCOMMON_NAMEaka. SYNONYMS
win.screencap (Back to overview)

ScreenCap


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-12SentinelOneJoey Chen, Amitai Ben Shushan Ehrlich
@online{chen:20221012:wip19:672e865, author = {Joey Chen and Amitai Ben Shushan Ehrlich}, title = {{WIP19 Espionage | New Chinese APT Targets IT Service Providers and Telcos With Signed Malware}}, date = {2022-10-12}, organization = {SentinelOne}, url = {https://www.sentinelone.com/labs/wip19-espionage-new-chinese-apt-targets-it-service-providers-and-telcos-with-signed-malware/}, language = {English}, urldate = {2022-10-24} } WIP19 Espionage | New Chinese APT Targets IT Service Providers and Telcos With Signed Malware
Maggie ScreenCap
Yara Rules
[TLP:WHITE] win_screencap_auto (20230715 | Detects win.screencap.)
rule win_screencap_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-07-11"
        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 = "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 = { 83c8ff e9???????? 4c8bfb 4c8be3 488d055eeb0000 49c1fc05 }
            // n = 6, score = 100
            //   83c8ff               | push                ebx
            //   e9????????           |                     
            //   4c8bfb               | dec                 eax
            //   4c8be3               | sub                 esp, 0x20
            //   488d055eeb0000       | dec                 eax
            //   49c1fc05             | and                 dword ptr [ecx + 8], 0

        $sequence_1 = { 2400 1000 00568b b424 }
            // n = 4, score = 100
            //   2400                 | inc                 ecx
            //   1000                 | cmp                 ecx, ebx
            //   00568b               | jle                 0xa9
            //   b424                 | movzx               eax, word ptr [esp + 0x7a]

        $sequence_2 = { 4c8bc0 8b5020 8b08 448d0c91 488b4c2458 33d2 e8???????? }
            // n = 7, score = 100
            //   4c8bc0               | add                 byte ptr [esi + 0x57], dl
            //   8b5020               | mov                 edi, dword ptr [esp + 0x1010]
            //   8b08                 | mov                 esi, edi
            //   448d0c91             | and                 al, 0
            //   488b4c2458           | adc                 byte ptr [eax], al
            //   33d2                 | add                 byte ptr [esi - 0x75], dl
            //   e8????????           |                     

        $sequence_3 = { 488d1516630000 488d0def620000 e8???????? 85c0 755a 488d0d13200000 e8???????? }
            // n = 7, score = 100
            //   488d1516630000       | jne                 0x375
            //   488d0def620000       | test                eax, eax
            //   e8????????           |                     
            //   85c0                 | jne                 0x480
            //   755a                 | dec                 eax
            //   488d0d13200000       | mov                 ecx, dword ptr [esp + 0x70]
            //   e8????????           |                     

        $sequence_4 = { 770a 488d4c2420 e8???????? 33c0 488b8c2430010000 4833cc e8???????? }
            // n = 7, score = 100
            //   770a                 | cmp                 dword ptr [ecx + 0x14], ebx
            //   488d4c2420           | je                  0x2a4
            //   e8????????           |                     
            //   33c0                 | dec                 eax
            //   488b8c2430010000     | mov                 esi, dword ptr [esp + 0x38]
            //   4833cc               | dec                 eax
            //   e8????????           |                     

        $sequence_5 = { 488d1570c60000 e9???????? 488d1560c60000 e9???????? }
            // n = 4, score = 100
            //   488d1570c60000       | dec                 eax
            //   e9????????           |                     
            //   488d1560c60000       | mov                 dword ptr [esp + 0x68], eax
            //   e9????????           |                     

        $sequence_6 = { ff15???????? ff75e0 ff15???????? 682c384700 ff15???????? 8bf0 85f6 }
            // n = 7, score = 100
            //   ff15????????         |                     
            //   ff75e0               | xor                 edx, edx
            //   ff15????????         |                     
            //   682c384700           | inc                 ecx
            //   ff15????????         |                     
            //   8bf0                 | mov                 eax, 0x104
            //   85f6                 | movzx               ecx, word ptr [ebp + 0xd8]

        $sequence_7 = { 48894c2408 4881ec88000000 488d0d9d220100 ff15???????? 488b05???????? 4889442458 4533c0 }
            // n = 7, score = 100
            //   48894c2408           | dec                 esp
            //   4881ec88000000       | lea                 ecx, [esp + 0x50]
            //   488d0d9d220100       | dec                 esp
            //   ff15????????         |                     
            //   488b05????????       |                     
            //   4889442458           | lea                 eax, [esp + 0x48]
            //   4533c0               | dec                 eax

        $sequence_8 = { 48c1f905 4d6bc058 4d0384c940a30100 eb0a 4c8bc2 4c8d0d7d98ffff }
            // n = 6, score = 100
            //   48c1f905             | dec                 eax
            //   4d6bc058             | mov                 edx, edi
            //   4d0384c940a30100     | mov                 dword ptr [esp + 0x3c], 0
            //   eb0a                 | mov                 dword ptr [esp + 0x40], 8
            //   4c8bc2               | dec                 eax
            //   4c8d0d7d98ffff       | mov                 eax, dword ptr [ecx]

        $sequence_9 = { 488d0d099a0000 48891d???????? e8???????? 488d157a320100 488d4c2420 e8???????? }
            // n = 6, score = 100
            //   488d0d099a0000       | setne               al
            //   48891d????????       |                     
            //   e8????????           |                     
            //   488d157a320100       | inc                 esp
            //   488d4c2420           | lea                 edx, [ecx + 1]
            //   e8????????           |                     

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