SYMBOLCOMMON_NAMEaka. SYNONYMS
win.funksec (Back to overview)

FunkSec

VTCollection    

According to Check Point Research, a ransomware written in Rust that was likely developed using the aid of an LLM to produce code snippets.

References
2025-01-10 ⋅ Check Point Research ⋅ Check Point Research
FunkSec – Alleged Top Ransomware Group Powered by AI
FunkSec
Yara Rules
[TLP:WHITE] win_funksec_auto (20260917 | Detects win.funksec.)
rule win_funksec_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.funksec."
        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.funksec"
        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???????? 664689bc766c010000 4589f7 41c1e705 4a8d143e 89f9 c1e105 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   664689bc766c010000     | lea    eax, [0x1bf57f]
            //   4589f7               | dec                 eax
            //   41c1e705             | mov                 edx, esi
            //   4a8d143e             | dec                 esp
            //   89f9                 | lea                 eax, [0x1bf588]
            //   c1e105               | dec                 eax

        $sequence_1 = { e9???????? 488d150bd81300 41b81c000000 4889c1 4883c438 e9???????? 4883c108 }
            // n = 7, score = 100
            //   e9????????           |                     
            //   488d150bd81300       | dec                 eax
            //   41b81c000000         | mov                 dword ptr [esp + 0x20], eax
            //   4889c1               | dec                 eax
            //   4883c438             | lea                 ecx, [0x27d35b]
            //   e9????????           |                     
            //   4883c108             | dec                 esp

        $sequence_2 = { e9???????? 488d8db8000000 e8???????? 488b85b8000000 4885c0 0f8423feffff f048ff08 }
            // n = 7, score = 100
            //   e9????????           |                     
            //   488d8db8000000       | inc                 ecx
            //   e8????????           |                     
            //   488b85b8000000       | mov                 eax, 0x13
            //   4885c0               | dec                 eax
            //   0f8423feffff         | mov                 ecx, eax
            //   f048ff08             | dec                 eax

        $sequence_3 = { c3 488d442424 4889442428 488d0593070000 4889442430 488d051fea1e00 4889442438 }
            // n = 7, score = 100
            //   c3                   | and                 eax, 0x3f
            //   488d442424           | inc                 ecx
            //   4889442428           | shl                 eax, 6
            //   488d0593070000       | inc                 ecx
            //   4889442430           | and                 ecx, 0x3f
            //   488d051fea1e00       | inc                 ebp
            //   4889442438           | or                  ecx, eax

        $sequence_4 = { e8???????? 4c8d050c732f00 4889c2 e8???????? 4c8d05fd722f00 b902000000 ba02000000 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   4c8d050c732f00       | mov                 ecx, esi
            //   4889c2               | dec                 ecx
            //   e8????????           |                     
            //   4c8d05fd722f00       | mov                 edi, eax
            //   b902000000           | dec                 ecx
            //   ba02000000           | mov                 esi, edx

        $sequence_5 = { ff5020 eb4f 488b4108 4885c0 7413 f048ff08 750d }
            // n = 7, score = 100
            //   ff5020               | dec                 eax
            //   eb4f                 | shl                 eax, 1
            //   488b4108             | dec                 eax
            //   4885c0               | test                eax, eax
            //   7413                 | call                dword ptr [eax + 0x20]
            //   f048ff08             | and                 bl, 1
            //   750d                 | mov                 byte ptr [ebp + 0x78f], bl

        $sequence_6 = { 80e301 41d0e9 4180e101 48be0000000000000080 48897108 44894120 44895124 }
            // n = 7, score = 100
            //   80e301               | mov                 edx, dword ptr [ebp + 0x188]
            //   41d0e9               | sub                 eax, edx
            //   4180e101             | jg                  0x179
            //   48be0000000000000080     | inc    esp
            //   48897108             | mov                 edi, ebp
            //   44894120             | inc                 ebp
            //   44895124             | mov                 eax, ebx

        $sequence_7 = { e9???????? 488d1515313500 488d8d80000000 41b815000000 e9???????? 488d85b8000000 48894558 }
            // n = 7, score = 100
            //   e9????????           |                     
            //   488d1515313500       | lea                 ecx, [0x1a395d]
            //   488d8d80000000       | dec                 esp
            //   41b815000000         | lea                 eax, [0x1a388c]
            //   e9????????           |                     
            //   488d85b8000000       | dec                 eax
            //   48894558             | lea                 ecx, [0x13775d]

        $sequence_8 = { f30f6f8570020000 0f108d80020000 488b8de8010000 0f114938 f30f7f4128 4c894110 48895118 }
            // n = 7, score = 100
            //   f30f6f8570020000     | movdqu              xmm2, xmmword ptr [edi + edx + 0x10]
            //   0f108d80020000       | pmaxub              xmm1, xmm2
            //   488b8de8010000       | dec                 eax
            //   0f114938             | add                 edx, 0x20
            //   f30f7f4128           | dec                 eax
            //   4c894110             | cmp                 eax, edx
            //   48895118             | jne                 0x2c

        $sequence_9 = { e8???????? 84c0 0f84b40b0000 488b8590020000 0fb68d98020000 4c8d8530020000 410f104070 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   84c0                 | mov                 dword ptr [ebp + 0x328], edi
            //   0f84b40b0000         | dec                 esp
            //   488b8590020000       | lea                 eax, [0x15d5f3]
            //   0fb68d98020000       | dec                 eax
            //   4c8d8530020000       | mov                 ecx, eax
            //   410f104070           | dec                 esp

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