SYMBOLCOMMON_NAMEaka. SYNONYMS
win.stegoloader (Back to overview)

StegoLoader

VTCollection    

There is no description at this point.

References
2015-06-15SecureworksCTU Research Team
Stegoloader: A Stealthy Information Stealer
StegoLoader
Yara Rules
[TLP:WHITE] win_stegoloader_auto (20230808 | Detects win.stegoloader.)
rule win_stegoloader_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.stegoloader."
        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.stegoloader"
        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 = { f7db 1bdb f7d3 235dfc 3bdf 7409 }
            // n = 6, score = 200
            //   f7db                 | neg                 ebx
            //   1bdb                 | sbb                 ebx, ebx
            //   f7d3                 | not                 ebx
            //   235dfc               | and                 ebx, dword ptr [ebp - 4]
            //   3bdf                 | cmp                 ebx, edi
            //   7409                 | je                  0xb

        $sequence_1 = { 4a 75f0 8a043e 46 84c0 7669 0fb6c0 }
            // n = 7, score = 200
            //   4a                   | dec                 edx
            //   75f0                 | jne                 0xfffffff2
            //   8a043e               | mov                 al, byte ptr [esi + edi]
            //   46                   | inc                 esi
            //   84c0                 | test                al, al
            //   7669                 | jbe                 0x6b
            //   0fb6c0               | movzx               eax, al

        $sequence_2 = { 59 eb32 8bc8 837db806 }
            // n = 4, score = 200
            //   59                   | pop                 ecx
            //   eb32                 | jmp                 0x34
            //   8bc8                 | mov                 ecx, eax
            //   837db806             | cmp                 dword ptr [ebp - 0x48], 6

        $sequence_3 = { 59 7422 43 3b5e14 76e2 ff45fc 837dfc02 }
            // n = 7, score = 200
            //   59                   | pop                 ecx
            //   7422                 | je                  0x24
            //   43                   | inc                 ebx
            //   3b5e14               | cmp                 ebx, dword ptr [esi + 0x14]
            //   76e2                 | jbe                 0xffffffe4
            //   ff45fc               | inc                 dword ptr [ebp - 4]
            //   837dfc02             | cmp                 dword ptr [ebp - 4], 2

        $sequence_4 = { 0f84f9010000 c645a443 c645a54d c645a644 }
            // n = 4, score = 200
            //   0f84f9010000         | je                  0x1ff
            //   c645a443             | mov                 byte ptr [ebp - 0x5c], 0x43
            //   c645a54d             | mov                 byte ptr [ebp - 0x5b], 0x4d
            //   c645a644             | mov                 byte ptr [ebp - 0x5a], 0x44

        $sequence_5 = { c645e968 c645ea65 c645eb6c c645ec6c c645ed5f c645ee54 c645ef72 }
            // n = 7, score = 200
            //   c645e968             | mov                 byte ptr [ebp - 0x17], 0x68
            //   c645ea65             | mov                 byte ptr [ebp - 0x16], 0x65
            //   c645eb6c             | mov                 byte ptr [ebp - 0x15], 0x6c
            //   c645ec6c             | mov                 byte ptr [ebp - 0x14], 0x6c
            //   c645ed5f             | mov                 byte ptr [ebp - 0x13], 0x5f
            //   c645ee54             | mov                 byte ptr [ebp - 0x12], 0x54
            //   c645ef72             | mov                 byte ptr [ebp - 0x11], 0x72

        $sequence_6 = { 7415 ff75f4 8bcb ff7604 }
            // n = 4, score = 200
            //   7415                 | je                  0x17
            //   ff75f4               | push                dword ptr [ebp - 0xc]
            //   8bcb                 | mov                 ecx, ebx
            //   ff7604               | push                dword ptr [esi + 4]

        $sequence_7 = { 8d0481 8b0438 03c7 3bc6 720e 8b4df0 03ce }
            // n = 7, score = 200
            //   8d0481               | lea                 eax, [ecx + eax*4]
            //   8b0438               | mov                 eax, dword ptr [eax + edi]
            //   03c7                 | add                 eax, edi
            //   3bc6                 | cmp                 eax, esi
            //   720e                 | jb                  0x10
            //   8b4df0               | mov                 ecx, dword ptr [ebp - 0x10]
            //   03ce                 | add                 ecx, esi

        $sequence_8 = { ff742414 8bce ff5004 84c0 }
            // n = 4, score = 200
            //   ff742414             | push                dword ptr [esp + 0x14]
            //   8bce                 | mov                 ecx, esi
            //   ff5004               | call                dword ptr [eax + 4]
            //   84c0                 | test                al, al

        $sequence_9 = { 03df 8b03 03c7 33c9 3808 7407 }
            // n = 6, score = 200
            //   03df                 | add                 ebx, edi
            //   8b03                 | mov                 eax, dword ptr [ebx]
            //   03c7                 | add                 eax, edi
            //   33c9                 | xor                 ecx, ecx
            //   3808                 | cmp                 byte ptr [eax], cl
            //   7407                 | je                  9

        $sequence_10 = { 8d0448 0fb70438 eb07 662b5e10 0fb7c3 8b4e1c }
            // n = 6, score = 200
            //   8d0448               | lea                 eax, [eax + ecx*2]
            //   0fb70438             | movzx               eax, word ptr [eax + edi]
            //   eb07                 | jmp                 9
            //   662b5e10             | sub                 bx, word ptr [esi + 0x10]
            //   0fb7c3               | movzx               eax, bx
            //   8b4e1c               | mov                 ecx, dword ptr [esi + 0x1c]

        $sequence_11 = { 83c604 4b 890411 75db eb0a }
            // n = 5, score = 200
            //   83c604               | add                 esi, 4
            //   4b                   | dec                 ebx
            //   890411               | mov                 dword ptr [ecx + edx], eax
            //   75db                 | jne                 0xffffffdd
            //   eb0a                 | jmp                 0xc

        $sequence_12 = { 33db 56 668945f4 83c002 33f6 3bd3 }
            // n = 6, score = 200
            //   33db                 | xor                 ebx, ebx
            //   56                   | push                esi
            //   668945f4             | mov                 word ptr [ebp - 0xc], ax
            //   83c002               | add                 eax, 2
            //   33f6                 | xor                 esi, esi
            //   3bd3                 | cmp                 edx, ebx

        $sequence_13 = { 7e68 8b4d0c 8b4508 53 56 57 8b7d10 }
            // n = 7, score = 200
            //   7e68                 | jle                 0x6a
            //   8b4d0c               | mov                 ecx, dword ptr [ebp + 0xc]
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   53                   | push                ebx
            //   56                   | push                esi
            //   57                   | push                edi
            //   8b7d10               | mov                 edi, dword ptr [ebp + 0x10]

        $sequence_14 = { 7409 8b01 6a01 ff10 897d0c }
            // n = 5, score = 200
            //   7409                 | je                  0xb
            //   8b01                 | mov                 eax, dword ptr [ecx]
            //   6a01                 | push                1
            //   ff10                 | call                dword ptr [eax]
            //   897d0c               | mov                 dword ptr [ebp + 0xc], edi

        $sequence_15 = { 8a4510 f6d8 1bc0 83e004 894510 e8???????? 3bc3 }
            // n = 7, score = 200
            //   8a4510               | mov                 al, byte ptr [ebp + 0x10]
            //   f6d8                 | neg                 al
            //   1bc0                 | sbb                 eax, eax
            //   83e004               | and                 eax, 4
            //   894510               | mov                 dword ptr [ebp + 0x10], eax
            //   e8????????           |                     
            //   3bc3                 | cmp                 eax, ebx

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