SYMBOLCOMMON_NAMEaka. SYNONYMS
win.milum (Back to overview)

Milum


In August 2019, Kaspersky Labs discovered a malware they dubbed Milum (naming based on internal file name fragments) when investigating an operation they named WildPressure. It is written in C++ using STL, primarily to parse JSON. Functionality includes bidirectional file transmission and remote command execution.

References
2020-09-24Kaspersky LabsKaspersky Lab ICS CERT
@techreport{cert:20200924:threat:2d7986d, author = {Kaspersky Lab ICS CERT}, title = {{Threat landscape for industrial automation systems - H1 2020}}, date = {2020-09-24}, institution = {Kaspersky Labs}, url = {https://ics-cert.kaspersky.com/media/KASPERSKY_H1_2020_ICS_REPORT_EN.pdf}, language = {English}, urldate = {2020-10-04} } Threat landscape for industrial automation systems - H1 2020
Poet RAT Mailto Milum RagnarLocker REvil Ryuk Snake Ransomware
2020-03-24Kaspersky LabsDenis Legezo
@online{legezo:20200324:wildpressure:add6905, author = {Denis Legezo}, title = {{WildPressure targets industrial-related entities in the Middle East}}, date = {2020-03-24}, organization = {Kaspersky Labs}, url = {https://securelist.com/wildpressure-targets-industrial-in-the-middle-east/96360/}, language = {English}, urldate = {2020-03-26} } WildPressure targets industrial-related entities in the Middle East
Milum
Yara Rules
[TLP:WHITE] win_milum_auto (20201014 | autogenerated rule brought to you by yara-signator)
rule win_milum_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2020-10-14"
        version = "1"
        description = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator v0.5.0"
        tool_config = "callsandjumps;datarefs;binvalue"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.milum"
        malpedia_rule_date = "20201014"
        malpedia_hash = "a7e3bd57eaf12bf3ea29a863c041091ba3af9ac9"
        malpedia_version = "20201014"
        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 = { 0f845f150000 3916 0f8557150000 8b4604 3d343f0000 0f8c49150000 3d533f0000 }
            // n = 7, score = 200
            //   0f845f150000         | je                  0x1565
            //   3916                 | cmp                 dword ptr [esi], edx
            //   0f8557150000         | jne                 0x155d
            //   8b4604               | mov                 eax, dword ptr [esi + 4]
            //   3d343f0000           | cmp                 eax, 0x3f34
            //   0f8c49150000         | jl                  0x154f
            //   3d533f0000           | cmp                 eax, 0x3f53

        $sequence_1 = { 50 e8???????? 83c404 c7451c0f000000 895d18 885d08 8bc6 }
            // n = 7, score = 200
            //   50                   | push                eax
            //   e8????????           |                     
            //   83c404               | add                 esp, 4
            //   c7451c0f000000       | mov                 dword ptr [ebp + 0x1c], 0xf
            //   895d18               | mov                 dword ptr [ebp + 0x18], ebx
            //   885d08               | mov                 byte ptr [ebp + 8], bl
            //   8bc6                 | mov                 eax, esi

        $sequence_2 = { 8d8d74faffff 51 e8???????? c645fc0d 8b9574faffff 8b4204 }
            // n = 6, score = 200
            //   8d8d74faffff         | lea                 ecx, [ebp - 0x58c]
            //   51                   | push                ecx
            //   e8????????           |                     
            //   c645fc0d             | mov                 byte ptr [ebp - 4], 0xd
            //   8b9574faffff         | mov                 edx, dword ptr [ebp - 0x58c]
            //   8b4204               | mov                 eax, dword ptr [edx + 4]

        $sequence_3 = { 8b8d30feffff 6a01 83f8ff 7607 68???????? eb05 }
            // n = 6, score = 200
            //   8b8d30feffff         | mov                 ecx, dword ptr [ebp - 0x1d0]
            //   6a01                 | push                1
            //   83f8ff               | cmp                 eax, -1
            //   7607                 | jbe                 9
            //   68????????           |                     
            //   eb05                 | jmp                 7

        $sequence_4 = { 8d45f4 64a300000000 8b4508 8b08 8b5104 83c018 894508 }
            // n = 7, score = 200
            //   8d45f4               | lea                 eax, [ebp - 0xc]
            //   64a300000000         | mov                 dword ptr fs:[0], eax
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   8b08                 | mov                 ecx, dword ptr [eax]
            //   8b5104               | mov                 edx, dword ptr [ecx + 4]
            //   83c018               | add                 eax, 0x18
            //   894508               | mov                 dword ptr [ebp + 8], eax

        $sequence_5 = { b329 885dfc 837de410 8b45d0 7303 8d45d0 }
            // n = 6, score = 200
            //   b329                 | mov                 bl, 0x29
            //   885dfc               | mov                 byte ptr [ebp - 4], bl
            //   837de410             | cmp                 dword ptr [ebp - 0x1c], 0x10
            //   8b45d0               | mov                 eax, dword ptr [ebp - 0x30]
            //   7303                 | jae                 5
            //   8d45d0               | lea                 eax, [ebp - 0x30]

        $sequence_6 = { 83e808 88540d08 c1ee08 41 89773c 894740 83f808 }
            // n = 7, score = 200
            //   83e808               | sub                 eax, 8
            //   88540d08             | mov                 byte ptr [ebp + ecx + 8], dl
            //   c1ee08               | shr                 esi, 8
            //   41                   | inc                 ecx
            //   89773c               | mov                 dword ptr [edi + 0x3c], esi
            //   894740               | mov                 dword ptr [edi + 0x40], eax
            //   83f808               | cmp                 eax, 8

        $sequence_7 = { 83c41c 8bcc 89a560ffffff 6aff }
            // n = 4, score = 200
            //   83c41c               | add                 esp, 0x1c
            //   8bcc                 | mov                 ecx, esp
            //   89a560ffffff         | mov                 dword ptr [ebp - 0xa0], esp
            //   6aff                 | push                -1

        $sequence_8 = { 8b5508 8b39 897db8 8b7104 8975bc 894dc0 }
            // n = 6, score = 200
            //   8b5508               | mov                 edx, dword ptr [ebp + 8]
            //   8b39                 | mov                 edi, dword ptr [ecx]
            //   897db8               | mov                 dword ptr [ebp - 0x48], edi
            //   8b7104               | mov                 esi, dword ptr [ecx + 4]
            //   8975bc               | mov                 dword ptr [ebp - 0x44], esi
            //   894dc0               | mov                 dword ptr [ebp - 0x40], ecx

        $sequence_9 = { 51 e8???????? 83c40c 2bdf 7423 8b4508 8b5638 }
            // n = 7, score = 200
            //   51                   | push                ecx
            //   e8????????           |                     
            //   83c40c               | add                 esp, 0xc
            //   2bdf                 | sub                 ebx, edi
            //   7423                 | je                  0x25
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   8b5638               | mov                 edx, dword ptr [esi + 0x38]

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