SYMBOLCOMMON_NAMEaka. SYNONYMS
win.badhatch (Back to overview)

BADHATCH

Actor(s): FIN8

VTCollection    

There is no description at this point.

References
2021-08-15SymantecThreat Hunter Team
The Ransomware Threat
Babuk BlackMatter DarkSide Avaddon Babuk BADHATCH BazarBackdoor BlackMatter Clop Cobalt Strike Conti DarkSide DoppelPaymer Egregor Emotet FiveHands FriedEx Hades IcedID LockBit Maze MegaCortex MimiKatz QakBot RagnarLocker REvil Ryuk TrickBot WastedLocker
2021-03-15Team CymruJosh Hopkins
FIN8: BADHATCH Threat Indicator Enrichmen
BADHATCH
2021-03-10BitdefenderBogdan Botezatu, Victor Vrabie
FIN8 Returns with Improved BADHATCH Toolkit
BADHATCH
2019-07-23GigamonEd Miles, Justin Warner, Kristina Savelesky
ABADBABE 8BADF00D: Discovering BADHATCH and a Detailed Look at FIN8’s Tooling
BADHATCH
Yara Rules
[TLP:WHITE] win_badhatch_auto (20260504 | Detects win.badhatch.)
rule win_badhatch_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.badhatch."
        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.badhatch"
        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 = { 5f c3 55 8bec 83ec2c 8b450c 53 }
            // n = 7, score = 100
            //   5f                   | pop                 edi
            //   c3                   | ret                 
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   83ec2c               | sub                 esp, 0x2c
            //   8b450c               | mov                 eax, dword ptr [ebp + 0xc]
            //   53                   | push                ebx

        $sequence_1 = { 57 57 6a01 ff7508 897df0 }
            // n = 5, score = 100
            //   57                   | push                edi
            //   57                   | push                edi
            //   6a01                 | push                1
            //   ff7508               | push                dword ptr [ebp + 8]
            //   897df0               | mov                 dword ptr [ebp - 0x10], edi

        $sequence_2 = { 58 6a53 668945f4 58 668945f6 33c0 668945f8 }
            // n = 7, score = 100
            //   58                   | pop                 eax
            //   6a53                 | push                0x53
            //   668945f4             | mov                 word ptr [ebp - 0xc], ax
            //   58                   | pop                 eax
            //   668945f6             | mov                 word ptr [ebp - 0xa], ax
            //   33c0                 | xor                 eax, eax
            //   668945f8             | mov                 word ptr [ebp - 8], ax

        $sequence_3 = { 8bec 53 56 57 be54010000 56 33ff }
            // n = 7, score = 100
            //   8bec                 | mov                 ebp, esp
            //   53                   | push                ebx
            //   56                   | push                esi
            //   57                   | push                edi
            //   be54010000           | mov                 esi, 0x154
            //   56                   | push                esi
            //   33ff                 | xor                 edi, edi

        $sequence_4 = { 6a02 5b 53 ff15???????? 8945b8 83f801 0f85ff060000 }
            // n = 7, score = 100
            //   6a02                 | push                2
            //   5b                   | pop                 ebx
            //   53                   | push                ebx
            //   ff15????????         |                     
            //   8945b8               | mov                 dword ptr [ebp - 0x48], eax
            //   83f801               | cmp                 eax, 1
            //   0f85ff060000         | jne                 0x705

        $sequence_5 = { ff75f4 ff75fc e8???????? 83c410 6800800000 }
            // n = 5, score = 100
            //   ff75f4               | push                dword ptr [ebp - 0xc]
            //   ff75fc               | push                dword ptr [ebp - 4]
            //   e8????????           |                     
            //   83c410               | add                 esp, 0x10
            //   6800800000           | push                0x8000

        $sequence_6 = { 57 57 57 6aff ff15???????? 8906 3bc7 }
            // n = 7, score = 100
            //   57                   | push                edi
            //   57                   | push                edi
            //   57                   | push                edi
            //   6aff                 | push                -1
            //   ff15????????         |                     
            //   8906                 | mov                 dword ptr [esi], eax
            //   3bc7                 | cmp                 eax, edi

        $sequence_7 = { c7470401000000 89770c 8936 895f3c ff7024 b001 e8???????? }
            // n = 7, score = 100
            //   c7470401000000       | mov                 dword ptr [edi + 4], 1
            //   89770c               | mov                 dword ptr [edi + 0xc], esi
            //   8936                 | mov                 dword ptr [esi], esi
            //   895f3c               | mov                 dword ptr [edi + 0x3c], ebx
            //   ff7024               | push                dword ptr [eax + 0x24]
            //   b001                 | mov                 al, 1
            //   e8????????           |                     

        $sequence_8 = { 5e 8bc1 5b 8be5 5d c20400 51 }
            // n = 7, score = 100
            //   5e                   | pop                 esi
            //   8bc1                 | mov                 eax, ecx
            //   5b                   | pop                 ebx
            //   8be5                 | mov                 esp, ebp
            //   5d                   | pop                 ebp
            //   c20400               | ret                 4
            //   51                   | push                ecx

        $sequence_9 = { 55 8bec 83ec14 53 8d45f8 50 68???????? }
            // n = 7, score = 100
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   83ec14               | sub                 esp, 0x14
            //   53                   | push                ebx
            //   8d45f8               | lea                 eax, [ebp - 8]
            //   50                   | push                eax
            //   68????????           |                     

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