SYMBOLCOMMON_NAMEaka. SYNONYMS
win.alpc_lpe (Back to overview)

ALPC Local PrivEsc

VTCollection    

There is no description at this point.

References
2018-09-05ESET ResearchMatthieu Faou
PowerPool malware exploits ALPC LPE zero‑day vulnerability
ALPC Local PrivEsc PowerPool
Yara Rules
[TLP:WHITE] win_alpc_lpe_auto (20230808 | Detects win.alpc_lpe.)
rule win_alpc_lpe_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.alpc_lpe."
        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.alpc_lpe"
        malpedia_rule_date = "20231130"
        malpedia_hash = "fc8a0e9f343f6d6ded9e7df1a64dac0cc68d7351"
        malpedia_version = "20230808"
        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 = { ba31000000 4c8d05b3a10000 448bcb 482bd6 e8???????? 4883c603 881f }
            // n = 7, score = 100
            //   ba31000000           | mov                 edx, dword ptr [ecx + ebp*4]
            //   4c8d05b3a10000       | dec                 esp
            //   448bcb               | mov                 eax, edi
            //   482bd6               | mov                 ecx, ebp
            //   e8????????           |                     
            //   4883c603             | test                eax, eax
            //   881f                 | je                  0x175

        $sequence_1 = { 4533c0 48c7c102000080 4889442420 ff15???????? ff15???????? 488b4c2448 }
            // n = 6, score = 100
            //   4533c0               | mov                 dword ptr [esp + 0x20], eax
            //   48c7c102000080       | dec                 esp
            //   4889442420           | lea                 ecx, [ebp + 0xe8]
            //   ff15????????         |                     
            //   ff15????????         |                     
            //   488b4c2448           | dec                 esp

        $sequence_2 = { 57 4881ec58010000 488d6c2420 488bfc b956000000 }
            // n = 5, score = 100
            //   57                   | mov                 dword ptr [ebp + 0x108], eax
            //   4881ec58010000       | dec                 eax
            //   488d6c2420           | mov                 ecx, dword ptr [ebp + 0x140]
            //   488bfc               | dec                 eax
            //   b956000000           | mov                 ecx, dword ptr [ebp + 0x108]

        $sequence_3 = { 488b8d00010000 e8???????? 488b8dd8000000 488bd1 488bc8 e8???????? }
            // n = 6, score = 100
            //   488b8d00010000       | mov                 ecx, eax
            //   e8????????           |                     
            //   488b8dd8000000       | dec                 eax
            //   488bd1               | mov                 esi, eax
            //   488bc8               | xor                 eax, eax
            //   e8????????           |                     

        $sequence_4 = { e8???????? 488d0da1af0000 e8???????? 488d0d85af0000 }
            // n = 4, score = 100
            //   e8????????           |                     
            //   488d0da1af0000       | dec                 eax
            //   e8????????           |                     
            //   488d0d85af0000       | mov                 ecx, dword ptr [ebp + 0x390]

        $sequence_5 = { 488bc8 e8???????? 488b5508 488b8d00010000 }
            // n = 4, score = 100
            //   488bc8               | dec                 eax
            //   e8????????           |                     
            //   488b5508             | mov                 dword ptr [esp + 0x50], ecx
            //   488b8d00010000       | dec                 esp

        $sequence_6 = { e8???????? 488d0dc1ad0000 e8???????? 488d0da5ad0000 }
            // n = 4, score = 100
            //   e8????????           |                     
            //   488d0dc1ad0000       | lea                 ebp, [edx + 0x20]
            //   e8????????           |                     
            //   488d0da5ad0000       | dec                 eax

        $sequence_7 = { 488d6c2430 488bfc b98a000000 b8cccccccc f3ab 488b8c2448020000 488b05???????? }
            // n = 7, score = 100
            //   488d6c2430           | dec                 eax
            //   488bfc               | mov                 ecx, dword ptr [ebp + 0x28]
            //   b98a000000           | dec                 eax
            //   b8cccccccc           | sub                 ecx, eax
            //   f3ab                 | dec                 eax
            //   488b8c2448020000     | mov                 eax, ecx
            //   488b05????????       |                     

        $sequence_8 = { 488d1deb7e0000 4184c0 7539 410bc0 488d542458 488d0ddfd30000 8905???????? }
            // n = 7, score = 100
            //   488d1deb7e0000       | mov                 edi, esp
            //   4184c0               | mov                 ecx, 0x32
            //   7539                 | mov                 eax, 0xcccccccc
            //   410bc0               | rep stosd           dword ptr es:[edi], eax
            //   488d542458           | dec                 eax
            //   488d0ddfd30000       | mov                 ecx, dword ptr [esp + 0xe8]
            //   8905????????         |                     

        $sequence_9 = { 488b4c2438 488d442430 4889442428 4c8d4c2434 488d442440 4533c0 488d1548830000 }
            // n = 7, score = 100
            //   488b4c2438           | dec                 esp
            //   488d442430           | lea                 eax, [0xf8f6]
            //   4889442428           | dec                 eax
            //   4c8d4c2434           | lea                 edx, [0xf99f]
            //   488d442440           | dec                 eax
            //   4533c0               | lea                 ecx, [0xf9c0]
            //   488d1548830000       | dec                 eax

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