SYMBOLCOMMON_NAMEaka. SYNONYMS
win.boatlaunch (Back to overview)

BOATLAUNCH

Actor(s): FIN7

VTCollection    

FIN7 uses this malware as helper module during intrusion operations. BOATLAUNCH is continuously looking for PowerShell processes on infected systems and patches them to bypuss Windows AntiMalware Scan Interface (AMSI).

References
Yara Rules
[TLP:WHITE] win_boatlaunch_auto (20260917 | Detects win.boatlaunch.)
rule win_boatlaunch_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.boatlaunch."
        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.boatlaunch"
        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 = { 4883ec78 488d6c2450 48c745d800000000 488b8580000000 48894510 48c7451800000000 488d4de0 }
            // n = 7, score = 100
            //   4883ec78             | dec                 eax
            //   488d6c2450           | lea                 ecx, [ebp - 0x30]
            //   48c745d800000000     | dec                 eax
            //   488b8580000000       | mov                 edx, 0x400
            //   48894510             | dec                 esp
            //   48c7451800000000     | lea                 ecx, [ebp + 0x10]
            //   488d4de0             | cmp                 eax, 0xc000000b

        $sequence_1 = { 33d2 e8???????? 488bd8 488b4dd0 e8???????? 81fb02010000 }
            // n = 6, score = 100
            //   33d2                 | je                  0x29
            //   e8????????           |                     
            //   488bd8               | dec                 eax
            //   488b4dd0             | mov                 ecx, dword ptr [ebp - 0x30]
            //   e8????????           |                     
            //   81fb02010000         | xor                 edx, edx

        $sequence_2 = { 4883612000 4883611000 4883612800 488d4dd0 48c7c200040000 }
            // n = 5, score = 100
            //   4883612000           | test                ebx, ebx
            //   4883611000           | je                  0x6a
            //   4883612800           | dec                 eax
            //   488d4dd0             | mov                 ecx, ebx
            //   48c7c200040000       | dec                 eax

        $sequence_3 = { 488d4df0 e8???????? 48c7c1ffffffff 488d55f0 448bc3 e8???????? 3b8558110000 }
            // n = 7, score = 100
            //   488d4df0             | lea                 ebp, [esp + 0x50]
            //   e8????????           |                     
            //   48c7c1ffffffff       | dec                 eax
            //   488d55f0             | mov                 dword ptr [ebp - 0x28], 0
            //   448bc3               | dec                 eax
            //   e8????????           |                     
            //   3b8558110000         | mov                 eax, dword ptr [ebp + 0x80]

        $sequence_4 = { e8???????? 85c0 0f8440010000 8b75f4 }
            // n = 4, score = 100
            //   e8????????           |                     
            //   85c0                 | cmp                 ebx, 0x102
            //   0f8440010000         | dec                 eax
            //   8b75f4               | cmp                 dword ptr [ebp - 0x38], 0

        $sequence_5 = { ff35???????? e8???????? 8945f4 8d45f8 50 ff75f8 ff75f4 }
            // n = 7, score = 100
            //   ff35????????         |                     
            //   e8????????           |                     
            //   8945f4               | xor                 edx, edx
            //   8d45f8               | dec                 eax
            //   50                   | mov                 ebx, eax
            //   ff75f8               | dec                 eax
            //   ff75f4               | mov                 ecx, dword ptr [ebp - 0x30]

        $sequence_6 = { 8bec 83c4f4 68???????? 6aff }
            // n = 4, score = 100
            //   8bec                 | lea                 ecx, [ebp - 0x3c]
            //   83c4f4               | mov                 dword ptr [ebp - 0xc], eax
            //   68????????           |                     
            //   6aff                 | lea                 eax, [ebp - 8]

        $sequence_7 = { c3 55 8bec 83c4dc 53 51 52 }
            // n = 7, score = 100
            //   c3                   | je                  0x14
            //   55                   | xor                 edx, edx
            //   8bec                 | dec                 eax
            //   83c4dc               | lea                 ecx, [ebp - 0x10]
            //   53                   | dec                 eax
            //   51                   | mov                 ecx, 0xffffffff
            //   52                   | dec                 eax

        $sequence_8 = { 8945f0 c745f400000000 8d5dd8 c70318000000 c7430400000000 c7430800000000 c7430c00000000 }
            // n = 7, score = 100
            //   8945f0               | lea                 edx, [ebp - 0x10]
            //   c745f400000000       | inc                 esp
            //   8d5dd8               | mov                 eax, ebx
            //   c70318000000         | cmp                 eax, dword ptr [ebp + 0x1158]
            //   c7430400000000       | dec                 eax
            //   c7430800000000       | cmp                 dword ptr [ebp - 0x20], 0
            //   c7430c00000000       | je                  0x1b9

        $sequence_9 = { 488bd8 4885db 7468 488bcb e8???????? }
            // n = 5, score = 100
            //   488bd8               | ret                 
            //   4885db               | dec                 eax
            //   7468                 | mov                 ebx, eax
            //   488bcb               | dec                 eax
            //   e8????????           |                     

        $sequence_10 = { 488d6500 5d c3 ff25???????? ff25???????? ff25???????? ff25???????? }
            // n = 7, score = 100
            //   488d6500             | dec                 eax
            //   5d                   | lea                 esp, [ebp]
            //   c3                   | pop                 ebp
            //   ff25????????         |                     
            //   ff25????????         |                     
            //   ff25????????         |                     
            //   ff25????????         |                     

        $sequence_11 = { 53 8d85e0eeffff 50 6aff e8???????? 3b450c }
            // n = 6, score = 100
            //   53                   | mov                 esi, dword ptr [ebp - 0xc]
            //   8d85e0eeffff         | ret                 
            //   50                   | push                ebp
            //   6aff                 | mov                 ebp, esp
            //   e8????????           |                     
            //   3b450c               | add                 esp, -0x24

        $sequence_12 = { c7431400000000 8d45f4 50 8d45dc 50 }
            // n = 5, score = 100
            //   c7431400000000       | push                eax
            //   8d45f4               | push                dword ptr [ebp - 8]
            //   50                   | push                dword ptr [ebp - 0xc]
            //   8d45dc               | test                eax, eax
            //   50                   | je                  0x146

        $sequence_13 = { 4c8d4d10 e8???????? 3d0b0000c0 7427 488b4dd0 33d2 }
            // n = 6, score = 100
            //   4c8d4d10             | and                 dword ptr [ecx + 0x20], 0
            //   e8????????           |                     
            //   3d0b0000c0           | dec                 eax
            //   7427                 | and                 dword ptr [ecx + 0x10], 0
            //   488b4dd0             | dec                 eax
            //   33d2                 | and                 dword ptr [ecx + 0x28], 0

        $sequence_14 = { 51 52 56 57 c745fc00000000 c745f400000000 c745e400000000 }
            // n = 7, score = 100
            //   51                   | dec                 eax
            //   52                   | mov                 ecx, dword ptr [ebp + 0x1150]
            //   56                   | dec                 eax
            //   57                   | mov                 edx, dword ptr [ebp - 0x20]
            //   c745fc00000000       | inc                 esp
            //   c745f400000000       | mov                 eax, dword ptr [ebp - 0x3c]
            //   c745e400000000       | dec                 esp

        $sequence_15 = { 48837dc800 7412 488b0d???????? 33d2 }
            // n = 4, score = 100
            //   48837dc800           | dec                 eax
            //   7412                 | sub                 esp, 0x78
            //   488b0d????????       |                     
            //   33d2                 | dec                 eax

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