SYMBOLCOMMON_NAMEaka. SYNONYMS
win.blister (Back to overview)

Blister

aka: COLORFAKE
VTCollection    

Elastic observed this loader coming with valid code signatures, being used to deploy secondary payloads in-memory.

References
2023-11-01nccgroupMick Koomen
Popping Blisters for research: An overview of past payloads and exploring recent developments
Blister Cobalt Strike
2023-08-24ElasticDaniel Stepanic, Salim Bitam
Revisting BLISTER: New development of the BLISTER loader
Blister
2023-08-24ElasticDaniel Stepanic, Salim Bitam
Revisting BLISTER: New development of the BLISTER loader
Blister
2022-06-13Jorge TestaJorge Testa
Killing The Bear - Evil Corp
FAKEUPDATES Babuk Blister DoppelPaymer Dridex Entropy FriedEx Hades Macaw Phoenix Locker WastedLoader WastedLocker
2022-06-02MandiantMandiant Intelligence
To HADES and Back: UNC2165 Shifts to LOCKBIT to Evade Sanctions
FAKEUPDATES Blister Cobalt Strike DoppelPaymer Dridex FriedEx Hades LockBit Macaw MimiKatz Phoenix Locker WastedLocker
2022-05-25Medium walmartglobaltechJason Reaves, Joshua Platt
SocGholish Campaigns and Initial Access Kit
FAKEUPDATES Blister Cobalt Strike NetSupportManager RAT
2022-05-09MicrosoftMicrosoft 365 Defender Threat Intelligence Team, Microsoft Threat Intelligence Center (MSTIC)
Ransomware-as-a-service: Understanding the cybercrime gig economy and how to protect yourself
AnchorDNS BlackCat BlackMatter Conti DarkSide HelloKitty Hive LockBit REvil FAKEUPDATES Griffon ATOMSILO BazarBackdoor BlackCat BlackMatter Blister Cobalt Strike Conti DarkSide Emotet FiveHands Gozi HelloKitty Hive IcedID ISFB JSSLoader LockBit LockFile Maze NightSky Pandora Phobos Phoenix Locker PhotoLoader QakBot REvil Rook Ryuk SystemBC TrickBot WastedLocker BRONZE STARLIGHT
2022-05-09Microsoft SecurityMicrosoft 365 Defender Threat Intelligence Team, Microsoft Threat Intelligence Center
Ransomware-as-a-service: Understanding the cybercrime gig economy and how to protect yourself
Griffon BazarBackdoor BlackCat BlackMatter Blister Gozi LockBit Pandora Rook SystemBC TrickBot
2022-05-06Twitter (@MsftSecIntel)Microsoft Security Intelligence
Twitter Thread on initial infeciton of SocGholish/ FAKEUPDATES campaigns lead to BLISTER Loader, CobaltStrike, Lockbit and followed by Hands On Keyboard activity
FAKEUPDATES Blister Cobalt Strike LockBit
2022-05-05ElasticCyril François, Daniel Stepanic, Salim Bitam
BLISTER Loader
Blister
2022-04-05Trend MicroAbdelrhman Sharshar, Earle Maui Earnshaw, Ian Kenefick, Lucas Silva, Mohamed Fahmy, Ryan Maglaque
Thwarting Loaders: From SocGholish to BLISTER’s LockBit Payload (IoCs)
FAKEUPDATES Blister LockBit
2022-04-05Trend MicroAbdelrhman Sharshar, Earle Maui Earnshaw, Ian Kenefick, Lucas Silva, Mohamed Fahmy, Ryan Maglaque
Thwarting Loaders: From SocGholish to BLISTER’s LockBit Payload
FAKEUPDATES Blister LockBit
2022-04-05Trend MicroAbdelrhman Sharshar, Earle Earnshaw, Ian Kenefick, Lucas Silva, Mohamed Fahmy, Ryan Maglaque
Thwarting Loaders: From SocGholish to BLISTER’s LockBit Payload
Blister LockBit
2022-02-17CloudsekAnandeshwar Unnikrishnan, Hansika Saxena
Technical Analysis of Code-Signed “Blister” Malware Campaign (Part 2)
Blister
2022-01-24Red CanaryThe Red Canary Team
Intelligence Insights: January 2022
Blister Conficker
2022-01-07CloudsekAnandeshwar Unnikrishnan, Deepanjli Paulraj
Technical Analysis of Code-Signed “Blister” Malware Campaign (Part 1)
Blister
2021-12-23ElasticJoe Desimone, Samir Bousseaden
Elastic Security uncovers BLISTER malware campaign
Blister
Yara Rules
[TLP:WHITE] win_blister_auto (20260504 | Detects win.blister.)
rule win_blister_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.blister."
        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.blister"
        malpedia_rule_date = "20260422"
        malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14"
        malpedia_version = "20260504"
        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 = { 750b 8b450c 832000 33c0 40 eb02 33c0 }
            // n = 7, score = 100
            //   750b                 | jne                 0xd
            //   8b450c               | mov                 eax, dword ptr [ebp + 0xc]
            //   832000               | and                 dword ptr [eax], 0
            //   33c0                 | xor                 eax, eax
            //   40                   | inc                 eax
            //   eb02                 | jmp                 4
            //   33c0                 | xor                 eax, eax

        $sequence_1 = { 89b5a4f7ffff ff37 ff77fc e8???????? 3bc6 8985a8f7ffff }
            // n = 6, score = 100
            //   89b5a4f7ffff         | mov                 dword ptr [ebp - 0x85c], esi
            //   ff37                 | push                dword ptr [edi]
            //   ff77fc               | push                dword ptr [edi - 4]
            //   e8????????           |                     
            //   3bc6                 | cmp                 eax, esi
            //   8985a8f7ffff         | mov                 dword ptr [ebp - 0x858], eax

        $sequence_2 = { 50 ff75ec ff75f8 ff75f0 ff15???????? 85c0 7507 }
            // n = 7, score = 100
            //   50                   | push                eax
            //   ff75ec               | push                dword ptr [ebp - 0x14]
            //   ff75f8               | push                dword ptr [ebp - 8]
            //   ff75f0               | push                dword ptr [ebp - 0x10]
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   7507                 | jne                 9

        $sequence_3 = { 8b8c3d2cf7ffff 8d85a0f7ffff 50 ffb5a4f7ffff e8???????? 3bc6 8985a8f7ffff }
            // n = 7, score = 100
            //   8b8c3d2cf7ffff       | mov                 ecx, dword ptr [ebp + edi - 0x8d4]
            //   8d85a0f7ffff         | lea                 eax, [ebp - 0x860]
            //   50                   | push                eax
            //   ffb5a4f7ffff         | push                dword ptr [ebp - 0x85c]
            //   e8????????           |                     
            //   3bc6                 | cmp                 eax, esi
            //   8985a8f7ffff         | mov                 dword ptr [ebp - 0x858], eax

        $sequence_4 = { 8b4004 ff34b8 8d45f4 ff75f0 50 e8???????? }
            // n = 6, score = 100
            //   8b4004               | mov                 eax, dword ptr [eax + 4]
            //   ff34b8               | push                dword ptr [eax + edi*4]
            //   8d45f4               | lea                 eax, [ebp - 0xc]
            //   ff75f0               | push                dword ptr [ebp - 0x10]
            //   50                   | push                eax
            //   e8????????           |                     

        $sequence_5 = { 0fb700 ff750c 50 ff15???????? 47 3b7e24 7ce5 }
            // n = 7, score = 100
            //   0fb700               | movzx               eax, word ptr [eax]
            //   ff750c               | push                dword ptr [ebp + 0xc]
            //   50                   | push                eax
            //   ff15????????         |                     
            //   47                   | inc                 edi
            //   3b7e24               | cmp                 edi, dword ptr [esi + 0x24]
            //   7ce5                 | jl                  0xffffffe7

        $sequence_6 = { 8d4dec e8???????? 8d4de4 e8???????? 8d4df4 e8???????? 53 }
            // n = 7, score = 100
            //   8d4dec               | lea                 ecx, [ebp - 0x14]
            //   e8????????           |                     
            //   8d4de4               | lea                 ecx, [ebp - 0x1c]
            //   e8????????           |                     
            //   8d4df4               | lea                 ecx, [ebp - 0xc]
            //   e8????????           |                     
            //   53                   | push                ebx

        $sequence_7 = { 56 b800010000 57 8bf8 eb28 ff750c ff7508 }
            // n = 7, score = 100
            //   56                   | push                esi
            //   b800010000           | mov                 eax, 0x100
            //   57                   | push                edi
            //   8bf8                 | mov                 edi, eax
            //   eb28                 | jmp                 0x2a
            //   ff750c               | push                dword ptr [ebp + 0xc]
            //   ff7508               | push                dword ptr [ebp + 8]

        $sequence_8 = { ab 895dd0 894dd4 894ddc ab 395e0c }
            // n = 6, score = 100
            //   ab                   | stosd               dword ptr es:[edi], eax
            //   895dd0               | mov                 dword ptr [ebp - 0x30], ebx
            //   894dd4               | mov                 dword ptr [ebp - 0x2c], ecx
            //   894ddc               | mov                 dword ptr [ebp - 0x24], ecx
            //   ab                   | stosd               dword ptr es:[edi], eax
            //   395e0c               | cmp                 dword ptr [esi + 0xc], ebx

        $sequence_9 = { 8b00 eb02 33c0 3985a4f7ffff 0f8dcd000000 8d85ccfbffff 50 }
            // n = 7, score = 100
            //   8b00                 | mov                 eax, dword ptr [eax]
            //   eb02                 | jmp                 4
            //   33c0                 | xor                 eax, eax
            //   3985a4f7ffff         | cmp                 dword ptr [ebp - 0x85c], eax
            //   0f8dcd000000         | jge                 0xd3
            //   8d85ccfbffff         | lea                 eax, [ebp - 0x434]
            //   50                   | push                eax

    condition:
        7 of them and filesize < 1822720
}
[TLP:WHITE] win_blister_w0   (20211223 | Detects Blister loader.)
rule win_blister_w0 {
    meta:
        author = "Elastic Security"
        description = "Detects Blister loader."
        creation_date = "2021-12-20"
        last_modified = "2021-12-20"
        os = "Windows"
        category_type = "Trojan"
        family = "Blister"
        threat_name = "Windows.Trojan.Blister"
        reference_sample = "0a7778cf6f9a1bd894e89f282f2e40f9d6c9cd4b72be97328e681fe32a1b1a00"
        source = "https://www.elastic.co/de/blog/elastic-security-uncovers-blister-malware-campaign"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.blister"
        malpedia_rule_date = "20211223"
        malpedia_hash = ""
        malpedia_version = "20211223"
        malpedia_sharing = "TLP:WHITE"

    strings:
        $a1 = {8D 45 DC 89 5D EC 50 6A 04 8D 45 F0 50 8D 45 EC 50 6A FF FF D7}
        $a2 = {75 F7 39 4D FC 0F 85 F3 00 00 00 64 A1 30 00 00 00 53 57 89 75}           
condition:
        any of them
}
Download all Yara Rules