SYMBOLCOMMON_NAMEaka. SYNONYMS
win.stealhook (Back to overview)

STEALHOOK

Actor(s): OilRig

VTCollection    

There is no description at this point.

References
2024-10-11Trend MicroAhmed Kamal, Bahaa Yamany, Mohamed Fahmy, Nick Dai
Earth Simnavaz (aka APT34) Levies Advanced Cyberattacks Against UAE and Gulf Regions
STEALHOOK
2024-10-11Trend MicroAhmed Kamal, Bahaa Yamany, Mohamed Fahmy, Nick Dai
Earth Simnavaz (aka APT34) Levies Advanced Cyberattacks Against Middle East
STEALHOOK OilRig
Yara Rules
[TLP:WHITE] win_stealhook_auto (20260504 | Detects win.stealhook.)
rule win_stealhook_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.stealhook."
        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.stealhook"
        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 = { f20f59ee f20f5ce9 f2410f1004c1 488d1536f50000 f20f1014c2 f20f1025???????? f20f59e6 }
            // n = 7, score = 100
            //   f20f59ee             | test                eax, eax
            //   f20f5ce9             | je                  0x11f4
            //   f2410f1004c1         | inc                 esp
            //   488d1536f50000       | mov                 dword ptr [eax + 8], edi
            //   f20f1014c2           | dec                 eax
            //   f20f1025????????     |                     
            //   f20f59e6             | lea                 ecx, [0x45f17]

        $sequence_1 = { 33d2 e8???????? 48894720 488d0d34550400 807b5604 7704 488b4b40 }
            // n = 7, score = 100
            //   33d2                 | je                  0x1dc9
            //   e8????????           |                     
            //   48894720             | dec                 esp
            //   488d0d34550400       | lea                 esi, [0x2a8d1]
            //   807b5604             | mov                 dword ptr [ebx + 0x48], ebp
            //   7704                 | inc                 eax
            //   488b4b40             | mov                 byte ptr [ebx + 0x24], ch

        $sequence_2 = { 48894c2428 4533ff 488d15ff220700 33c9 e8???????? 488b4310 48837b1807 }
            // n = 7, score = 100
            //   48894c2428           | mov                 dword ptr [ebx], eax
            //   4533ff               | dec                 eax
            //   488d15ff220700       | test                eax, eax
            //   33c9                 | je                  0x3bf
            //   e8????????           |                     
            //   488b4310             | inc                 sp
            //   48837b1807           | cmp                 dword ptr [eax], esp

        $sequence_3 = { 4883ec20 488d0537f50200 488bda 4a8b04c0 483902 7416 8b81a8030000 }
            // n = 7, score = 100
            //   4883ec20             | cmp                 eax, 0x1f
            //   488d0537f50200       | ja                  0x1703
            //   488bda               | dec                 eax
            //   4a8b04c0             | add                 edx, 0x27
            //   483902               | dec                 eax
            //   7416                 | mov                 ecx, dword ptr [ecx - 8]
            //   8b81a8030000         | dec                 eax

        $sequence_4 = { 4533c0 45894320 488d056ac60600 488901 4c8981b8000000 4c8981c0000000 448981c8000000 }
            // n = 7, score = 100
            //   4533c0               | dec                 eax
            //   45894320             | mov                 dword ptr [esp + 0xc8], edx
            //   488d056ac60600       | jmp                 0xda7
            //   488901               | inc                 edx
            //   4c8981b8000000       | movsx               eax, byte ptr [ecx + ebx + 0x7e670]
            //   4c8981c0000000       | test                eax, eax
            //   448981c8000000       | jne                 0xdc0

        $sequence_5 = { 488b8c2428010000 e8???????? 4c8d842470180000 bae8030000 488d8c2480040000 e8???????? 33db }
            // n = 7, score = 100
            //   488b8c2428010000     | dec                 eax
            //   e8????????           |                     
            //   4c8d842470180000     | cmp                 ecx, ebp
            //   bae8030000           | je                  0x8aa
            //   488d8c2480040000     | dec                 eax
            //   e8????????           |                     
            //   33db                 | test                ecx, ecx

        $sequence_6 = { 488d05fa930600 49894408f0 488b07 4c634004 458d48f0 45894c08ec 488d05de920600 }
            // n = 7, score = 100
            //   488d05fa930600       | dec                 eax
            //   49894408f0           | lea                 eax, [0x6eaa5]
            //   488b07               | dec                 eax
            //   4c634004             | mov                 dword ptr [ebp + 0x30], eax
            //   458d48f0             | dec                 eax
            //   45894c08ec           | lea                 ecx, [ebp + 0x30]
            //   488d05de920600       | nop                 

        $sequence_7 = { 488b07 4c634004 488d05fa930600 49894408f0 488b07 4c634004 }
            // n = 6, score = 100
            //   488b07               | mov                 edx, dword ptr [esp + 0x348]
            //   4c634004             | dec                 eax
            //   488d05fa930600       | cmp                 edx, 7
            //   49894408f0           | dec                 eax
            //   488b07               | cmp                 eax, 0x1f
            //   4c634004             | ja                  0x1ce4

        $sequence_8 = { 722b 410fb609 41ffc0 83e10f 4a0fbe8431389a0600 428a8c31489a0600 4c2bc8 }
            // n = 7, score = 100
            //   722b                 | dec                 ebp
            //   410fb609             | mov                 esi, dword ptr [esi - 8]
            //   41ffc0               | dec                 ecx
            //   83e10f               | sub                 eax, esi
            //   4a0fbe8431389a0600     | dec    eax
            //   428a8c31489a0600     | add                 eax, -8
            //   4c2bc8               | dec                 eax

        $sequence_9 = { 4c896c2428 4c897c2420 e8???????? 84c0 0f8493feffff 4c8d25ed540200 49391f }
            // n = 7, score = 100
            //   4c896c2428           | dec                 ecx
            //   4c897c2420           | mov                 eax, dword ptr [ebx + ebp*8 + 0x811d0]
            //   e8????????           |                     
            //   84c0                 | dec                 ecx
            //   0f8493feffff         | mov                 esi, ecx
            //   4c8d25ed540200       | dec                 ecx
            //   49391f               | mov                 ebx, eax

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