SYMBOLCOMMON_NAMEaka. SYNONYMS
win.unidentified_099 (Back to overview)

Unidentified 099 (APT29 Dropbox Loader)

Actor(s): APT29

VTCollection    

This malware uses DropBox for C2 and was spread via spear-phishing attack at government organizations. It is different from win.boombox, which is another APT29 attributed malware using DropBox (written in .NET).

References
2022-09-06 ⋅ ⋅ INCIBE-CERT ⋅ INCIBE
Estudio del análisis de Nobelium
BEATDROP BOOMBOX Cobalt Strike EnvyScout Unidentified 099 (APT29 Dropbox Loader) VaporRage
2022-05-16 ⋅ Github (Dump-GUY) ⋅ Jiří Vinopal
Malware Analysis Report – APT29 C2-Client Dropbox Loader
Unidentified 099 (APT29 Dropbox Loader)
Yara Rules
[TLP:WHITE] win_unidentified_099_auto (20260917 | Detects win.unidentified_099.)
rule win_unidentified_099_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.unidentified_099."
        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.unidentified_099"
        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 = { 488d15a9b00000 488d0d9ab00000 e8???????? 488b4308 833800 7516 c605????????01 }
            // n = 7, score = 100
            //   488d15a9b00000       | lea                 eax, [0x17e0c]
            //   488d0d9ab00000       | mov                 dword ptr [esp + 0x20], ecx
            //   e8????????           |                     
            //   488b4308             | dec                 esp
            //   833800               | mov                 ecx, esi
            //   7516                 | dec                 eax
            //   c605????????01       |                     

        $sequence_1 = { 418bcb 4123ca f7d0 23c3 0bc1 }
            // n = 5, score = 100
            //   418bcb               | mov                 eax, ebx
            //   4123ca               | dec                 eax
            //   f7d0                 | lea                 edi, [ebx + 8]
            //   23c3                 | shl                 eax, 3
            //   0bc1                 | jb                  0xffffffeb

        $sequence_2 = { e8???????? 4c8d0d31450100 4c8bc0 b201 }
            // n = 4, score = 100
            //   e8????????           |                     
            //   4c8d0d31450100       | dec                 ecx
            //   4c8bc0               | mov                 ecx, esp
            //   b201                 | dec                 esp

        $sequence_3 = { 48894c0420 b808000000 486bc001 488b0d???????? 48894c0420 488d0db5f40000 }
            // n = 6, score = 100
            //   48894c0420           | dec                 eax
            //   b808000000           | add                 esp, 0x390
            //   486bc001             | dec                 esp
            //   488b0d????????       |                     
            //   48894c0420           | mov                 eax, eax
            //   488d0db5f40000       | dec                 eax

        $sequence_4 = { 488bd9 488bc2 488d0d6dec0000 48890b 488d5308 33c9 48890a }
            // n = 7, score = 100
            //   488bd9               | dec                 eax
            //   488bc2               | mov                 edx, ebx
            //   488d0d6dec0000       | nop                 dword ptr [eax]
            //   48890b               | nop                 word ptr [eax + eax]
            //   488d5308             | inc                 edx
            //   33c9                 | movzx               ecx, byte ptr [edx + esi + 0x1ea70]
            //   48890a               | dec                 eax

        $sequence_5 = { 4c8d45d0 488d15c67f0100 488d4dd0 e8???????? b904010000 e8???????? 4c8be0 }
            // n = 7, score = 100
            //   4c8d45d0             | mov                 edx, ebx
            //   488d15c67f0100       | mov                 ecx, edi
            //   488d4dd0             | dec                 eax
            //   e8????????           |                     
            //   b904010000           | test                eax, eax
            //   e8????????           |                     
            //   4c8be0               | mov                 ecx, 8

        $sequence_6 = { 420fb68c3248ea0100 4883c203 880f 488d7f01 4883fa27 }
            // n = 5, score = 100
            //   420fb68c3248ea0100     | jne    0x75
            //   4883c203             | dec                 eax
            //   880f                 | lea                 eax, [0x14eba]
            //   488d7f01             | dec                 eax
            //   4883fa27             | cmp                 ecx, eax

        $sequence_7 = { 85c0 0f84f5000000 488d35fcf8ffff ff15???????? 39442454 0f85ba000000 }
            // n = 6, score = 100
            //   85c0                 | dec                 eax
            //   0f84f5000000         | lea                 eax, [0xec7d]
            //   488d35fcf8ffff       | xor                 ecx, ecx
            //   ff15????????         |                     
            //   39442454             | dec                 eax
            //   0f85ba000000         | mov                 dword ptr [esp + 0x38], ebx

        $sequence_8 = { 488bd0 4889442460 48894c2468 48894c2470 448d4918 }
            // n = 5, score = 100
            //   488bd0               | mov                 ecx, dword ptr [ebx + 0x24]
            //   4889442460           | dec                 esp
            //   48894c2468           | lea                 ecx, [esp + 0x80]
            //   48894c2470           | mov                 edx, dword ptr [ebx + 0x20]
            //   448d4918             | mov                 eax, ebp

        $sequence_9 = { 4885c0 0f8416050000 b910000000 e8???????? 4c8bd0 }
            // n = 5, score = 100
            //   4885c0               | lea                 edi, [0xffffe9d1]
            //   0f8416050000         | lea                 ecx, [eax + 0x2d]
            //   b910000000           | dec                 esp
            //   e8????????           |                     
            //   4c8bd0               | mov                 esi, eax

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