SYMBOLCOMMON_NAMEaka. SYNONYMS
win.pillowmint (Back to overview)

PILLOWMINT

Actor(s): Anunak

VTCollection    

According to FireEye, PILLOWMINT is a Point-of-Sale malware tool used to scrape track 1 and track 2 payment card data from memory.
Scraped payment card data is encrypted and stored in the registry and as plaintext in a file (T1074: Data Staged)
Contains additional backdoor capabilities including:
Running processes
Downloading and executing files (T1105: Remote File Copy)
Downloading and injecting DLLs (T1055: Process Injection)
Communicates with a command and control (C2) server over HTTP using AES encrypted messages
(T1071: Standard Application Layer Protocol)
(T1032: Standard Cryptographic Protocol)

References
2022-05-22cocomelonccocomelonc
Malware development trick - part 29: Store binary data in registry. Simple C++ example.
Turla RAT PILLOWMINT PipeMon
2021-08-30CrowdStrikeEric Loui, Josh Reynolds
CARBON SPIDER Embraces Big Game Hunting, Part 1
Bateleur Griffon Carbanak DarkSide JSSLoader PILLOWMINT REvil
2020-06-22TrustwaveRodel Mendrez
Pillowmint: FIN7’s Monkey Thief
PILLOWMINT
2018-10-01FireEyeKatie Nickels, Regina Elwell
ATT&CKing FIN7
Bateleur BELLHOP Griffon ANTAK POWERPIPE POWERSOURCE HALFBAKED BABYMETAL Carbanak Cobalt Strike DNSMessenger DRIFTPIN PILLOWMINT SocksBot
Yara Rules
[TLP:WHITE] win_pillowmint_auto (20230808 | Detects win.pillowmint.)
rule win_pillowmint_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.pillowmint."
        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.pillowmint"
        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 = { 4883ec48 488b05???????? 4833c4 4889442438 83fa01 0f8580000000 }
            // n = 6, score = 100
            //   4883ec48             | dec                 eax
            //   488b05????????       |                     
            //   4833c4               | mov                 eax, dword ptr [esi]
            //   4889442438           | int3                
            //   83fa01               | dec                 esp
            //   0f8580000000         | lea                 eax, [0x36705]

        $sequence_1 = { 90 4c8bc0 488d1533c00000 488d4d40 e8???????? 90 4c8d051ec00000 }
            // n = 7, score = 100
            //   90                   | lea                 edx, [0xc226]
            //   4c8bc0               | dec                 eax
            //   488d1533c00000       | lea                 ecx, [ebp + 0x20]
            //   488d4d40             | dec                 eax
            //   e8????????           |                     
            //   90                   | mov                 esi, eax
            //   4c8d051ec00000       | dec                 eax

        $sequence_2 = { 488bd8 488b00 80781900 74e9 493bd8 741e 8b4320 }
            // n = 7, score = 100
            //   488bd8               | mov                 eax, eax
            //   488b00               | dec                 eax
            //   80781900             | lea                 edx, [ebp + 0x280]
            //   74e9                 | dec                 eax
            //   493bd8               | mov                 ecx, ebx
            //   741e                 | xorps               xmm0, xmm0
            //   8b4320               | xor                 ebx, ebx

        $sequence_3 = { 4889bc2418010000 c684240801000000 41b810000000 488d155dc00200 488d8c2408010000 e8???????? }
            // n = 6, score = 100
            //   4889bc2418010000     | jmp                 0x821
            //   c684240801000000     | dec                 eax
            //   41b810000000         | cmp                 dword ptr [ecx + 0x48], 0
            //   488d155dc00200       | inc                 ecx
            //   488d8c2408010000     | cmove               edi, edi
            //   e8????????           |                     

        $sequence_4 = { 49c1f803 498bc0 48c1e83f 4c03c0 0f84e0050000 498bd1 4c3bc3 }
            // n = 7, score = 100
            //   49c1f803             | dec                 eax
            //   498bc0               | cmovae              eax, dword ptr [ebp - 0x69]
            //   48c1e83f             | inc                 esi
            //   4c03c0               | movzx               edi, byte ptr [eax + esi]
            //   0f84e0050000         | dec                 eax
            //   498bd1               | mov                 edi, dword ptr [ebp + 7]
            //   4c3bc3               | dec                 eax

        $sequence_5 = { ff15???????? ba04010000 488d4c2430 4c8d05a2630300 395c2420 7507 4c8d05ad630300 }
            // n = 7, score = 100
            //   ff15????????         |                     
            //   ba04010000           | test                eax, eax
            //   488d4c2430           | jne                 0x15b
            //   4c8d05a2630300       | dec                 eax
            //   395c2420             | mov                 ecx, ebx
            //   7507                 | dec                 eax
            //   4c8d05ad630300       | lea                 edx, [esp + 0x140]

        $sequence_6 = { 0f95c0 48ffc0 480faf45df 48ffc8 48014368 48837de710 7209 }
            // n = 7, score = 100
            //   0f95c0               | dec                 eax
            //   48ffc0               | lea                 edx, [0x144fd]
            //   480faf45df           | jb                  0x3c6
            //   48ffc8               | dec                 eax
            //   48014368             | lea                 eax, [0x2d240]
            //   48837de710           | dec                 eax
            //   7209                 | cmp                 ebx, eax

        $sequence_7 = { 488bd6 488d4d97 e8???????? 90 4c8d6597 48837daf10 4c0f436597 }
            // n = 7, score = 100
            //   488bd6               | dec                 eax
            //   488d4d97             | lea                 ecx, [0x1b9e5]
            //   e8????????           |                     
            //   90                   | cmovae              eax, edx
            //   4c8d6597             | ja                  0x142
            //   48837daf10           | dec                 eax
            //   4c0f436597           | lea                 edx, [ebp + 0x80]

        $sequence_8 = { ff15???????? 833d????????04 0f8cf6030000 48c785980000000f000000 4533f6 4c89b590000000 }
            // n = 6, score = 100
            //   ff15????????         |                     
            //   833d????????04       |                     
            //   0f8cf6030000         | test                eax, eax
            //   48c785980000000f000000     | je    0xa1c
            //   4533f6               | dec                 esp
            //   4c89b590000000       | lea                 eax, [0x3164e]

        $sequence_9 = { 3b3d???????? 0f8392000000 488bc7 4c8bf7 49c1fe05 4c8d2d4bd30100 83e01f }
            // n = 7, score = 100
            //   3b3d????????         |                     
            //   0f8392000000         | xor                 eax, eax
            //   488bc7               | jmp                 0x43d
            //   4c8bf7               | mov                 edx, edi
            //   49c1fe05             | jne                 0x434
            //   4c8d2d4bd30100       | dec                 esp
            //   83e01f               | mov                 dword ptr [eax + 0x10], ecx

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