SYMBOLCOMMON_NAMEaka. SYNONYMS
win.brambul (Back to overview)

Brambul

aka: SORRYBRUTE

Actor(s): Lazarus Group

VTCollection    

Brambul is a worm that spreads by using a list of hard-coded login credentials to launch a brute-force password attack against an SMB protocol for access to a victim’s networks.

References
2020-02-26 ⋅ MetaSwan's Lab ⋅ MetaSwan
Lazarus group's Brambul worm of the former Wannacry - 1
Brambul WannaCryptor
2020-02-26 ⋅ MetaSwan's Lab ⋅ MetaSwan
Lazarus group's Brambul worm of the former Wannacry - 2
Brambul
2020-02-19 ⋅ Lexfo ⋅ Lexfo
The Lazarus Constellation A study on North Korean malware
FastCash AppleJeus BADCALL Bankshot Brambul Dtrack Duuzer DYEPACK ELECTRICFISH HARDRAIN Hermes HOPLIGHT Joanap KEYMARBLE Kimsuky MimiKatz MyDoom NACHOCHEESE NavRAT PowerRatankba RokRAT Sierra(Alfa,Bravo, ...) Volgmer WannaCryptor
2020-02-13 ⋅ Qianxin ⋅ Qi Anxin Threat Intelligence Center
APT Report 2019
Chrysaor Exodus Dacls VPNFilter DNSRat Griffon KopiLuwak More_eggs SQLRat AppleJeus BONDUPDATER Agent.BTZ Anchor AndroMut AppleJeus BOOSTWRITE Brambul Carbanak Cobalt Strike Dacls DistTrack DNSpionage Dtrack ELECTRICFISH FlawedAmmyy FlawedGrace Get2 Grateful POS HOPLIGHT Imminent Monitor RAT jason Joanap KerrDown KEYMARBLE Lambert LightNeuron LoJax MiniDuke PolyglotDuke PowerRatankba Rising Sun SDBbot ServHelper Snatch Stuxnet TinyMet tRat TrickBot Volgmer X-Agent Zebrocy
2020-01-01 ⋅ Secureworks ⋅ SecureWorks
NICKEL ACADEMY
Brambul Duuzer HOPLIGHT Joanap Sierra(Alfa,Bravo, ...) Volgmer
2018-06-13 ⋅ Acalvio ⋅ Team Acalvio
Lateral Movement Technique Employed by Hidden Cobra
Brambul Joanap
2018-05-29 ⋅ US-CERT ⋅ US-CERT
Alert (TA18-149A): HIDDEN COBRA – Joanap Backdoor Trojan and Brambul Server Message Block Worm
Brambul Joanap
2018-05-29 ⋅ US-CERT ⋅ US-CERT
MAR-10135536-3 - HIDDEN COBRA RAT/Worm
Brambul Joanap
2015-10-26 ⋅ Symantec ⋅ A L Johnson
Duuzer back door Trojan targets South Korea to take over computers
Brambul Duuzer Joanap Lazarus Group
Yara Rules
[TLP:WHITE] win_brambul_auto (20260917 | Detects win.brambul.)
rule win_brambul_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.brambul."
        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.brambul"
        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 = { 7e45 8b5c241c 8b6c2418 ff15???????? 2b442410 3d60ea0000 7734 }
            // n = 7, score = 100
            //   7e45                 | jle                 0x47
            //   8b5c241c             | mov                 ebx, dword ptr [esp + 0x1c]
            //   8b6c2418             | mov                 ebp, dword ptr [esp + 0x18]
            //   ff15????????         |                     
            //   2b442410             | sub                 eax, dword ptr [esp + 0x10]
            //   3d60ea0000           | cmp                 eax, 0xea60
            //   7734                 | ja                  0x36

        $sequence_1 = { 8dbc37604bbbf6 8bf7 c1ee10 c1e710 0bf7 }
            // n = 5, score = 100
            //   8dbc37604bbbf6       | lea                 edi, [edi + esi - 0x944b4a0]
            //   8bf7                 | mov                 esi, edi
            //   c1ee10               | shr                 esi, 0x10
            //   c1e710               | shl                 edi, 0x10
            //   0bf7                 | or                  esi, edi

        $sequence_2 = { 8807 8b4d88 47 46 4a }
            // n = 5, score = 100
            //   8807                 | mov                 byte ptr [edi], al
            //   8b4d88               | mov                 ecx, dword ptr [ebp - 0x78]
            //   47                   | inc                 edi
            //   46                   | inc                 esi
            //   4a                   | dec                 edx

        $sequence_3 = { 8bd7 33d1 035054 8d9c13f87ca21f 8bd3 c1ea10 }
            // n = 6, score = 100
            //   8bd7                 | mov                 edx, edi
            //   33d1                 | xor                 edx, ecx
            //   035054               | add                 edx, dword ptr [eax + 0x54]
            //   8d9c13f87ca21f       | lea                 ebx, [ebx + edx + 0x1fa27cf8]
            //   8bd3                 | mov                 edx, ebx
            //   c1ea10               | shr                 edx, 0x10

        $sequence_4 = { 8d542414 50 51 52 8d842494030000 68???????? 50 }
            // n = 7, score = 100
            //   8d542414             | lea                 edx, [esp + 0x14]
            //   50                   | push                eax
            //   51                   | push                ecx
            //   52                   | push                edx
            //   8d842494030000       | lea                 eax, [esp + 0x394]
            //   68????????           |                     
            //   50                   | push                eax

        $sequence_5 = { 8bb4247c010000 b980000000 8d5624 c6460873 8bfa f3ab }
            // n = 6, score = 100
            //   8bb4247c010000       | mov                 esi, dword ptr [esp + 0x17c]
            //   b980000000           | mov                 ecx, 0x80
            //   8d5624               | lea                 edx, [esi + 0x24]
            //   c6460873             | mov                 byte ptr [esi + 8], 0x73
            //   8bfa                 | mov                 edi, edx
            //   f3ab                 | rep stosd           dword ptr es:[edi], eax

        $sequence_6 = { 33c9 8a4e01 8bf9 8d5703 }
            // n = 4, score = 100
            //   33c9                 | xor                 ecx, ecx
            //   8a4e01               | mov                 cl, byte ptr [esi + 1]
            //   8bf9                 | mov                 edi, ecx
            //   8d5703               | lea                 edx, [edi + 3]

        $sequence_7 = { 8d542464 c744246400020000 52 f3a5 e8???????? }
            // n = 5, score = 100
            //   8d542464             | lea                 edx, [esp + 0x64]
            //   c744246400020000     | mov                 dword ptr [esp + 0x64], 0x200
            //   52                   | push                edx
            //   f3a5                 | rep movsd           dword ptr es:[edi], dword ptr [esi]
            //   e8????????           |                     

        $sequence_8 = { 8d942474010000 57 52 8bf0 ff15???????? }
            // n = 5, score = 100
            //   8d942474010000       | lea                 edx, [esp + 0x174]
            //   57                   | push                edi
            //   52                   | push                edx
            //   8bf0                 | mov                 esi, eax
            //   ff15????????         |                     

        $sequence_9 = { 762e 83cfff 2b7de4 03c7 8b7dd8 3bce 731f }
            // n = 7, score = 100
            //   762e                 | jbe                 0x30
            //   83cfff               | or                  edi, 0xffffffff
            //   2b7de4               | sub                 edi, dword ptr [ebp - 0x1c]
            //   03c7                 | add                 eax, edi
            //   8b7dd8               | mov                 edi, dword ptr [ebp - 0x28]
            //   3bce                 | cmp                 ecx, esi
            //   731f                 | jae                 0x21

        $sequence_10 = { 7509 8b8c85b049ffff eb02 33c9 8d8485b449ffff }
            // n = 5, score = 100
            //   7509                 | jne                 0xb
            //   8b8c85b049ffff       | mov                 ecx, dword ptr [ebp + eax*4 - 0xb650]
            //   eb02                 | jmp                 4
            //   33c9                 | xor                 ecx, ecx
            //   8d8485b449ffff       | lea                 eax, [ebp + eax*4 - 0xb64c]

        $sequence_11 = { 0f85ac000000 3bf9 7531 8d9d887fffff 3bc3 7427 }
            // n = 6, score = 100
            //   0f85ac000000         | jne                 0xb2
            //   3bf9                 | cmp                 edi, ecx
            //   7531                 | jne                 0x33
            //   8d9d887fffff         | lea                 ebx, [ebp - 0x8078]
            //   3bc3                 | cmp                 eax, ebx
            //   7427                 | je                  0x29

        $sequence_12 = { 66898dc0f5ffff 8d8dc4fdffff 8955dc 8945e0 51 8d9598e3ffff 68???????? }
            // n = 7, score = 100
            //   66898dc0f5ffff       | mov                 word ptr [ebp - 0xa40], cx
            //   8d8dc4fdffff         | lea                 ecx, [ebp - 0x23c]
            //   8955dc               | mov                 dword ptr [ebp - 0x24], edx
            //   8945e0               | mov                 dword ptr [ebp - 0x20], eax
            //   51                   | push                ecx
            //   8d9598e3ffff         | lea                 edx, [ebp - 0x1c68]
            //   68????????           |                     

        $sequence_13 = { 3b85b849ffff 7316 8b4588 8d3438 8d85887fffff }
            // n = 5, score = 100
            //   3b85b849ffff         | cmp                 eax, dword ptr [ebp - 0xb648]
            //   7316                 | jae                 0x18
            //   8b4588               | mov                 eax, dword ptr [ebp - 0x78]
            //   8d3438               | lea                 esi, [eax + edi]
            //   8d85887fffff         | lea                 eax, [ebp - 0x8078]

        $sequence_14 = { 56 57 8b35???????? 85f6 741b }
            // n = 5, score = 100
            //   56                   | push                esi
            //   57                   | push                edi
            //   8b35????????         |                     
            //   85f6                 | test                esi, esi
            //   741b                 | je                  0x1d

        $sequence_15 = { 8b442424 8b4c2428 8d9d28030000 6804010000 53 }
            // n = 5, score = 100
            //   8b442424             | mov                 eax, dword ptr [esp + 0x24]
            //   8b4c2428             | mov                 ecx, dword ptr [esp + 0x28]
            //   8d9d28030000         | lea                 ebx, [ebp + 0x328]
            //   6804010000           | push                0x104
            //   53                   | push                ebx

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