SYMBOLCOMMON_NAMEaka. SYNONYMS
win.nailao_locker (Back to overview)

NailaoLocker

VTCollection    

According to Orange Cybwerdefense, NailaoLocker is a ransomware using AES-256-CTR mode, which conveniently logs its encryption activities into a log file.

References
2025-02-27 ⋅ Github (knight0x07) ⋅ neeraj
NailaoLoader: Hiding Execution Flow via Patching
NailaoLocker
2025-02-20 ⋅ Orange Cyberdefense ⋅ Alexis Bonnefoi, Marine PICHON
Meet NailaoLocker: a ransomware distributed in Europe by ShadowPad and PlugX backdoors
NailaoLocker PlugX ShadowPad
2025-02-20 ⋅ Trend Micro ⋅ Daniel Lunghi
Updated Shadowpad Malware Leads to Ransomware Deployment
EvilExtractor NailaoLocker PlugX ShadowPad
2025-02-18 ⋅ Orange Cyberdefense ⋅ Alexis Bonnefoi, Marine PICHON
IOCs Green Nailao campaign (NailaoLocker, ShadowPad)
NailaoLocker PlugX ShadowPad
Yara Rules
[TLP:WHITE] win_nailao_locker_auto (20260917 | Detects win.nailao_locker.)
rule win_nailao_locker_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.nailao_locker."
        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.nailao_locker"
        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 = { eb0f 488d0d567b0100 e8???????? 41ffc6 488d542460 498bcc ff15???????? }
            // n = 7, score = 100
            //   eb0f                 | inc                 ebp
            //   488d0d567b0100       | xor                 esi, esi
            //   e8????????           |                     
            //   41ffc6               | dec                 eax
            //   488d542460           | arpl                si, cx
            //   498bcc               | dec                 eax
            //   ff15????????         |                     

        $sequence_1 = { 85c0 0f8800020000 488b4c2468 488d442478 44897c2430 488d542460 }
            // n = 6, score = 100
            //   85c0                 | xor                 edi, ebx
            //   0f8800020000         | dec                 ebx
            //   488b4c2468           | xchg                dword ptr [esi + edi*8 + 0x212d0], edi
            //   488d442478           | xor                 eax, eax
            //   44897c2430           | dec                 eax
            //   488d542460           | mov                 ebx, dword ptr [esp + 0x50]

        $sequence_2 = { f30f7f48b0 660f6fce f30f6f40c0 0f57c6 f30f7f40c0 }
            // n = 5, score = 100
            //   f30f7f48b0           | je                  0x788
            //   660f6fce             | xor                 edx, edx
            //   f30f6f40c0           | dec                 eax
            //   0f57c6               | mov                 ecx, dword ptr [esp + 0x68]
            //   f30f7f40c0           | dec                 eax

        $sequence_3 = { ff15???????? 85c0 7407 b902000000 cd29 488d0dded90100 e8???????? }
            // n = 7, score = 100
            //   ff15????????         |                     
            //   85c0                 | inc                 ecx
            //   7407                 | and                 edx, 0x3f
            //   b902000000           | dec                 ecx
            //   cd29                 | add                 ebp, eax
            //   488d0dded90100       | dec                 ecx
            //   e8????????           |                     

        $sequence_4 = { 4883ec20 488bd9 488bc2 488d0d1dcf0000 0f57c0 }
            // n = 5, score = 100
            //   4883ec20             | jne                 0xc5d
            //   488bd9               | dec                 eax
            //   488bc2               | lea                 eax, [0x136fe]
            //   488d0d1dcf0000       | dec                 eax
            //   0f57c0               | mov                 ecx, dword ptr [esp + 0x30]

        $sequence_5 = { 4c8d1d4a27ffff 81f9e9fd0000 0f857b010000 8bd7 }
            // n = 4, score = 100
            //   4c8d1d4a27ffff       | ret                 
            //   81f9e9fd0000         | dec                 eax
            //   0f857b010000         | lea                 eax, [0x19d69]
            //   8bd7                 | ret                 

        $sequence_6 = { ff15???????? 85c0 741d 41ffc6 4983c411 443b35???????? 0f8cc8feffff }
            // n = 7, score = 100
            //   ff15????????         |                     
            //   85c0                 | lea                 ecx, [0xd567]
            //   741d                 | mov                 ebx, edx
            //   41ffc6               | dec                 esp
            //   4983c411             | lea                 eax, [0xd556]
            //   443b35????????       |                     
            //   0f8cc8feffff         | dec                 eax

        $sequence_7 = { 48d3cf 4933fb 4b87bcfed0120200 33c0 488b5c2450 }
            // n = 5, score = 100
            //   48d3cf               | dec                 eax
            //   4933fb               | mov                 eax, dword ptr [ebx + 8]
            //   4b87bcfed0120200     | movzx               ecx, byte ptr [eax]
            //   33c0                 | cmp                 cl, 0xe9
            //   488b5c2450           | jne                 0x25f

        $sequence_8 = { ff15???????? 3d04010000 7c0a b8ce000000 e9???????? 48899c2400030000 }
            // n = 6, score = 100
            //   ff15????????         |                     
            //   3d04010000           | jne                 0xe8
            //   7c0a                 | or                  eax, 0xffffffff
            //   b8ce000000           | jmp                 0x15d
            //   e9????????           |                     
            //   48899c2400030000     | dec                 eax

        $sequence_9 = { 488bd3 488bce ff15???????? 85c0 0f8416010000 }
            // n = 5, score = 100
            //   488bd3               | dec                 eax
            //   488bce               | lea                 ecx, [0x17600]
            //   ff15????????         |                     
            //   85c0                 | xorps               xmm0, xmm0
            //   0f8416010000         | dec                 eax

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