SYMBOLCOMMON_NAMEaka. SYNONYMS
win.bottomloader (Back to overview)

BottomLoader

VTCollection    

There is no description at this point.

References
2023-12-11 ⋅ Cisco Talos ⋅ Asheer Malhotra, Jungsoo An, Vitor Ventura
Operation Blacksmith: Lazarus targets organizations worldwide using novel Telegram-based malware written in DLang
BottomLoader DLRAT HazyLoad NineRAT
Yara Rules
[TLP:WHITE] win_bottomloader_auto (20260917 | Detects win.bottomloader.)
rule win_bottomloader_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.bottomloader."
        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.bottomloader"
        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 = { 488b5708 488b07 48898500ffffff 48899508ffffff 4c8d8d00ffffff 448b4520 498b542408 }
            // n = 7, score = 100
            //   488b5708             | dec                 eax
            //   488b07               | lea                 ecx, [0x50db9]
            //   48898500ffffff       | dec                 esp
            //   48899508ffffff       | mov                 dword ptr [ebp - 0x20], eax
            //   4c8d8d00ffffff       | dec                 ecx
            //   448b4520             | mov                 ecx, ecx
            //   498b542408           | inc                 ebp

        $sequence_1 = { 4c8b8d58fcffff 450fbe2431 488d0d6e3b0800 4883ec20 e8???????? 4883c420 4989c6 }
            // n = 7, score = 100
            //   4c8b8d58fcffff       | lea                 ecx, [0x7f251]
            //   450fbe2431           | dec                 esp
            //   488d0d6e3b0800       | mov                 edx, dword ptr [edi + 8]
            //   4883ec20             | inc                 ecx
            //   e8????????           |                     
            //   4883c420             | movzx               ecx, word ptr [edx + esi*2]
            //   4989c6               | and                 ecx, 0xffff

        $sequence_2 = { 4883ec30 498bf9 8b0a e8???????? 90 488d1dfa5b0400 488d35bb140200 }
            // n = 7, score = 100
            //   4883ec30             | dec                 esp
            //   498bf9               | lea                 eax, [ebp - 0x40]
            //   8b0a                 | xor                 edx, edx
            //   e8????????           |                     
            //   90                   | dec                 eax
            //   488d1dfa5b0400       | mov                 ecx, esi
            //   488d35bb140200       | dec                 eax

        $sequence_3 = { 488b02 488b5208 488945e0 488955e8 4c8d4de0 4c8b4520 488d0d06500a00 }
            // n = 7, score = 100
            //   488b02               | dec                 eax
            //   488b5208             | lea                 esi, [0x7a422]
            //   488945e0             | dec                 eax
            //   488955e8             | mov                 dword ptr [ebp - 8], esi
            //   4c8d4de0             | dec                 eax
            //   4c8b4520             | mov                 dword ptr [ebp - 0x10], 0x16
            //   488d0d06500a00       | dec                 eax

        $sequence_4 = { 4989f8 ba47050000 488d0de8710800 e8???????? 488bc6 482bc7 488945f0 }
            // n = 7, score = 100
            //   4989f8               | dec                 ecx
            //   ba47050000           | mov                 eax, ecx
            //   488d0de8710800       | dec                 eax
            //   e8????????           |                     
            //   488bc6               | sar                 eax, 6
            //   482bc7               | and                 ecx, 0x3f
            //   488945f0             | jbe                 0x1d7c

        $sequence_5 = { 488d056a1e0400 488945d8 48c745d00f000000 488d55d0 b903000000 }
            // n = 5, score = 100
            //   488d056a1e0400       | arpl                bx, ax
            //   488945d8             | dec                 eax
            //   48c745d00f000000     | lea                 ecx, [0x6b5d0]
            //   488d55d0             | inc                 edx
            //   b903000000           | movsx               esi, word ptr [ecx + eax*2]

        $sequence_6 = { 488985f0feffff 488995f8feffff 488d8df0feffff 488b9570feffff 4883ec20 e8???????? 4883c420 }
            // n = 7, score = 100
            //   488985f0feffff       | mov                 ecx, dword ptr [eax + 8]
            //   488995f8feffff       | dec                 eax
            //   488d8df0feffff       | lea                 esi, [0x8edab]
            //   488b9570feffff       | dec                 eax
            //   4883ec20             | mov                 dword ptr [ebp - 0x18], esi
            //   e8????????           |                     
            //   4883c420             | dec                 eax

        $sequence_7 = { 654c8b142558000000 4f8b24ca bac00a0000 498b3c14 4c8b8788000000 4983c008 4c8945e0 }
            // n = 7, score = 100
            //   654c8b142558000000     | mov    dword ptr [ebp - 0x30], ebx
            //   4f8b24ca             | dec                 eax
            //   bac00a0000           | lea                 edx, [0x96c9d]
            //   498b3c14             | dec                 eax
            //   4c8b8788000000       | mov                 dword ptr [ebp - 0x148], edx
            //   4983c008             | dec                 eax
            //   4c8945e0             | mov                 dword ptr [ebp - 0x150], 0xe

        $sequence_8 = { 4531c9 4d89c8 ba9f090000 488d0d4a190b00 e8???????? 4c8b9508ffffff 410fb632 }
            // n = 7, score = 100
            //   4531c9               | jne                 0x1adb
            //   4d89c8               | dec                 eax
            //   ba9f090000           | mov                 ecx, dword ptr [ebp + 0x10]
            //   488d0d4a190b00       | mov                 ecx, eax
            //   e8????????           |                     
            //   4c8b9508ffffff       | dec                 eax
            //   410fb632             | mov                 esp, ebp

        $sequence_9 = { 48894590 41b901000000 4531c0 bafe060000 488d0d10e80500 e8???????? 488b5e08 }
            // n = 7, score = 100
            //   48894590             | inc                 edx
            //   41b901000000         | cmp                 byte ptr [eax + edi*8 + 0x38], bl
            //   4531c0               | jge                 0x591
            //   bafe060000           | dec                 eax
            //   488d0d10e80500       | mov                 ecx, dword ptr [eax + 0x90]
            //   e8????????           |                     
            //   488b5e08             | dec                 eax

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