SYMBOLCOMMON_NAMEaka. SYNONYMS
win.pykspa (Back to overview)

Pykspa


There is no description at this point.

References
2019-07-11AkamaiLior Lahav
@online{lahav:20190711:pykspa:9a2e7e7, author = {Lior Lahav}, title = {{Pykspa V2 DHA Updated to Become Selective}}, date = {2019-07-11}, organization = {Akamai}, url = {https://blogs.akamai.com/sitr/2019/07/pykspa-v2-dga-updated-to-become-selective.html}, language = {English}, urldate = {2020-01-06} } Pykspa V2 DHA Updated to Become Selective
Pykspa
2018-01-11Youtube (OALabs)Sergei Frankoff
@online{frankoff:20180111:unpacking:bd095df, author = {Sergei Frankoff}, title = {{Unpacking Pykspa Malware With Python and IDA Pro - Subscriber Request Part 1}}, date = {2018-01-11}, organization = {Youtube (OALabs)}, url = {https://www.youtube.com/watch?v=HfSQlC76_s4}, language = {English}, urldate = {2019-11-29} } Unpacking Pykspa Malware With Python and IDA Pro - Subscriber Request Part 1
Pykspa
2015-07-19Johannes Bader BlogJohannes Bader
@online{bader:20150719:faulty:e287eee, author = {Johannes Bader}, title = {{The Faulty Precursor of Pykspa's DGA}}, date = {2015-07-19}, organization = {Johannes Bader Blog}, url = {https://www.johannesbader.ch/2015/07/pykspas-inferior-dga-version/}, language = {English}, urldate = {2020-01-09} } The Faulty Precursor of Pykspa's DGA
Pykspa
2015-03-10Johannes Bader BlogJohannes Bader
@online{bader:20150310:dga:4409507, author = {Johannes Bader}, title = {{The DGA of Pykspa}}, date = {2015-03-10}, organization = {Johannes Bader Blog}, url = {https://www.johannesbader.ch/2015/03/the-dga-of-pykspa/}, language = {English}, urldate = {2019-12-19} } The DGA of Pykspa
Pykspa
Yara Rules
[TLP:WHITE] win_pykspa_auto (20220516 | Detects win.pykspa.)
rule win_pykspa_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2022-05-16"
        version = "1"
        description = "Detects win.pykspa."
        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.pykspa"
        malpedia_rule_date = "20220513"
        malpedia_hash = "7f4b2229e6ae614d86d74917f6d5b41890e62a26"
        malpedia_version = "20220516"
        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 = { 2bc1 eb2c 8b4f0c 53 8bd8 8b460c 8bd3 }
            // n = 7, score = 100
            //   2bc1                 | sub                 eax, ecx
            //   eb2c                 | jmp                 0x2e
            //   8b4f0c               | mov                 ecx, dword ptr [edi + 0xc]
            //   53                   | push                ebx
            //   8bd8                 | mov                 ebx, eax
            //   8b460c               | mov                 eax, dword ptr [esi + 0xc]
            //   8bd3                 | mov                 edx, ebx

        $sequence_1 = { 8d8405e8fdffff 50 ff15???????? 85c0 754d ff7508 8d85fcfeffff }
            // n = 7, score = 100
            //   8d8405e8fdffff       | lea                 eax, [ebp + eax - 0x218]
            //   50                   | push                eax
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   754d                 | jne                 0x4f
            //   ff7508               | push                dword ptr [ebp + 8]
            //   8d85fcfeffff         | lea                 eax, [ebp - 0x104]

        $sequence_2 = { 57 ff7508 e8???????? ff7510 8b5d0c 81c32c010000 53 }
            // n = 7, score = 100
            //   57                   | push                edi
            //   ff7508               | push                dword ptr [ebp + 8]
            //   e8????????           |                     
            //   ff7510               | push                dword ptr [ebp + 0x10]
            //   8b5d0c               | mov                 ebx, dword ptr [ebp + 0xc]
            //   81c32c010000         | add                 ebx, 0x12c
            //   53                   | push                ebx

        $sequence_3 = { 56 57 8b3d???????? 55 6a08 ffd7 8b1d???????? }
            // n = 7, score = 100
            //   56                   | push                esi
            //   57                   | push                edi
            //   8b3d????????         |                     
            //   55                   | push                ebp
            //   6a08                 | push                8
            //   ffd7                 | call                edi
            //   8b1d????????         |                     

        $sequence_4 = { 50 ff15???????? 8d85f8feffff 53 50 e8???????? 59 }
            // n = 7, score = 100
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8d85f8feffff         | lea                 eax, [ebp - 0x108]
            //   53                   | push                ebx
            //   50                   | push                eax
            //   e8????????           |                     
            //   59                   | pop                 ecx

        $sequence_5 = { 55 8bec 83ec54 53 56 57 6a1c }
            // n = 7, score = 100
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   83ec54               | sub                 esp, 0x54
            //   53                   | push                ebx
            //   56                   | push                esi
            //   57                   | push                edi
            //   6a1c                 | push                0x1c

        $sequence_6 = { 8bec 81ec20010000 57 8d85e0feffff 50 ff7508 e8???????? }
            // n = 7, score = 100
            //   8bec                 | mov                 ebp, esp
            //   81ec20010000         | sub                 esp, 0x120
            //   57                   | push                edi
            //   8d85e0feffff         | lea                 eax, [ebp - 0x120]
            //   50                   | push                eax
            //   ff7508               | push                dword ptr [ebp + 8]
            //   e8????????           |                     

        $sequence_7 = { 8bd0 2b5608 81fae0930400 7310 8b16 8911 668b5604 }
            // n = 7, score = 100
            //   8bd0                 | mov                 edx, eax
            //   2b5608               | sub                 edx, dword ptr [esi + 8]
            //   81fae0930400         | cmp                 edx, 0x493e0
            //   7310                 | jae                 0x12
            //   8b16                 | mov                 edx, dword ptr [esi]
            //   8911                 | mov                 dword ptr [ecx], edx
            //   668b5604             | mov                 dx, word ptr [esi + 4]

        $sequence_8 = { 50 6aff ff36 53 53 ff15???????? ff7508 }
            // n = 7, score = 100
            //   50                   | push                eax
            //   6aff                 | push                -1
            //   ff36                 | push                dword ptr [esi]
            //   53                   | push                ebx
            //   53                   | push                ebx
            //   ff15????????         |                     
            //   ff7508               | push                dword ptr [ebp + 8]

        $sequence_9 = { e8???????? 84c0 59 0f84fb000000 3bf3 7415 56 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   84c0                 | test                al, al
            //   59                   | pop                 ecx
            //   0f84fb000000         | je                  0x101
            //   3bf3                 | cmp                 esi, ebx
            //   7415                 | je                  0x17
            //   56                   | push                esi

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