SYMBOLCOMMON_NAMEaka. SYNONYMS
win.compfun (Back to overview)

COMpfun

aka: Reductor RAT

There is no description at this point.

References
2020-05-14Kaspersky LabsGReAT
@online{great:20200514:compfun:eda09d1, author = {GReAT}, title = {{COMpfun authors spoof visa application with HTTP status-based Trojan}}, date = {2020-05-14}, organization = {Kaspersky Labs}, url = {https://securelist.com/compfun-http-status-based-trojan/96874/}, language = {English}, urldate = {2020-05-14} } COMpfun authors spoof visa application with HTTP status-based Trojan
COMpfun
2019-10-03Kaspersky LabsGReAT
@online{great:20191003:compfun:fd13b9e, author = {GReAT}, title = {{COMpfun successor Reductor infects files on the fly to compromise TLS traffic}}, date = {2019-10-03}, organization = {Kaspersky Labs}, url = {https://securelist.com/compfun-successor-reductor/93633/}, language = {English}, urldate = {2020-01-08} } COMpfun successor Reductor infects files on the fly to compromise TLS traffic
COMpfun
2019-08-01Kaspersky LabsGReAT
@online{great:20190801:trends:5e25d5b, author = {GReAT}, title = {{APT trends report Q2 2019}}, date = {2019-08-01}, organization = {Kaspersky Labs}, url = {https://securelist.com/apt-trends-report-q2-2019/91897/}, language = {English}, urldate = {2020-08-13} } APT trends report Q2 2019
ZooPark magecart POWERSTATS Chaperone COMpfun EternalPetya FinFisher RAT HawkEye Keylogger HOPLIGHT Microcin NjRAT Olympic Destroyer PLEAD RokRAT Triton Zebrocy Microcin
2014-10-30G DataG Data
@online{data:20141030:com:0da80b3, author = {G Data}, title = {{COM Object hijacking: the discreet way of persistence}}, date = {2014-10-30}, organization = {G Data}, url = {https://www.gdatasoftware.com/blog/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistence}, language = {English}, urldate = {2020-01-07} } COM Object hijacking: the discreet way of persistence
COMpfun
Yara Rules
[TLP:WHITE] win_compfun_auto (20201014 | autogenerated rule brought to you by yara-signator)
rule win_compfun_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2020-10-14"
        version = "1"
        description = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator v0.5.0"
        tool_config = "callsandjumps;datarefs;binvalue"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.compfun"
        malpedia_rule_date = "20201014"
        malpedia_hash = "a7e3bd57eaf12bf3ea29a863c041091ba3af9ac9"
        malpedia_version = "20201014"
        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 = { c746082d453532 c7460c462d3436 c7461037432d38 c746144533442d c7461843343537 c7461c39323931 }
            // n = 6, score = 200
            //   c746082d453532       | mov                 dword ptr [esi + 8], 0x3235452d
            //   c7460c462d3436       | mov                 dword ptr [esi + 0xc], 0x36342d46
            //   c7461037432d38       | mov                 dword ptr [esi + 0x10], 0x382d4337
            //   c746144533442d       | mov                 dword ptr [esi + 0x14], 0x2d443345
            //   c7461843343537       | mov                 dword ptr [esi + 0x18], 0x37353443
            //   c7461c39323931       | mov                 dword ptr [esi + 0x1c], 0x31393239

        $sequence_1 = { c7460864756c65 c7460c46696c65 c746104e616d65 c6461700 8bc6 5e }
            // n = 6, score = 200
            //   c7460864756c65       | mov                 dword ptr [esi + 8], 0x656c7564
            //   c7460c46696c65       | mov                 dword ptr [esi + 0xc], 0x656c6946
            //   c746104e616d65       | mov                 dword ptr [esi + 0x10], 0x656d614e
            //   c6461700             | mov                 byte ptr [esi + 0x17], 0
            //   8bc6                 | mov                 eax, esi
            //   5e                   | pop                 esi

        $sequence_2 = { 8985a8fdffff 8b450c 53 8b5d14 8985a4fdffff a1???????? 56 }
            // n = 7, score = 200
            //   8985a8fdffff         | mov                 dword ptr [ebp - 0x258], eax
            //   8b450c               | mov                 eax, dword ptr [ebp + 0xc]
            //   53                   | push                ebx
            //   8b5d14               | mov                 ebx, dword ptr [ebp + 0x14]
            //   8985a4fdffff         | mov                 dword ptr [ebp - 0x25c], eax
            //   a1????????           |                     
            //   56                   | push                esi

        $sequence_3 = { c74610616c7565 c6461500 8bc6 5e }
            // n = 4, score = 200
            //   c74610616c7565       | mov                 dword ptr [esi + 0x10], 0x65756c61
            //   c6461500             | mov                 byte ptr [esi + 0x15], 0
            //   8bc6                 | mov                 eax, esi
            //   5e                   | pop                 esi

        $sequence_4 = { c7460872766572 c6460e00 8bc6 5e 5d c3 }
            // n = 6, score = 200
            //   c7460872766572       | mov                 dword ptr [esi + 8], 0x72657672
            //   c6460e00             | mov                 byte ptr [esi + 0xe], 0
            //   8bc6                 | mov                 eax, esi
            //   5e                   | pop                 esi
            //   5d                   | pop                 ebp
            //   c3                   | ret                 

        $sequence_5 = { 83c40c c7460c45785720 c70652656743 c7460472656174 c74608654b6579 c6460f00 }
            // n = 6, score = 200
            //   83c40c               | add                 esp, 0xc
            //   c7460c45785720       | mov                 dword ptr [esi + 0xc], 0x20577845
            //   c70652656743         | mov                 dword ptr [esi], 0x43676552
            //   c7460472656174       | mov                 dword ptr [esi + 4], 0x74616572
            //   c74608654b6579       | mov                 dword ptr [esi + 8], 0x79654b65
            //   c6460f00             | mov                 byte ptr [esi + 0xf], 0

        $sequence_6 = { 83c418 8d8548f6ffff 6808020000 50 }
            // n = 4, score = 200
            //   83c418               | add                 esp, 0x18
            //   8d8548f6ffff         | lea                 eax, [ebp - 0x9b8]
            //   6808020000           | push                0x208
            //   50                   | push                eax

        $sequence_7 = { 59 50 57 ffd3 894630 }
            // n = 5, score = 200
            //   59                   | pop                 ecx
            //   50                   | push                eax
            //   57                   | push                edi
            //   ffd3                 | call                ebx
            //   894630               | mov                 dword ptr [esi + 0x30], eax

        $sequence_8 = { 740d 488b842488000000 8b4018 eb7e 48c744245800000000 48c744244800000000 c744243803000000 }
            // n = 7, score = 100
            //   740d                 | mov                 byte ptr [esp + 0x26], 0x48
            //   488b842488000000     | mov                 byte ptr [esp + 0x27], 0x65
            //   8b4018               | mov                 byte ptr [esp + 0x28], 0x6c
            //   eb7e                 | mov                 byte ptr [esp + 0x29], 0x6c
            //   48c744245800000000     | mov    byte ptr [esp + 0x2a], 0x6f
            //   48c744244800000000     | mov    byte ptr [esp + 0x2b], 0x6f
            //   c744243803000000     | dec                 eax

        $sequence_9 = { eb79 8b442468 83c001 89442468 e9???????? 0fb68424c0020000 85c0 }
            // n = 7, score = 100
            //   eb79                 | mov                 eax, dword ptr [esp + 0x138]
            //   8b442468             | xor                 edx, edx
            //   83c001               | mov                 ecx, 0xfde9
            //   89442468             | jmp                 0x7b
            //   e9????????           |                     
            //   0fb68424c0020000     | mov                 eax, dword ptr [esp + 0x68]
            //   85c0                 | add                 eax, 1

        $sequence_10 = { 4889442420 448bc9 4c8b842438010000 33d2 b9e9fd0000 ff15???????? }
            // n = 6, score = 100
            //   4889442420           | dec                 eax
            //   448bc9               | mov                 dword ptr [esp + 0x20], eax
            //   4c8b842438010000     | inc                 esp
            //   33d2                 | mov                 ecx, ecx
            //   b9e9fd0000           | dec                 esp
            //   ff15????????         |                     

        $sequence_11 = { 488b442470 4883781000 7422 488b442470 4883781800 7416 }
            // n = 6, score = 100
            //   488b442470           | mov                 eax, dword ptr [esp + 0x50]
            //   4883781000           | mov                 word ptr [eax + edx*2], cx
            //   7422                 | xor                 edx, edx
            //   488b442470           | dec                 eax
            //   4883781800           | mov                 ecx, dword ptr [esp + 0x50]
            //   7416                 | dec                 eax

        $sequence_12 = { 4c3bc0 7316 e8???????? 448bd8 }
            // n = 4, score = 100
            //   4c3bc0               | mov                 eax, dword ptr [esp + 0x70]
            //   7316                 | dec                 eax
            //   e8????????           |                     
            //   448bd8               | cmp                 dword ptr [eax + 0x10], 0

        $sequence_13 = { 488b442450 66890c50 33d2 488b4c2450 }
            // n = 4, score = 100
            //   488b442450           | mov                 dword ptr [esp + 0x68], eax
            //   66890c50             | movzx               eax, byte ptr [esp + 0x2c0]
            //   33d2                 | test                eax, eax
            //   488b4c2450           | dec                 eax

        $sequence_14 = { c644242648 c644242765 c64424286c c64424296c c644242a6f c644242b6f }
            // n = 6, score = 100
            //   c644242648           | je                  0x24
            //   c644242765           | dec                 eax
            //   c64424286c           | mov                 eax, dword ptr [esp + 0x70]
            //   c64424296c           | dec                 eax
            //   c644242a6f           | cmp                 dword ptr [eax + 0x18], 0
            //   c644242b6f           | je                  0x24

        $sequence_15 = { 48c744247800000000 4c8d4c2478 448b44246c 488b542470 488b8c2498000000 }
            // n = 5, score = 100
            //   48c744247800000000     | dec    esp
            //   4c8d4c2478           | cmp                 eax, eax
            //   448b44246c           | jae                 0x1b
            //   488b542470           | inc                 esp
            //   488b8c2498000000     | mov                 ebx, eax

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