SYMBOLCOMMON_NAMEaka. SYNONYMS
win.m0yv (Back to overview)

m0yv

VTCollection    

Modular x86/x64 file infector created/used by Maze ransomware developer. According to the author, it has been mistakenly tagged by AVs as Expiro.

References
2023-03-31 ⋅ Youtube (ThreatCatch) ⋅ ThreatCat.ch
Sinkholing the Domain Generation Algorithm of m0yv
Expiro m0yv
2022-02-09 ⋅ Security Affairs ⋅ Pierluigi Paganini
Master decryption keys for Maze, Egregor, and Sekhmet ransomware leaked online
Egregor m0yv Maze Sekhmet
2022-01-11 ⋅ Github (baderj) ⋅ Johannes Bader
Reimplementation of Expiro's DGA
m0yv
Yara Rules
[TLP:WHITE] win_m0yv_auto (20260917 | Detects win.m0yv.)
rule win_m0yv_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.m0yv."
        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.m0yv"
        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 = { 8b7210 8b7a14 8b5a18 8b6a1c 448b7220 8b5224 412b00 }
            // n = 7, score = 100
            //   8b7210               | dec                 eax
            //   8b7a14               | mov                 ecx, esi
            //   8b5a18               | dec                 esp
            //   8b6a1c               | mov                 edx, edi
            //   448b7220             | dec                 esp
            //   8b5224               | mov                 ecx, edi
            //   412b00               | dec                 eax

        $sequence_1 = { 4883ec20 8bd9 4c8d0da5890100 b906000000 4c8d0591890100 488d150ae20000 }
            // n = 6, score = 100
            //   4883ec20             | inc                 ecx
            //   8bd9                 | or                  al, al
            //   4c8d0da5890100       | mov                 al, byte ptr [edx + 0xe]
            //   b906000000           | xor                 al, byte ptr [ecx + 0xe]
            //   4c8d0591890100       | inc                 esp
            //   488d150ae20000       | or                  al, al

        $sequence_2 = { b802000000 4d85f6 0f84a2000000 4885f6 0f8499000000 85c9 0f8491000000 }
            // n = 7, score = 100
            //   b802000000           | dec                 esp
            //   4d85f6               | mov                 eax, eax
            //   0f84a2000000         | dec                 eax
            //   4885f6               | mov                 ebx, edi
            //   0f8499000000         | dec                 eax
            //   85c9                 | imul                eax, edi
            //   0f8491000000         | dec                 esp

        $sequence_3 = { 4881e5000000fc 4929ed 4a8d1c78 48c1fa1a 4a8d0478 480500000001 }
            // n = 6, score = 100
            //   4881e5000000fc       | sub                 ecx, edi
            //   4929ed               | dec                 eax
            //   4a8d1c78             | mov                 edi, dword ptr [esp + 0xa0]
            //   48c1fa1a             | mov                 dword ptr [edi], ecx
            //   4a8d0478             | mov                 dword ptr [edi + 4], edx
            //   480500000001         | inc                 esp

        $sequence_4 = { 8a420e 32410e 4408c0 448a420f 4432410f 4108c0 }
            // n = 6, score = 100
            //   8a420e               | lea                 edi, [esp + 0x5e0]
            //   32410e               | dec                 ebp
            //   4408c0               | mov                 eax, edi
            //   448a420f             | dec                 eax
            //   4432410f             | mov                 ecx, esi
            //   4108c0               | dec                 esp

        $sequence_5 = { 4c01f3 4889d9 e8???????? 4889f9 89c2 }
            // n = 5, score = 100
            //   4c01f3               | sub                 esi, eax
            //   4889d9               | dec                 edx
            //   e8????????           |                     
            //   4889f9               | lea                 eax, [edx]
            //   89c2                 | dec                 eax

        $sequence_6 = { 498d4e08 48894c2428 498d4ef8 48894c2430 4c8d2d99020000 eb2f 4183c401 }
            // n = 7, score = 100
            //   498d4e08             | dec                 eax
            //   48894c2428           | mov                 eax, dword ptr [esp + 0x118]
            //   498d4ef8             | dec                 eax
            //   48894c2430           | mov                 ecx, dword ptr [esp + 0x148]
            //   4c8d2d99020000       | dec                 eax
            //   eb2f                 | lea                 ebp, [ecx + eax]
            //   4183c401             | dec                 eax

        $sequence_7 = { 4889fa 4889c7 4c89c0 490faff8 4889bc2480000000 4d01c0 480fafc0 }
            // n = 7, score = 100
            //   4889fa               | add                 ebx, eax
            //   4889c7               | dec                 eax
            //   4c89c0               | mov                 ecx, dword ptr [esp + 0x88]
            //   490faff8             | dec                 ecx
            //   4889bc2480000000     | imul                ecx, eax
            //   4d01c0               | dec                 esp
            //   480fafc0             | mov                 eax, edi

        $sequence_8 = { c744242000000000 31ed ba05000000 41b801000000 4531c9 ff5018 488b37 }
            // n = 7, score = 100
            //   c744242000000000     | dec                 ecx
            //   31ed                 | mov                 esi, ecx
            //   ba05000000           | dec                 eax
            //   41b801000000         | lea                 esi, [esp + 0xb0]
            //   4531c9               | dec                 eax
            //   ff5018               | mov                 ecx, esi
            //   488b37               | push                ebx

        $sequence_9 = { 488d4b0a e8???????? c1e804 25ffff1f00 4889842488010000 488d4b0d e8???????? }
            // n = 7, score = 100
            //   488d4b0a             | mov                 eax, ecx
            //   e8????????           |                     
            //   c1e804               | dec                 eax
            //   25ffff1f00           | add                 ecx, esi
            //   4889842488010000     | dec                 eax
            //   488d4b0d             | rol                 eax, 0x19
            //   e8????????           |                     

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