SYMBOLCOMMON_NAMEaka. SYNONYMS
win.naikon (Back to overview)

Naikon

aka: Sacto

Actor(s): Naikon


There is no description at this point.

References
2015-05-14Kaspersky LabsKurt Baumgartner, Maxim Golovkin
@online{baumgartner:20150514:naikon:9edea2f, author = {Kurt Baumgartner and Maxim Golovkin}, title = {{The Naikon APT}}, date = {2015-05-14}, organization = {Kaspersky Labs}, url = {https://securelist.com/analysis/publications/69953/the-naikon-apt/}, language = {English}, urldate = {2019-12-20} } The Naikon APT
Naikon SslMM Sys10 WinMM xsPlus Naikon
2015-04FireEyeFireEye
@techreport{fireeye:201504:apt30:0129bf7, author = {FireEye}, title = {{APT30 AND THE MECHANICS OF A LONG-RUNNING CYBER ESPIONAGE OPERATION}}, date = {2015-04}, institution = {FireEye}, url = {https://www2.fireeye.com/rs/fireye/images/rpt-apt30.pdf}, language = {English}, urldate = {2020-01-07} } APT30 AND THE MECHANICS OF A LONG-RUNNING CYBER ESPIONAGE OPERATION
BACKBEND backspace CREAMSICLE FLASHFLOOD GEMCUTTER MILKMAID Naikon NETEAGLE ORANGEADE SHIPSHAPE SPACESHIP SslMM Sys10 WinMM xsPlus APT 30
2015-02-06CrowdStrikeCrowdStrike
@techreport{crowdstrike:20150206:crowdstrike:fbcc37f, author = {CrowdStrike}, title = {{CrowdStrike Global Threat Intel Report 2014}}, date = {2015-02-06}, institution = {CrowdStrike}, url = {https://web.archive.org/web/20200509171721/https://raw.githubusercontent.com/fdiskyou/threat-INTel/master/2015/GlobalThreatIntelReport.pdf}, language = {English}, urldate = {2020-05-11} } CrowdStrike Global Threat Intel Report 2014
BlackPOS CryptoLocker Derusbi Elise Enfal EvilGrab Gameover P2P HttpBrowser Medusa Mirage Naikon NetTraveler pirpi PlugX Poison Ivy Sakula RAT Sinowal sykipot taidoor
Yara Rules
[TLP:WHITE] win_naikon_auto (20211008 | Detects win.naikon.)
rule win_naikon_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2021-10-07"
        version = "1"
        description = "Detects win.naikon."
        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.naikon"
        malpedia_rule_date = "20211007"
        malpedia_hash = "e5b790e0f888f252d49063a1251ca60ec2832535"
        malpedia_version = "20211008"
        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 = { ff75f0 ffd7 e9???????? 8918 eb0a ff75f4 }
            // n = 6, score = 200
            //   ff75f0               | push                dword ptr [ebp - 0x10]
            //   ffd7                 | call                edi
            //   e9????????           |                     
            //   8918                 | mov                 dword ptr [eax], ebx
            //   eb0a                 | jmp                 0xc
            //   ff75f4               | push                dword ptr [ebp - 0xc]

        $sequence_1 = { 8d1c8520320110 8b4508 83e01f 8d34c0 8b03 c1e602 }
            // n = 6, score = 200
            //   8d1c8520320110       | lea                 ebx, dword ptr [eax*4 + 0x10013220]
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   83e01f               | and                 eax, 0x1f
            //   8d34c0               | lea                 esi, dword ptr [eax + eax*8]
            //   8b03                 | mov                 eax, dword ptr [ebx]
            //   c1e602               | shl                 esi, 2

        $sequence_2 = { 7627 8b4508 808405dcf9ffff05 ff4508 8d8405dcf9ffff 8d85dcf9ffff 50 }
            // n = 7, score = 200
            //   7627                 | jbe                 0x29
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   808405dcf9ffff05     | add                 byte ptr [ebp + eax - 0x624], 5
            //   ff4508               | inc                 dword ptr [ebp + 8]
            //   8d8405dcf9ffff       | lea                 eax, dword ptr [ebp + eax - 0x624]
            //   8d85dcf9ffff         | lea                 eax, dword ptr [ebp - 0x624]
            //   50                   | push                eax

        $sequence_3 = { 3bc6 894514 7540 ff75fc 8b1d???????? ffd3 56 }
            // n = 7, score = 200
            //   3bc6                 | cmp                 eax, esi
            //   894514               | mov                 dword ptr [ebp + 0x14], eax
            //   7540                 | jne                 0x42
            //   ff75fc               | push                dword ptr [ebp - 4]
            //   8b1d????????         |                     
            //   ffd3                 | call                ebx
            //   56                   | push                esi

        $sequence_4 = { 56 50 e8???????? 8b4510 6a0c 8945c8 }
            // n = 6, score = 200
            //   56                   | push                esi
            //   50                   | push                eax
            //   e8????????           |                     
            //   8b4510               | mov                 eax, dword ptr [ebp + 0x10]
            //   6a0c                 | push                0xc
            //   8945c8               | mov                 dword ptr [ebp - 0x38], eax

        $sequence_5 = { 3bc6 7412 53 ff15???????? 8b450c 2b45c8 }
            // n = 6, score = 200
            //   3bc6                 | cmp                 eax, esi
            //   7412                 | je                  0x14
            //   53                   | push                ebx
            //   ff15????????         |                     
            //   8b450c               | mov                 eax, dword ptr [ebp + 0xc]
            //   2b45c8               | sub                 eax, dword ptr [ebp - 0x38]

        $sequence_6 = { 59 0f857a050000 3945f8 0f8571050000 50 8d45e4 ff75f4 }
            // n = 7, score = 200
            //   59                   | pop                 ecx
            //   0f857a050000         | jne                 0x580
            //   3945f8               | cmp                 dword ptr [ebp - 8], eax
            //   0f8571050000         | jne                 0x577
            //   50                   | push                eax
            //   8d45e4               | lea                 eax, dword ptr [ebp - 0x1c]
            //   ff75f4               | push                dword ptr [ebp - 0xc]

        $sequence_7 = { 8d45ec 83c40c 8945dc 8d45fc 50 56 }
            // n = 6, score = 200
            //   8d45ec               | lea                 eax, dword ptr [ebp - 0x14]
            //   83c40c               | add                 esp, 0xc
            //   8945dc               | mov                 dword ptr [ebp - 0x24], eax
            //   8d45fc               | lea                 eax, dword ptr [ebp - 4]
            //   50                   | push                eax
            //   56                   | push                esi

        $sequence_8 = { 5e 5d c3 55 8bec 8b4508 ff348578010110 }
            // n = 7, score = 200
            //   5e                   | pop                 esi
            //   5d                   | pop                 ebp
            //   c3                   | ret                 
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   ff348578010110       | push                dword ptr [eax*4 + 0x10010178]

        $sequence_9 = { e8???????? ff35???????? 8d8da0feffff 68???????? e8???????? }
            // n = 5, score = 200
            //   e8????????           |                     
            //   ff35????????         |                     
            //   8d8da0feffff         | lea                 ecx, dword ptr [ebp - 0x160]
            //   68????????           |                     
            //   e8????????           |                     

    condition:
        7 of them and filesize < 188416
}
[TLP:WHITE] win_naikon_w0   (20170618 | Naikon code features)
/*
    This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as    long as you use it under this license.

*/

rule win_naikon_w0 {
    meta:
        description = "Naikon code features"
        author = "Seth Hardy"
        last_modified = "2014-06-25"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.naikon"
        malpedia_version = "20170618"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
    
    strings:
        // decryption
        $ = { 0F AF C1 C1 E0 1F } // imul eax, ecx; shl eah, 1fh
        $ = { 35 5A 01 00 00} // xor eax, 15ah
        $ = { 81 C2 7F 14 06 00 } // add edx, 6147fh
    
    condition:
        all of them
}
[TLP:WHITE] win_naikon_w1   (20170618 | Naikon Identifying Strings)
/*
    This Yara ruleset is under the GNU-GPLv2 license (http://www.gnu.org/licenses/gpl-2.0.html) and open to any user or organization, as    long as you use it under this license.

*/

rule win_naikon_w1 {
    meta:
        description = "Naikon Identifying Strings"
        author = "Seth Hardy"
        last_modified = "2014-06-25"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.naikon"
        malpedia_version = "20170618"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
        
    strings:
        $ = "NOKIAN95/WEB"
        $ = "/tag=info&id=15"
        $ = "skg(3)=&3.2d_u1"
        $ = "\\Temp\\iExplorer.exe"
        $ = "\\Temp\\\"TSG\""
        
    condition:
       any of them
}
[TLP:WHITE] win_naikon_w2   (20170618 | Detects backdoors related to the Naikon APT)
rule win_naikon_w2 {
    meta:
        description = "Detects backdoors related to the Naikon APT"
        author = "Florian Roth"
        reference = "https://goo.gl/7vHyvh"
        date = "2015-05-14"
        hash = "d5716c80cba8554eb79eecfb4aa3d99faf0435a1833ec5ef51f528146c758eba"
        hash = "f5ab8e49c0778fa208baad660fe4fa40fc8a114f5f71614afbd6dcc09625cb96"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.naikon"
        malpedia_version = "20170618"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"

    strings:
        $x0 = "GET http://%s:%d/aspxabcdef.asp?%s HTTP/1.1" fullword ascii
        $x1 = "POST http://%s:%d/aspxabcdefg.asp?%s HTTP/1.1" fullword ascii
        $x2 = "greensky27.vicp.net" fullword ascii
        $x3 = "\\tempvxd.vxd.dll" fullword wide
        $x4 = "otna.vicp.net" fullword ascii
        $x5 = "smithking19.gicp.net" fullword ascii

        $s1 = "User-Agent: webclient" fullword ascii
        $s2 = "\\User.ini" fullword ascii
        $s3 = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-EN; rv:1.7.12) Gecko/200" ascii
        $s4 = "\\UserProfile.dll" fullword wide
        $s5 = "Connection:Keep-Alive: %d" fullword ascii
        $s6 = "Referer: http://%s:%d/" fullword ascii
        $s7 = "%s %s %s %d %d %d " fullword ascii
        $s8 = "%s--%s" fullword wide
        $s9 = "Run File Success!" fullword wide
        $s10 = "DRIVE_REMOTE" fullword wide
        $s11 = "ProxyEnable" fullword wide
        $s12 = "\\cmd.exe" fullword wide

    condition:
        uint16(0) == 0x5a4d and filesize < 1000KB and (1 of ($x*) or 7 of ($s*))
}
Download all Yara Rules