OATBOAT is a loader that loads and executes shellcode payloads.
rule win_oatboat_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.oatboat." 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.oatboat" 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 = { c745e872747561 c745ec6c4d656d c745f06f727900 e8???????? 41b900800000 4c8d4540 488d5548 } // n = 7, score = 100 // c745e872747561 | mov ecx, dword ptr [ebx + 0x1c] // c745ec6c4d656d | dec eax // c745f06f727900 | cmp edi, eax // e8???????? | // 41b900800000 | jne 0x95 // 4c8d4540 | dec eax // 488d5548 | test edi, edi $sequence_1 = { 4c896538 c745e04e74416c c745e46c6f6361 c745e874655669 c745ec72747561 c745f06c4d656d } // n = 6, score = 100 // 4c896538 | lea edx, [ebp + 0x48] // c745e04e74416c | dec eax // c745e46c6f6361 | or ecx, 0xffffffff // c745e874655669 | call eax // c745ec72747561 | je 0xb // c745f06c4d656d | dec eax $sequence_2 = { 488d48d8 c740dc64006c00 33db c740e06c002e00 c740e464006c00 c740e86c000000 e8???????? } // n = 7, score = 100 // 488d48d8 | mov dword ptr [ebp - 0x14], 0x6d654d6c // c740dc64006c00 | mov dword ptr [ebp - 0x10], 0x79726f // 33db | inc ecx // c740e06c002e00 | mov ecx, 0x8000 // c740e464006c00 | dec esp // c740e86c000000 | lea eax, [ebp + 0x40] // e8???????? | $sequence_3 = { 55 4156 4157 488bec 4883ec30 65488b042560000000 } // n = 6, score = 100 // 55 | pop edi // 4156 | inc ecx // 4157 | pop esi // 488bec | dec eax // 4883ec30 | inc eax // 65488b042560000000 | inc esi $sequence_4 = { c740e86c000000 e8???????? 4885c0 740e 488bd7 488bc8 } // n = 6, score = 100 // c740e86c000000 | inc esi // e8???????? | // 4885c0 | dec eax // 740e | add ebx, 2 // 488bd7 | dec ecx // 488bc8 | cmp esi, ebx $sequence_5 = { e8???????? 488bd8 488b7c2458 488bc3 488b5c2450 4883c440 5d } // n = 7, score = 100 // e8???????? | // 488bd8 | dec eax // 488b7c2458 | mov ebx, eax // 488bc3 | dec eax // 488b5c2450 | mov edi, dword ptr [esp + 0x58] // 4883c440 | dec eax // 5d | mov eax, ebx $sequence_6 = { c745f04c6f6164 c745f44c696272 c745f861727957 44887dfc e8???????? 488bcf } // n = 6, score = 100 // c745f04c6f6164 | cmp edi, eax // c745f44c696272 | inc esp // c745f861727957 | cmp cl, cl // 44887dfc | jne 0x57 // e8???????? | // 488bcf | dec eax $sequence_7 = { 66895df8 c745e845004c00 c745ec33003200 c745f02e004400 c745f44c004c00 e8???????? 4885c0 } // n = 7, score = 100 // 66895df8 | dec esp // c745e845004c00 | mov esi, edi // c745ec33003200 | dec esp // c745f02e004400 | sub esi, ebx // c745f44c004c00 | movsx edx, byte ptr [ebx] // e8???????? | // 4885c0 | inc ebp condition: 7 of them and filesize < 58368 }
If your designated proposal does not fit in any other category, feel free to write a free-text in the comment field below. Changes regarding references should be proposed on the Malpedia library page.
Your suggestion will be reviewed before being published. Thank you for contributing!
YYYY-MM-DD
YYYY-MM
YYYY