SYMBOLCOMMON_NAMEaka. SYNONYMS
win.flagpro (Back to overview)

Flagpro

aka: BUSYICE

Actor(s): BlackTech

VTCollection    

According to PICUS, Flagpro is malware that collects information from the victim and executes commands in the victim’s environment. It targets Japan, Taiwan, and English-speaking countries. When a victim is infected with Flagpro malware, the malware can do the following:

Download and execute a tool
Execute OS commands and send results
Collect and send Windows authentication information

References
2022-09-29NTTNTT Security Holdings Corporation
Report on APT Attacks by BlackTech
Bifrost PLEAD TSCookie Flagpro Gh0stTimes SelfMake Loader SPIDERPIG RAT
2022-01-25Trend MicroHara Hiroaki
Ambiguously Black: The Current State of Earth Hundun's Arsenal
Flagpro SPIDERPIG RAT
2021-12-28NTTHiroki Hada
Flagpro: The new malware used by BlackTech
Flagpro
2021-12-12Cyber And Ramen blogMike R
More Flagpro, More Problems
Flagpro
2021-10-08NTTFumio Ozawa, Hiroki Hada, Rintaro Koike
Malware Flagpro used by targeted attack group BlackTech
Flagpro
2021-10-07VB LocalhostAdam Prescott, Sveva Vittoria Scenarelli
Back to Black(Tech): an analysis of recent BlackTech operations and an open directory full of exploits
Flagpro
Yara Rules
[TLP:WHITE] win_flagpro_auto (20260504 | Detects win.flagpro.)
rule win_flagpro_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.flagpro."
        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.flagpro"
        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 = { 8d47f0 c7442444ffffffff 8d480c 83caff }
            // n = 4, score = 100
            //   8d47f0               | lea                 eax, [edi - 0x10]
            //   c7442444ffffffff     | mov                 dword ptr [esp + 0x44], 0xffffffff
            //   8d480c               | lea                 ecx, [eax + 0xc]
            //   83caff               | or                  edx, 0xffffffff

        $sequence_1 = { 0f8412010000 396c2458 720d 8b542444 52 e8???????? 83c404 }
            // n = 7, score = 100
            //   0f8412010000         | je                  0x118
            //   396c2458             | cmp                 dword ptr [esp + 0x58], ebp
            //   720d                 | jb                  0xf
            //   8b542444             | mov                 edx, dword ptr [esp + 0x44]
            //   52                   | push                edx
            //   e8????????           |                     
            //   83c404               | add                 esp, 4

        $sequence_2 = { 8b4de4 83c40c 6bc930 8975e0 8db160d64100 8975e4 eb2a }
            // n = 7, score = 100
            //   8b4de4               | mov                 ecx, dword ptr [ebp - 0x1c]
            //   83c40c               | add                 esp, 0xc
            //   6bc930               | imul                ecx, ecx, 0x30
            //   8975e0               | mov                 dword ptr [ebp - 0x20], esi
            //   8db160d64100         | lea                 esi, [ecx + 0x41d660]
            //   8975e4               | mov                 dword ptr [ebp - 0x1c], esi
            //   eb2a                 | jmp                 0x2c

        $sequence_3 = { 8b55fc 8b75fc c1fa05 8b1495c0cf4500 83e61f c1e606 f644320480 }
            // n = 7, score = 100
            //   8b55fc               | mov                 edx, dword ptr [ebp - 4]
            //   8b75fc               | mov                 esi, dword ptr [ebp - 4]
            //   c1fa05               | sar                 edx, 5
            //   8b1495c0cf4500       | mov                 edx, dword ptr [edx*4 + 0x45cfc0]
            //   83e61f               | and                 esi, 0x1f
            //   c1e606               | shl                 esi, 6
            //   f644320480           | test                byte ptr [edx + esi + 4], 0x80

        $sequence_4 = { e8???????? 83c404 8d842404010000 e8???????? 8d942404010000 }
            // n = 5, score = 100
            //   e8????????           |                     
            //   83c404               | add                 esp, 4
            //   8d842404010000       | lea                 eax, [esp + 0x104]
            //   e8????????           |                     
            //   8d942404010000       | lea                 edx, [esp + 0x104]

        $sequence_5 = { 8b4508 56 8d34c550d84100 833e00 7513 50 }
            // n = 6, score = 100
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   56                   | push                esi
            //   8d34c550d84100       | lea                 esi, [eax*8 + 0x41d850]
            //   833e00               | cmp                 dword ptr [esi], 0
            //   7513                 | jne                 0x15
            //   50                   | push                eax

        $sequence_6 = { 8b4508 8bc8 83e01f c1f905 8b0c8dc0cf4500 c1e006 8d44010c }
            // n = 7, score = 100
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   8bc8                 | mov                 ecx, eax
            //   83e01f               | and                 eax, 0x1f
            //   c1f905               | sar                 ecx, 5
            //   8b0c8dc0cf4500       | mov                 ecx, dword ptr [ecx*4 + 0x45cfc0]
            //   c1e006               | shl                 eax, 6
            //   8d44010c             | lea                 eax, [ecx + eax + 0xc]

        $sequence_7 = { c20800 b8???????? a3???????? c705????????1b004100 c705????????cfff4000 }
            // n = 5, score = 100
            //   c20800               | ret                 8
            //   b8????????           |                     
            //   a3????????           |                     
            //   c705????????1b004100     |     
            //   c705????????cfff4000     |     

        $sequence_8 = { 57 8d3c85340d4200 833f00 bb00100000 7520 53 e8???????? }
            // n = 7, score = 100
            //   57                   | push                edi
            //   8d3c85340d4200       | lea                 edi, [eax*4 + 0x420d34]
            //   833f00               | cmp                 dword ptr [edi], 0
            //   bb00100000           | mov                 ebx, 0x1000
            //   7520                 | jne                 0x22
            //   53                   | push                ebx
            //   e8????????           |                     

        $sequence_9 = { 894c2434 6a00 8d4c2438 51 ffd5 85c0 0f841c010000 }
            // n = 7, score = 100
            //   894c2434             | mov                 dword ptr [esp + 0x34], ecx
            //   6a00                 | push                0
            //   8d4c2438             | lea                 ecx, [esp + 0x38]
            //   51                   | push                ecx
            //   ffd5                 | call                ebp
            //   85c0                 | test                eax, eax
            //   0f841c010000         | je                  0x122

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