SYMBOLCOMMON_NAMEaka. SYNONYMS
win.mozart (Back to overview)

mozart


According to PCrisk, Mozart is malicious software that allows attackers (cyber criminals) to execute various commands on an infected computer through the DNS protocol. This communication method helps cyber criminals to avoid detection via security software. Mozart is categorized as a malware loader and executes commands that cause download and installation of malicious software.

References
2015-01-11Security Kitten BlogNick Hoffman
@online{hoffman:20150111:mozart:025c466, author = {Nick Hoffman}, title = {{The Mozart RAM Scraper}}, date = {2015-01-11}, organization = {Security Kitten Blog}, url = {https://github.com/malware-kitten/securitykitten.github.io/blob/master/_posts/2015-01-11-the-mozart-ram-scraper.md}, language = {English}, urldate = {2022-09-19} } The Mozart RAM Scraper
mozart
Yara Rules
[TLP:WHITE] win_mozart_auto (20230715 | Detects win.mozart.)
rule win_mozart_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-07-11"
        version = "1"
        description = "Detects win.mozart."
        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.mozart"
        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 = { 33f6 c644241800 eb26 8d4c2418 51 }
            // n = 5, score = 200
            //   33f6                 | xor                 esi, esi
            //   c644241800           | mov                 byte ptr [esp + 0x18], 0
            //   eb26                 | jmp                 0x28
            //   8d4c2418             | lea                 ecx, [esp + 0x18]
            //   51                   | push                ecx

        $sequence_1 = { 6a02 6810010000 6a00 52 50 56 }
            // n = 6, score = 200
            //   6a02                 | push                2
            //   6810010000           | push                0x110
            //   6a00                 | push                0
            //   52                   | push                edx
            //   50                   | push                eax
            //   56                   | push                esi

        $sequence_2 = { e8???????? 81c404040000 c3 55 e8???????? 8b8c2414040000 83c404 }
            // n = 7, score = 200
            //   e8????????           |                     
            //   81c404040000         | add                 esp, 0x404
            //   c3                   | ret                 
            //   55                   | push                ebp
            //   e8????????           |                     
            //   8b8c2414040000       | mov                 ecx, dword ptr [esp + 0x414]
            //   83c404               | add                 esp, 4

        $sequence_3 = { 8d442410 50 ffd3 a1???????? }
            // n = 4, score = 200
            //   8d442410             | lea                 eax, [esp + 0x10]
            //   50                   | push                eax
            //   ffd3                 | call                ebx
            //   a1????????           |                     

        $sequence_4 = { 7509 b803000000 83c420 c3 ff15???????? 33d2 3d14050000 }
            // n = 7, score = 200
            //   7509                 | jne                 0xb
            //   b803000000           | mov                 eax, 3
            //   83c420               | add                 esp, 0x20
            //   c3                   | ret                 
            //   ff15????????         |                     
            //   33d2                 | xor                 edx, edx
            //   3d14050000           | cmp                 eax, 0x514

        $sequence_5 = { 393cb5f8c84000 7403 4e 79f4 85f6 }
            // n = 5, score = 200
            //   393cb5f8c84000       | cmp                 dword ptr [esi*4 + 0x40c8f8], edi
            //   7403                 | je                  5
            //   4e                   | dec                 esi
            //   79f4                 | jns                 0xfffffff6
            //   85f6                 | test                esi, esi

        $sequence_6 = { a3???????? ff15???????? c3 8b15???????? 68???????? }
            // n = 5, score = 200
            //   a3????????           |                     
            //   ff15????????         |                     
            //   c3                   | ret                 
            //   8b15????????         |                     
            //   68????????           |                     

        $sequence_7 = { eb13 8b15???????? a0???????? 89542410 88442414 8b5508 }
            // n = 6, score = 200
            //   eb13                 | jmp                 0x15
            //   8b15????????         |                     
            //   a0????????           |                     
            //   89542410             | mov                 dword ptr [esp + 0x10], edx
            //   88442414             | mov                 byte ptr [esp + 0x14], al
            //   8b5508               | mov                 edx, dword ptr [ebp + 8]

        $sequence_8 = { 33ff 33ed 85c9 8944240c 0f863e020000 }
            // n = 5, score = 200
            //   33ff                 | xor                 edi, edi
            //   33ed                 | xor                 ebp, ebp
            //   85c9                 | test                ecx, ecx
            //   8944240c             | mov                 dword ptr [esp + 0xc], eax
            //   0f863e020000         | jbe                 0x244

        $sequence_9 = { 8d048538b54000 3bc8 7304 3911 7402 }
            // n = 5, score = 200
            //   8d048538b54000       | lea                 eax, [eax*4 + 0x40b538]
            //   3bc8                 | cmp                 ecx, eax
            //   7304                 | jae                 6
            //   3911                 | cmp                 dword ptr [ecx], edx
            //   7402                 | je                  4

    condition:
        7 of them and filesize < 114688
}
[TLP:WHITE] win_mozart_w0   (20180125 | Detects samples of the Mozart POS RAM scraping utility)
rule win_mozart_w0 {
    meta:
        author = "Nick Hoffman"
        description = "Detects samples of the Mozart POS RAM scraping utility"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.mozart"
        malpedia_version = "20180125"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
    strings:
        $pdb = "z:\\Slender\\mozart\\mozart\\Release\\mozart.pdb" nocase wide ascii
        $output = {67 61 72 62 61 67 65 2E 74 6D 70 00}
        $service_name = "NCR SelfServ Platform Remote Monitor" nocase wide ascii
        $service_name_short = "NCR_RemoteMonitor"
        $encode_data = {B8 08 10 00 00 E8 ?? ?? ?? ?? A1 ?? ?? ?? ?? 53 55 8B AC 24 14 10 00 00 89 84 24 0C 10 00 00 56 8B C5 33 F6 33 DB 8D 50 01 8D A4 24 00 00 00 00 8A 08 40 84 C9 ?? ?? 2B C2 89 44 24 0C ?? ?? 8B 94 24 1C 10 00 00 57 8B FD 2B FA 89 7C 24 10 ?? ?? 8B 7C 24 10 8A 04 17 02 86 E0 BA 40 00 88 02 B8 ?? ?? ?? ?? 46 8D 78 01 8D A4 24 00 00 00 00 8A 08 40 84 C9 ?? ?? 2B C7 3B F0 ?? ?? 33 F6 8B C5 43 42 8D 78 01 8A 08 40 84 C9 ?? ?? 2B C7 3B D8 ?? ?? 5F 8B B4 24 1C 10 00 00 8B C5 C6 04 33 00 8D 50 01 8A 08 40 84 C9 ?? ?? 8B 8C 24 20 10 00 00 2B C2 51 8D 54 24 14 52 50 56 E8 ?? ?? ?? ?? 83 C4 10 8B D6 5E 8D 44 24 0C 8B C8 5D 2B D1 5B 8A 08 88 0C 02 40 84 C9 ?? ?? 8B 8C 24 04 10 00 00 E8 ?? ?? ?? ?? 81 C4 08 10 00 00}
    condition:
        any of ($pdb, $output, $encode_data) or
        all of ($service*)
}
Download all Yara Rules