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-01 ⋅ nccgroup ⋅ Mick Koomen
Popping Blisters for research: An overview of past payloads and exploring recent developments
Blister Cobalt Strike
2023-08-24 ⋅ Elastic ⋅ Daniel Stepanic, Salim Bitam
Revisting BLISTER: New development of the BLISTER loader
Blister
2023-08-24 ⋅ Elastic ⋅ Daniel Stepanic, Salim Bitam
Revisting BLISTER: New development of the BLISTER loader
Blister
2022-06-13 ⋅ Jorge Testa ⋅ Jorge Testa
Killing The Bear - Evil Corp
FAKEUPDATES Babuk Blister DoppelPaymer Dridex Entropy FriedEx Hades Macaw Phoenix Locker WastedLoader WastedLocker
2022-06-02 ⋅ Mandiant ⋅ Mandiant 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-25 ⋅ Medium walmartglobaltech ⋅ Jason Reaves, Joshua Platt
SocGholish Campaigns and Initial Access Kit
FAKEUPDATES Blister Cobalt Strike NetSupportManager RAT
2022-05-09 ⋅ Microsoft ⋅ Microsoft 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-09 ⋅ Microsoft Security ⋅ Microsoft 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-06 ⋅ Twitter (@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-05 ⋅ Elastic ⋅ Cyril François, Daniel Stepanic, Salim Bitam
BLISTER Loader
Blister
2022-04-05 ⋅ Trend Micro ⋅ Abdelrhman 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-05 ⋅ Trend Micro ⋅ Abdelrhman 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-05 ⋅ Trend Micro ⋅ Abdelrhman Sharshar, Earle Earnshaw, Ian Kenefick, Lucas Silva, Mohamed Fahmy, Ryan Maglaque
Thwarting Loaders: From SocGholish to BLISTER’s LockBit Payload
Blister LockBit
2022-02-17 ⋅ Cloudsek ⋅ Anandeshwar Unnikrishnan, Hansika Saxena
Technical Analysis of Code-Signed “Blister” Malware Campaign (Part 2)
Blister
2022-01-24 ⋅ Red Canary ⋅ The Red Canary Team
Intelligence Insights: January 2022
Blister Conficker
2022-01-07 ⋅ Cloudsek ⋅ Anandeshwar Unnikrishnan, Deepanjli Paulraj
Technical Analysis of Code-Signed “Blister” Malware Campaign (Part 1)
Blister
2021-12-23 ⋅ Elastic ⋅ Joe Desimone, Samir Bousseaden
Elastic Security uncovers BLISTER malware campaign
Blister
Yara Rules
[TLP:WHITE] win_blister_auto (20260917 | Detects win.blister.)
rule win_blister_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        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 = "20260916"
        malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6"
        malpedia_version = "20260917"
        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???????? 83c608 8b06 85c0 75e7 8b07 8d8d98f5ffff }
            // n = 7, score = 100
            //   e8????????           |                     
            //   83c608               | add                 esi, 8
            //   8b06                 | mov                 eax, dword ptr [esi]
            //   85c0                 | test                eax, eax
            //   75e7                 | jne                 0xffffffe9
            //   8b07                 | mov                 eax, dword ptr [edi]
            //   8d8d98f5ffff         | lea                 ecx, [ebp - 0xa68]

        $sequence_1 = { 8d85f6fdffff 50 e8???????? 832600 83c40c 57 e8???????? }
            // n = 7, score = 100
            //   8d85f6fdffff         | lea                 eax, [ebp - 0x20a]
            //   50                   | push                eax
            //   e8????????           |                     
            //   832600               | and                 dword ptr [esi], 0
            //   83c40c               | add                 esp, 0xc
            //   57                   | push                edi
            //   e8????????           |                     

        $sequence_2 = { 7419 ff7104 ff15???????? 8906 }
            // n = 4, score = 100
            //   7419                 | je                  0x1b
            //   ff7104               | push                dword ptr [ecx + 4]
            //   ff15????????         |                     
            //   8906                 | mov                 dword ptr [esi], eax

        $sequence_3 = { 57 50 89bdf0fbffff 898decfbffff 89bde8fbffff 89bdf8fbffff ff15???????? }
            // n = 7, score = 100
            //   57                   | push                edi
            //   50                   | push                eax
            //   89bdf0fbffff         | mov                 dword ptr [ebp - 0x410], edi
            //   898decfbffff         | mov                 dword ptr [ebp - 0x414], ecx
            //   89bde8fbffff         | mov                 dword ptr [ebp - 0x418], edi
            //   89bdf8fbffff         | mov                 dword ptr [ebp - 0x408], edi
            //   ff15????????         |                     

        $sequence_4 = { 85c0 741c 8b8c3d2cf7ffff ff85a4f7ffff e8???????? 3985a4f7ffff 7ca5 }
            // n = 7, score = 100
            //   85c0                 | test                eax, eax
            //   741c                 | je                  0x1e
            //   8b8c3d2cf7ffff       | mov                 ecx, dword ptr [ebp + edi - 0x8d4]
            //   ff85a4f7ffff         | inc                 dword ptr [ebp - 0x85c]
            //   e8????????           |                     
            //   3985a4f7ffff         | cmp                 dword ptr [ebp - 0x85c], eax
            //   7ca5                 | jl                  0xffffffa7

        $sequence_5 = { e8???????? a1???????? 85c0 7403 5d ffe0 83c8ff }
            // n = 7, score = 100
            //   e8????????           |                     
            //   a1????????           |                     
            //   85c0                 | test                eax, eax
            //   7403                 | je                  5
            //   5d                   | pop                 ebp
            //   ffe0                 | jmp                 eax
            //   83c8ff               | or                  eax, 0xffffffff

        $sequence_6 = { e8???????? 8b4b0c 8d85acf7ffff 50 ffb59cf7ffff e8???????? ffb59cf7ffff }
            // n = 7, score = 100
            //   e8????????           |                     
            //   8b4b0c               | mov                 ecx, dword ptr [ebx + 0xc]
            //   8d85acf7ffff         | lea                 eax, [ebp - 0x854]
            //   50                   | push                eax
            //   ffb59cf7ffff         | push                dword ptr [ebp - 0x864]
            //   e8????????           |                     
            //   ffb59cf7ffff         | push                dword ptr [ebp - 0x864]

        $sequence_7 = { 894d0c 85c9 750d ff7510 50 e8???????? 85c0 }
            // n = 7, score = 100
            //   894d0c               | mov                 dword ptr [ebp + 0xc], ecx
            //   85c9                 | test                ecx, ecx
            //   750d                 | jne                 0xf
            //   ff7510               | push                dword ptr [ebp + 0x10]
            //   50                   | push                eax
            //   e8????????           |                     
            //   85c0                 | test                eax, eax

        $sequence_8 = { 894608 8b4604 85c0 740d 6a00 }
            // n = 5, score = 100
            //   894608               | mov                 dword ptr [esi + 8], eax
            //   8b4604               | mov                 eax, dword ptr [esi + 4]
            //   85c0                 | test                eax, eax
            //   740d                 | je                  0xf
            //   6a00                 | push                0

        $sequence_9 = { e8???????? 8d4dec e8???????? 8d4df4 e8???????? 8b4dfc 8b45e4 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   8d4dec               | lea                 ecx, [ebp - 0x14]
            //   e8????????           |                     
            //   8d4df4               | lea                 ecx, [ebp - 0xc]
            //   e8????????           |                     
            //   8b4dfc               | mov                 ecx, dword ptr [ebp - 4]
            //   8b45e4               | mov                 eax, dword ptr [ebp - 0x1c]

    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