SYMBOLCOMMON_NAMEaka. SYNONYMS
win.rc2fm (Back to overview)

RC2FM

VTCollection    

A family identified by ESET Research in the InvisiMole campaign.

References
2020-06-18ESET ResearchAnton Cherepanov, Zuzana Hromcová
Digging up InvisiMole’s hidden arsenal
RC2FM Gamaredon Group
2020-06-08ESET ResearchAnton Cherepanov, Zuzana Hromcová
InvisiMole: The Hidden Part of the Story - Unearthing InvisiMole's Espionage Toolset and Strategic Cooperations
InvisiMole RC2FM
Yara Rules
[TLP:WHITE] win_rc2fm_auto (20230808 | Detects win.rc2fm.)
rule win_rc2fm_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.rc2fm."
        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.rc2fm"
        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 = { 48894c2408 55 57 4154 4156 488d6c24c1 4881ecb8000000 }
            // n = 7, score = 100
            //   48894c2408           | inc                 ecx
            //   55                   | cmp                 dword ptr [edx + 0x40], 2
            //   57                   | dec                 eax
            //   4154                 | mov                 ebp, edx
            //   4156                 | dec                 eax
            //   488d6c24c1           | mov                 ebx, ecx
            //   4881ecb8000000       | dec                 eax

        $sequence_1 = { 4883ec20 498bf1 4d8bf0 4c8bfa 488bd9 ff15???????? }
            // n = 6, score = 100
            //   4883ec20             | mov                 edx, 0x40003
            //   498bf1               | je                  0x958
            //   4d8bf0               | cmp                 eax, -1
            //   4c8bfa               | je                  0x970
            //   488bd9               | inc                 esp
            //   ff15????????         |                     

        $sequence_2 = { 415c 5f 5b c3 488b09 4889ac2480000000 }
            // n = 6, score = 100
            //   415c                 | dec                 esp
            //   5f                   | mov                 esi, edx
            //   5b                   | dec                 esp
            //   c3                   | mov                 dword ptr [esp + 0x30], edi
            //   488b09               | inc                 ebp
            //   4889ac2480000000     | xor                 esi, esi

        $sequence_3 = { b001 eb14 448bc3 ba00000500 b91b000100 e8???????? }
            // n = 6, score = 100
            //   b001                 | inc                 eax
            //   eb14                 | movzx               eax, ch
            //   448bc3               | dec                 eax
            //   ba00000500           | add                 esp, 0x30
            //   b91b000100           | inc                 ecx
            //   e8????????           |                     

        $sequence_4 = { 488b4808 4c897d00 4c89742460 48894df8 8d4e14 e8???????? 6690 }
            // n = 7, score = 100
            //   488b4808             | xor                 esi, esi
            //   4c897d00             | dec                 eax
            //   4c89742460           | mov                 esi, ecx
            //   48894df8             | dec                 eax
            //   8d4e14               | mov                 ebx, edx
            //   e8????????           |                     
            //   6690                 | dec                 esp

        $sequence_5 = { 448bc0 e8???????? eb0f ba0a000b00 b911000100 e8???????? 488b0d???????? }
            // n = 7, score = 100
            //   448bc0               | mov                 esi, dword ptr [esp + 0x30]
            //   e8????????           |                     
            //   eb0f                 | xor                 al, al
            //   ba0a000b00           | dec                 esp
            //   b911000100           | mov                 eax, edi
            //   e8????????           |                     
            //   488b0d????????       |                     

        $sequence_6 = { 0fb68c28304c0200 eb0c 48c1e807 0fb68c28304d0200 4863c1 448bd7 66ff8483b0090000 }
            // n = 7, score = 100
            //   0fb68c28304c0200     | dec                 eax
            //   eb0c                 | lea                 edi, [ecx*8]
            //   48c1e807             | dec                 edx
            //   0fb68c28304d0200     | mov                 ecx, dword ptr [edi + ecx + 0x10]
            //   4863c1               | dec                 eax
            //   448bd7               | arpl                cx, ax
            //   66ff8483b0090000     | dec                 eax

        $sequence_7 = { 88040a ff4328 8b5328 0fb64745 488b4b10 88040a ff4328 }
            // n = 7, score = 100
            //   88040a               | mov                 byte ptr [esp + 0x2c], bh
            //   ff4328               | cpuid               
            //   8b5328               | mov                 dword ptr [esp + 0x24], ecx
            //   0fb64745             | mov                 dword ptr [esp + 0x28], edx
            //   488b4b10             | mov                 dword ptr [esp + 0x20], eax
            //   88040a               | mov                 eax, 0x400
            //   ff4328               | dec                 eax

        $sequence_8 = { 83b98804000000 488bd9 7431 ff8b88040000 8b8388040000 4c8b84c360040000 4d85c0 }
            // n = 7, score = 100
            //   83b98804000000       | mov                 esp, esi
            //   488bd9               | mov                 dword ptr [edi], eax
            //   7431                 | jmp                 0x883
            //   ff8b88040000         | inc                 esp
            //   8b8388040000         | mov                 eax, eax
            //   4c8b84c360040000     | mov                 edx, 0x20006
            //   4d85c0               | mov                 eax, dword ptr [ebp + 7]

        $sequence_9 = { 0f8781010000 83fd09 0f8778010000 448b642478 4183fc04 0f8769010000 488b4938 }
            // n = 7, score = 100
            //   0f8781010000         | je                  0xce1
            //   83fd09               | dec                 eax
            //   0f8778010000         | mov                 ecx, edx
            //   448b642478           | dec                 eax
            //   4183fc04             | sub                 ebx, edx
            //   0f8769010000         | inc                 ebp
            //   488b4938             | mov                 eax, ecx

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