SYMBOLCOMMON_NAMEaka. SYNONYMS
win.industrial_spy (Back to overview)

Industrial Spy


A ransomware that emerged in April 2022.

References
2022-08-01ZscalerAtinderpal Singh
@online{singh:20220801:technical:ab3b0b8, author = {Atinderpal Singh}, title = {{Technical Analysis of Industrial Spy Ransomware}}, date = {2022-08-01}, organization = {Zscaler}, url = {https://www.zscaler.com/blogs/security-research/technical-analysis-industrial-spy-ransomware}, language = {English}, urldate = {2022-08-02} } Technical Analysis of Industrial Spy Ransomware
Industrial Spy
Yara Rules
[TLP:WHITE] win_industrial_spy_auto (20230715 | Detects win.industrial_spy.)
rule win_industrial_spy_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-07-11"
        version = "1"
        description = "Detects win.industrial_spy."
        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.industrial_spy"
        malpedia_rule_date = "20230705"
        malpedia_hash = "42d0574f4405bd7d2b154d321d345acb18834a41"
        malpedia_version = "20230715"
        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 = { e8???????? 4c8b8db0010000 488d5544 4c8bc6 895c2420 488d8dc8000000 }
            // n = 6, score = 100
            //   e8????????           |                     
            //   4c8b8db0010000       | mov                 dword ptr [edx], eax
            //   488d5544             | inc                 ecx
            //   4c8bc6               | movzx               eax, byte ptr [ecx + 4]
            //   895c2420             | shl                 eax, 0x18
            //   488d8dc8000000       | inc                 ecx

        $sequence_1 = { 4c8b8db0010000 8d48ff 4869c184000000 4c8d45c0 895c2420 4c03c0 }
            // n = 6, score = 100
            //   4c8b8db0010000       | dec                 eax
            //   8d48ff               | mov                 eax, dword ptr [esp + 0x28]
            //   4869c184000000       | add                 ecx, eax
            //   4c8d45c0             | inc                 ebx
            //   895c2420             | mov                 dword ptr [esi], ecx
            //   4c03c0               | cmp                 edx, eax

        $sequence_2 = { 8d6fcf 3beb 7635 488d742432 4c8b842408010000 488d8c24f8000000 }
            // n = 6, score = 100
            //   8d6fcf               | inc                 ecx
            //   3beb                 | mov                 edx, 1
            //   7635                 | inc                 esp
            //   488d742432           | mov                 dword ptr [ebp + 0x44], eax
            //   4c8b842408010000     | mov                 eax, edx
            //   488d8c24f8000000     | mov                 dword ptr [ebp + 0x40], edx

        $sequence_3 = { 488bf3 48c1fe06 4c8d2d36050100 83e03f 4c8d24c0 498b44f500 42f644e03801 }
            // n = 7, score = 100
            //   488bf3               | xor                 ecx, ecx
            //   48c1fe06             | inc                 ebp
            //   4c8d2d36050100       | mov                 eax, edi
            //   83e03f               | mov                 edx, 0x40000000
            //   4c8d24c0             | dec                 ecx
            //   498b44f500           | mov                 ecx, esp
            //   42f644e03801         | mov                 dword ptr [esp + 0x28], 0x80

        $sequence_4 = { 4c8d059f1c0100 488d15a01c0100 e8???????? 4885c0 740f 488bcb 4883c420 }
            // n = 7, score = 100
            //   4c8d059f1c0100       | add                 ebx, 4
            //   488d15a01c0100       | shl                 ecx, 4
            //   e8????????           |                     
            //   4885c0               | or                  esi, eax
            //   740f                 | inc                 esp
            //   488bcb               | movzx               esi, byte ptr [edx]
            //   4883c420             | dec                 ecx

        $sequence_5 = { 4533db 498bd3 4c8d0587c9feff 4b8b8ce000430200 4803ca }
            // n = 5, score = 100
            //   4533db               | jg                  0x763
            //   498bd3               | inc                 ebp
            //   4c8d0587c9feff       | xor                 ecx, ecx
            //   4b8b8ce000430200     | ret                 
            //   4803ca               | dec                 eax

        $sequence_6 = { b801040000 eb44 488d442430 895c2428 458d4a01 4889442420 4c8d45c0 }
            // n = 7, score = 100
            //   b801040000           | mov                 dword ptr [ebp + 0x44], eax
            //   eb44                 | jmp                 0x1a88
            //   488d442430           | mov                 dword ptr [ebp + 0x40], esi
            //   895c2428             | inc                 esp
            //   458d4a01             | mov                 dword ptr [ebp + 0x44], esi
            //   4889442420           | dec                 eax
            //   4c8d45c0             | mov                 edx, ebx

        $sequence_7 = { 85ff 0f84df020000 448baba0000000 428d04fd00000000 4a8d1400 488945f0 0fb632 }
            // n = 7, score = 100
            //   85ff                 | inc                 esp
            //   0f84df020000         | add                 eax, eax
            //   448baba0000000       | inc                 ecx
            //   428d04fd00000000     | rol                 eax, 0x10
            //   4a8d1400             | inc                 ecx
            //   488945f0             | xor                 eax, edx
            //   0fb632               | add                 eax, dword ptr [ebp - 0x40]

        $sequence_8 = { 23c2 448bda 0bc8 41f7d3 034de4 418bc0 4403d1 }
            // n = 7, score = 100
            //   23c2                 | lea                 eax, [esp + 0x44]
            //   448bda               | mov                 edx, dword ptr [esp + 0x40]
            //   0bc8                 | dec                 eax
            //   41f7d3               | mov                 eax, dword ptr [esp + 0x40]
            //   034de4               | dec                 eax
            //   418bc0               | cmp                 ecx, 0x6400000
            //   4403d1               | jbe                 0xc57

        $sequence_9 = { 488d3dc1640100 488b0c3b 4885c9 740a e8???????? 4883243b00 4883c308 }
            // n = 7, score = 100
            //   488d3dc1640100       | inc                 ecx
            //   488b0c3b             | cmp                 esp, 0x20
            //   4885c9               | jae                 0x3f6
            //   740a                 | inc                 ebp
            //   e8????????           |                     
            //   4883243b00           | xor                 edx, edx
            //   4883c308             | dec                 ebp

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