SYMBOLCOMMON_NAMEaka. SYNONYMS
win.soul (Back to overview)

Soul

aka: SoulSearcher
VTCollection    

There is no description at this point.

References
2023-03-07Check Point ResearchCheck Point Research
Pandas with a Soul: Chinese Espionage Attacks Against Southeast Asian Government Entities
5.t Downloader 8.t Dropper Soul
2022-02-25FortinetRotem Sde-Or
The Hunt for the Lost Soul: Unraveling the Evolution of the SoulSearcher Malware
Soul
Yara Rules
[TLP:WHITE] win_soul_auto (20230808 | Detects win.soul.)
rule win_soul_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.soul."
        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.soul"
        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 = { 83c404 33f6 897304 8b4304 }
            // n = 4, score = 400
            //   83c404               | je                  0xfc
            //   33f6                 | dec                 eax
            //   897304               | mov                 ecx, edi
            //   8b4304               | inc                 eax

        $sequence_1 = { 897304 8b4304 5f 5e 5b }
            // n = 5, score = 400
            //   897304               | dec                 esp
            //   8b4304               | mov                 esp, dword ptr [esp + 0x278]
            //   5f                   | dec                 eax
            //   5e                   | mov                 esi, dword ptr [esp + 0x2a8]
            //   5b                   | dec                 eax

        $sequence_2 = { 40 803800 75f8 c745fc00000000 90 }
            // n = 5, score = 400
            //   40                   | je                  0x2c8
            //   803800               | test                eax, eax
            //   75f8                 | je                  0x423
            //   c745fc00000000       | inc                 ebp
            //   90                   | mov                 eax, ebp

        $sequence_3 = { 75f8 803e00 8bc6 7409 90 fe08 40 }
            // n = 7, score = 400
            //   75f8                 | inc                 eax
            //   803e00               | cmp                 byte ptr [eax], 0
            //   8bc6                 | jne                 0xfffffffd
            //   7409                 | mov                 dword ptr [ebp - 4], 0
            //   90                   | nop                 
            //   fe08                 | mov                 edi, eax
            //   40                   | push                esi

        $sequence_4 = { d3e2 8515???????? 7405 e8???????? }
            // n = 4, score = 400
            //   d3e2                 | shl                 edx, cl
            //   8515????????         |                     
            //   7405                 | je                  7
            //   e8????????           |                     

        $sequence_5 = { 8b03 8b36 50 e8???????? 8bf8 }
            // n = 5, score = 400
            //   8b03                 | mov                 ebx, dword ptr [esp + 0x298]
            //   8b36                 | dec                 eax
            //   50                   | mov                 ebp, dword ptr [esp + 0x2a0]
            //   e8????????           |                     
            //   8bf8                 | dec                 eax

        $sequence_6 = { 5d c3 57 eb05 85f6 }
            // n = 5, score = 400
            //   5d                   | movzx               ebx, dh
            //   c3                   | test                eax, eax
            //   57                   | mov                 esi, 0
            //   eb05                 | cmove               ebx, esi
            //   85f6                 | dec                 eax

        $sequence_7 = { ff25???????? ff25???????? ff25???????? ff25???????? 48895c2408 4889742410 57 }
            // n = 7, score = 400
            //   ff25????????         |                     
            //   ff25????????         |                     
            //   ff25????????         |                     
            //   ff25????????         |                     
            //   48895c2408           | dec                 eax
            //   4889742410           | mov                 dword ptr [esp + 8], ebx
            //   57                   | dec                 eax

        $sequence_8 = { ff45fc 85f6 7506 837dfc04 7cda }
            // n = 5, score = 400
            //   ff45fc               | cmp                 dword ptr [esp + 0x78], 8
            //   85f6                 | cmp                 eax, 0x106
            //   7506                 | jae                 0xb
            //   837dfc04             | inc                 ebp
            //   7cda                 | test                edi, edi

        $sequence_9 = { c745fc00000000 8da42400000000 8b4df8 51 }
            // n = 4, score = 400
            //   c745fc00000000       | mov                 ecx, dword ptr [esp + 0x260]
            //   8da42400000000       | dec                 eax
            //   8b4df8               | xor                 ecx, esp
            //   51                   | dec                 eax

        $sequence_10 = { e9???????? 8b531c c1e002 8bc8 }
            // n = 4, score = 200
            //   e9????????           |                     
            //   8b531c               | sub                 esp, 0x30
            //   c1e002               | dec                 eax
            //   8bc8                 | mov                 ebx, ecx

        $sequence_11 = { 6644896c2438 48837f1808 7319 4c8b4710 49ffc0 4d03c0 }
            // n = 6, score = 200
            //   6644896c2438         | dec                 eax
            //   48837f1808           | mov                 dword ptr [esp + 8], ebx
            //   7319                 | dec                 eax
            //   4c8b4710             | mov                 dword ptr [esp + 0x10], esi
            //   49ffc0               | push                edi
            //   4d03c0               | dec                 eax

        $sequence_12 = { 4983fc08 7208 498bcd e8???????? b801000000 488b8db0010000 4833cc }
            // n = 7, score = 200
            //   4983fc08             | inc                 ecx
            //   7208                 | test                byte ptr [esi + 0x10], 4
            //   498bcd               | je                  0x53
            //   e8????????           |                     
            //   b801000000           | jne                 0xfffffffa
            //   488b8db0010000       | cmp                 byte ptr [esi], 0
            //   4833cc               | mov                 eax, esi

        $sequence_13 = { 7475 453bcc 7370 488b5330 4c8b5318 488b7338 }
            // n = 6, score = 200
            //   7475                 | lea                 esp, [esp]
            //   453bcc               | cmp                 dword ptr [esi + 4], 0
            //   7370                 | lea                 ebx, [esi + 4]
            //   488b5330             | cmp                 dword ptr [ebp - 4], 4
            //   4c8b5318             | jl                  0xffffffe0
            //   488b7338             | mov                 dword ptr [ebp - 4], 0

        $sequence_14 = { 48895c2420 ff16 85c0 0f85f7000000 488b442420 4885c0 0f84e4000000 }
            // n = 7, score = 200
            //   48895c2420           | dec                 eax
            //   ff16                 | mov                 ebx, ecx
            //   85c0                 | dec                 eax
            //   0f85f7000000         | test                ecx, ecx
            //   488b442420           | dec                 eax
            //   4885c0               | mov                 dword ptr [esp + 8], ebx
            //   0f84e4000000         | dec                 eax

        $sequence_15 = { 4c8bac2470020000 4c8ba42478020000 488bb424a8020000 488b9c2498020000 488bac24a0020000 488b8c2460020000 4833cc }
            // n = 7, score = 200
            //   4c8bac2470020000     | dec                 eax
            //   4c8ba42478020000     | mov                 dword ptr [esp + 8], ebx
            //   488bb424a8020000     | dec                 eax
            //   488b9c2498020000     | mov                 dword ptr [esp + 0x10], esi
            //   488bac24a0020000     | push                edi
            //   488b8c2460020000     | dec                 eax
            //   4833cc               | sub                 esp, 0x30

        $sequence_16 = { 8bc1 c1e805 478d541201 662bc8 }
            // n = 4, score = 200
            //   8bc1                 | lea                 esp, [esp]
            //   c1e805               | shl                 edx, cl
            //   478d541201           | je                  7
            //   662bc8               | xor                 esi, esi

        $sequence_17 = { 0f8889000000 7e74 817d0063736de0 7528 48833d????????00 741e 488d0d49ad0000 }
            // n = 7, score = 200
            //   0f8889000000         | je                  0x12
            //   7e74                 | nop                 
            //   817d0063736de0       | dec                 byte ptr [eax]
            //   7528                 | inc                 eax
            //   48833d????????00     |                     
            //   741e                 | mov                 edi, eax
            //   488d0d49ad0000       | je                  0x3e

        $sequence_18 = { 3d06010000 7309 4585ff 0f84bd020000 85c0 0f8410040000 458bc5 }
            // n = 7, score = 200
            //   3d06010000           | dec                 eax
            //   7309                 | mov                 dword ptr [esp + 0x10], esi
            //   4585ff               | push                edi
            //   0f84bd020000         | dec                 eax
            //   85c0                 | mov                 dword ptr [esp + 8], ebx
            //   0f8410040000         | dec                 eax
            //   458bc5               | mov                 dword ptr [esp + 0x10], esi

        $sequence_19 = { 4883c302 85c0 75ed 85d2 7416 4885ff }
            // n = 6, score = 200
            //   4883c302             | je                  6
            //   85c0                 | inc                 esp
            //   75ed                 | mov                 dword ptr [eax + 4], ebp
            //   85d2                 | inc                 ecx
            //   7416                 | test                dword ptr [esi + 0x18], 0x200
            //   4885ff               | je                  0x53

        $sequence_20 = { 488bcf ff15???????? 400fb6de 85c0 be00000000 0f44de 48837c247808 }
            // n = 7, score = 200
            //   488bcf               | mov                 dword ptr [esp + 0x10], esi
            //   ff15????????         |                     
            //   400fb6de             | push                edi
            //   85c0                 | dec                 eax
            //   be00000000           | sub                 esp, 0x30
            //   0f44de               | dec                 eax
            //   48837c247808         | mov                 dword ptr [esp + 8], ebx

        $sequence_21 = { 488d4de0 e8???????? 90 4c8d056e310200 488bd0 488d4db8 }
            // n = 6, score = 200
            //   488d4de0             | push                edi
            //   e8????????           |                     
            //   90                   | dec                 eax
            //   4c8d056e310200       | sub                 esp, 0x30
            //   488bd0               | inc                 ecx
            //   488d4db8             | shr                 ebp, cl

        $sequence_22 = { 41d3ed 83ff20 7321 85f6 0f84d30c0000 410fb60424 }
            // n = 6, score = 200
            //   41d3ed               | mov                 dword ptr [esp + 0x10], esi
            //   83ff20               | push                edi
            //   7321                 | dec                 eax
            //   85f6                 | sub                 esp, 0x30
            //   0f84d30c0000         | dec                 eax
            //   410fb60424           | mov                 ebx, ecx

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