win.9002 (Back to overview)

9002 RAT

aka: McRAT, Hydraq, HOMEUNIX

Actor(s): Aurora Panda, APT31, Group 27


9002 RAT is a Remote Access Tool typically observed to be used by an APT to control a victim's machine. It has been spread over via zero day exploits (e.g. targeting Internet Explorer) as well as via email attachments. The infection chain starts by opening a .LNK (an OLE packager shell object) that executes a Powershell command.

References
2018-08-21 ⋅ Trend MicroJaromír Hořejší, Joseph C. Chen, Kawabata Kohei, Kenney Lu
@online{hoej:20180821:supply:d426e6b, author = {Jaromír Hořejší and Joseph C. Chen and Kawabata Kohei and Kenney Lu}, title = {{Supply Chain Attack Operation Red Signature Targets South Korean Organizations}}, date = {2018-08-21}, organization = {Trend Micro}, url = {https://blog.trendmicro.com/trendlabs-security-intelligence/supply-chain-attack-operation-red-signature-targets-south-korean-organizations/}, language = {English}, urldate = {2020-01-06} } Supply Chain Attack Operation Red Signature Targets South Korean Organizations
9002 RAT
2017-08-25 ⋅ ProofpointDarien Huss, Matthew Mesa
@online{huss:20170825:operation:87e2e2b, author = {Darien Huss and Matthew Mesa}, title = {{Operation RAT Cook: Chinese APT actors use fake Game of Thrones leaks as lures}}, date = {2017-08-25}, organization = {Proofpoint}, url = {https://www.proofpoint.com/us/threat-insight/post/operation-rat-cook-chinese-apt-actors-use-fake-game-thrones-leaks-lures}, language = {English}, urldate = {2019-12-20} } Operation RAT Cook: Chinese APT actors use fake Game of Thrones leaks as lures
9002 RAT
2015-09-23 ⋅ Palo Alto Networks Unit 42Robert Falcone, Jen Miller-Osborn
@online{falcone:20150923:chinese:4faf76a, author = {Robert Falcone and Jen Miller-Osborn}, title = {{Chinese Actors Use ‘3102’ Malware in Attacks on US Government and EU Media}}, date = {2015-09-23}, organization = {Palo Alto Networks Unit 42}, url = {https://researchcenter.paloaltonetworks.com/2015/09/chinese-actors-use-3102-malware-in-attacks-on-us-government-and-eu-media/}, language = {English}, urldate = {2019-12-20} } Chinese Actors Use ‘3102’ Malware in Attacks on US Government and EU Media
9002 RAT
2013-11-10 ⋅ FireEyeSai Omkar Vashisht, Mike Scott, Thoufique Haq, Ned Moran
@online{vashisht:20131110:operation:d653a09, author = {Sai Omkar Vashisht and Mike Scott and Thoufique Haq and Ned Moran}, title = {{Operation Ephemeral Hydra: IE Zero-Day Linked to DeputyDog Uses Diskless Method}}, date = {2013-11-10}, organization = {FireEye}, url = {https://www.fireeye.com/blog/threat-research/2013/11/operation-ephemeral-hydra-ie-zero-day-linked-to-deputydog-uses-diskless-method.html}, language = {English}, urldate = {2019-12-20} } Operation Ephemeral Hydra: IE Zero-Day Linked to DeputyDog Uses Diskless Method
9002 RAT
2013-05-20 ⋅ FireEyeNed Moran
@online{moran:20130520:ready:6a59df8, author = {Ned Moran}, title = {{Ready for Summer: The Sunshop Campaign}}, date = {2013-05-20}, organization = {FireEye}, url = {https://www.fireeye.com/blog/threat-research/2013/05/ready-for-summer-the-sunshop-campaign.html}, language = {English}, urldate = {2019-12-20} } Ready for Summer: The Sunshop Campaign
9002 RAT
2013-02-07 ⋅ FireEyeJ. Gomez, Thoufique Haq
@online{gomez:20130207:ladyboyle:5927b00, author = {J. Gomez and Thoufique Haq}, title = {{LadyBoyle Comes to Town with a New Exploit}}, date = {2013-02-07}, organization = {FireEye}, url = {https://www.fireeye.com/blog/threat-research/2013/02/lady-boyle-comes-to-town-with-a-new-exploit.html}, language = {English}, urldate = {2019-12-20} } LadyBoyle Comes to Town with a New Exploit
9002 RAT
Yara Rules
[TLP:WHITE] win_9002_auto (20190204 | autogenerated rule brought to you by yara-signator)
rule win_9002_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2019-11-26"
        version = "1"
        description = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator 0.1a"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.9002"
        malpedia_version = "20190204"
        malpedia_license = "CC BY-NC-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 / approach will be published in the near future 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 = { 8bc2 2d00040000 f7d8 1bc0 23c2 }
            // n = 5, score = 200
            //   8bc2                 | mov                 eax, edx
            //   2d00040000           | sub                 eax, 0x400
            //   f7d8                 | neg                 eax
            //   1bc0                 | sbb                 eax, eax
            //   23c2                 | and                 eax, edx

        $sequence_1 = { 33db eb04 8bd9 2bd8 85c0 7408 }
            // n = 6, score = 200
            //   33db                 | xor                 ebx, ebx
            //   eb04                 | jmp                 6
            //   8bd9                 | mov                 ebx, ecx
            //   2bd8                 | sub                 ebx, eax
            //   85c0                 | test                eax, eax
            //   7408                 | je                  0xa

        $sequence_2 = { 7504 33d2 eb05 8b5608 2bd0 3bfa }
            // n = 6, score = 200
            //   7504                 | jne                 6
            //   33d2                 | xor                 edx, edx
            //   eb05                 | jmp                 7
            //   8b5608               | mov                 edx, dword ptr [esi + 8]
            //   2bd0                 | sub                 edx, eax
            //   3bfa                 | cmp                 edi, edx

        $sequence_3 = { 3bfa 760d 85c0 7504 }
            // n = 4, score = 200
            //   3bfa                 | cmp                 edi, edx
            //   760d                 | jbe                 0xf
            //   85c0                 | test                eax, eax
            //   7504                 | jne                 6

        $sequence_4 = { 6a02 6a03 6a00 e8???????? }
            // n = 4, score = 200
            //   6a02                 | push                2
            //   6a03                 | push                3
            //   6a00                 | push                0
            //   e8????????           |                     

        $sequence_5 = { 8b13 8b4b04 8b4308 8b6b0c }
            // n = 4, score = 200
            //   8b13                 | mov                 edx, dword ptr [ebx]
            //   8b4b04               | mov                 ecx, dword ptr [ebx + 4]
            //   8b4308               | mov                 eax, dword ptr [ebx + 8]
            //   8b6b0c               | mov                 ebp, dword ptr [ebx + 0xc]

        $sequence_6 = { 7504 33ed eb04 2bc8 }
            // n = 4, score = 200
            //   7504                 | jne                 6
            //   33ed                 | xor                 ebp, ebp
            //   eb04                 | jmp                 6
            //   2bc8                 | sub                 ecx, eax

        $sequence_7 = { 6bdb08 03c3 8b00 5b }
            // n = 4, score = 200
            //   6bdb08               | imul                ebx, ebx, 8
            //   03c3                 | add                 eax, ebx
            //   8b00                 | mov                 eax, dword ptr [eax]
            //   5b                   | pop                 ebx

        $sequence_8 = { 5b 55 8b13 8b4b04 }
            // n = 4, score = 200
            //   5b                   | pop                 ebx
            //   55                   | push                ebp
            //   8b13                 | mov                 edx, dword ptr [ebx]
            //   8b4b04               | mov                 ecx, dword ptr [ebx + 4]

        $sequence_9 = { 8b7c8bfc 292c37 e2f7 61 }
            // n = 4, score = 200
            //   8b7c8bfc             | mov                 edi, dword ptr [ebx + ecx*4 - 4]
            //   292c37               | sub                 dword ptr [edi + esi], ebp
            //   e2f7                 | loop                0xfffffff9
            //   61                   | popal               

        $sequence_10 = { 3bc8 1bd2 f7da 8915???????? }
            // n = 4, score = 200
            //   3bc8                 | cmp                 ecx, eax
            //   1bd2                 | sbb                 edx, edx
            //   f7da                 | neg                 edx
            //   8915????????         |                     

        $sequence_11 = { 50 e8???????? 83c404 83c610 56 }
            // n = 5, score = 200
            //   50                   | push                eax
            //   e8????????           |                     
            //   83c404               | add                 esp, 4
            //   83c610               | add                 esi, 0x10
            //   56                   | push                esi

        $sequence_12 = { 8b4608 c7460c00000000 85c0 7409 }
            // n = 4, score = 200
            //   8b4608               | mov                 eax, dword ptr [esi + 8]
            //   c7460c00000000       | mov                 dword ptr [esi + 0xc], 0
            //   85c0                 | test                eax, eax
            //   7409                 | je                  0xb

        $sequence_13 = { 2bee 60 8b7c8bfc 292c37 }
            // n = 4, score = 200
            //   2bee                 | sub                 ebp, esi
            //   60                   | pushal              
            //   8b7c8bfc             | mov                 edi, dword ptr [ebx + ecx*4 - 4]
            //   292c37               | sub                 dword ptr [edi + esi], ebp

        $sequence_14 = { 8b6b0c 03da 83eb05 8d348b }
            // n = 4, score = 200
            //   8b6b0c               | mov                 ebp, dword ptr [ebx + 0xc]
            //   03da                 | add                 ebx, edx
            //   83eb05               | sub                 ebx, 5
            //   8d348b               | lea                 esi, [ebx + ecx*4]

        $sequence_15 = { e8???????? 8b5714 83c404 894208 }
            // n = 4, score = 200
            //   e8????????           |                     
            //   8b5714               | mov                 edx, dword ptr [edi + 0x14]
            //   83c404               | add                 esp, 4
            //   894208               | mov                 dword ptr [edx + 8], eax

        $sequence_16 = { 6aff 68f0900010 68cc290010 64a100000000 50 64892500000000 83ec0c }
            // n = 7, score = 100
            //   6aff                 | push                -1
            //   68f0900010           | push                0x100090f0
            //   68cc290010           | push                0x100029cc
            //   64a100000000         | mov                 eax, dword ptr fs:[0]
            //   50                   | push                eax
            //   64892500000000       | mov                 dword ptr fs:[0], esp
            //   83ec0c               | sub                 esp, 0xc

        $sequence_17 = { c1eb05 2bfb 8b5c2454 66893b 23d5 81f900010000 }
            // n = 6, score = 100
            //   c1eb05               | shr                 ebx, 5
            //   2bfb                 | sub                 edi, ebx
            //   8b5c2454             | mov                 ebx, dword ptr [esp + 0x54]
            //   66893b               | mov                 word ptr [ebx], di
            //   23d5                 | and                 edx, ebp
            //   81f900010000         | cmp                 ecx, 0x100

        $sequence_18 = { 8908 5d c70203000000 33c0 5b 59 }
            // n = 6, score = 100
            //   8908                 | mov                 dword ptr [eax], ecx
            //   5d                   | pop                 ebp
            //   c70203000000         | mov                 dword ptr [edx], 3
            //   33c0                 | xor                 eax, eax
            //   5b                   | pop                 ebx
            //   59                   | pop                 ecx

        $sequence_19 = { ff15???????? 8bc6 8b4c2428 64890d00000000 59 5e }
            // n = 6, score = 100
            //   ff15????????         |                     
            //   8bc6                 | mov                 eax, esi
            //   8b4c2428             | mov                 ecx, dword ptr [esp + 0x28]
            //   64890d00000000       | mov                 dword ptr fs:[0], ecx
            //   59                   | pop                 ecx
            //   5e                   | pop                 esi

        $sequence_20 = { 85c0 0f8593000000 68ec314000 8d4610 50 8d4c2414 }
            // n = 6, score = 100
            //   85c0                 | test                eax, eax
            //   0f8593000000         | jne                 0x99
            //   68ec314000           | push                0x4031ec
            //   8d4610               | lea                 eax, [esi + 0x10]
            //   50                   | push                eax
            //   8d4c2414             | lea                 ecx, [esp + 0x14]

        $sequence_21 = { e9???????? 8935???????? a1???????? 3bc6 751b 6854314000 684c314000 }
            // n = 7, score = 100
            //   e9????????           |                     
            //   8935????????         |                     
            //   a1????????           |                     
            //   3bc6                 | cmp                 eax, esi
            //   751b                 | jne                 0x1d
            //   6854314000           | push                0x403154
            //   684c314000           | push                0x40314c

        $sequence_22 = { 8b4608 85c0 7407 b801000000 }
            // n = 4, score = 100
            //   8b4608               | mov                 eax, dword ptr [esi + 8]
            //   85c0                 | test                eax, eax
            //   7407                 | je                  9
            //   b801000000           | mov                 eax, 1

        $sequence_23 = { 8b4c242c 23c8 81ff00010000 894c242c 7306 }
            // n = 5, score = 100
            //   8b4c242c             | mov                 ecx, dword ptr [esp + 0x2c]
            //   23c8                 | and                 ecx, eax
            //   81ff00010000         | cmp                 edi, 0x100
            //   894c242c             | mov                 dword ptr [esp + 0x2c], ecx
            //   7306                 | jae                 8

        $sequence_24 = { 83d8ff 85c0 7558 8d4c2404 e8???????? 8d4c2404 e8???????? }
            // n = 7, score = 100
            //   83d8ff               | sbb                 eax, -1
            //   85c0                 | test                eax, eax
            //   7558                 | jne                 0x5a
            //   8d4c2404             | lea                 ecx, [esp + 4]
            //   e8????????           |                     
            //   8d4c2404             | lea                 ecx, [esp + 4]
            //   e8????????           |                     

        $sequence_25 = { ff15???????? 8b5e18 8b761c 57 ff15???????? 5f 8bd6 }
            // n = 7, score = 100
            //   ff15????????         |                     
            //   8b5e18               | mov                 ebx, dword ptr [esi + 0x18]
            //   8b761c               | mov                 esi, dword ptr [esi + 0x1c]
            //   57                   | push                edi
            //   ff15????????         |                     
            //   5f                   | pop                 edi
            //   8bd6                 | mov                 edx, esi

        $sequence_26 = { 56 57 8bfa 8bf1 8b4630 8bd7 85c0 }
            // n = 7, score = 100
            //   56                   | push                esi
            //   57                   | push                edi
            //   8bfa                 | mov                 edi, edx
            //   8bf1                 | mov                 esi, ecx
            //   8b4630               | mov                 eax, dword ptr [esi + 0x30]
            //   8bd7                 | mov                 edx, edi
            //   85c0                 | test                eax, eax

        $sequence_27 = { 2bd7 c1ea05 03d7 66895102 ba02000000 eb14 }
            // n = 6, score = 100
            //   2bd7                 | sub                 edx, edi
            //   c1ea05               | shr                 edx, 5
            //   03d7                 | add                 edx, edi
            //   66895102             | mov                 word ptr [ecx + 2], dx
            //   ba02000000           | mov                 edx, 2
            //   eb14                 | jmp                 0x16

        $sequence_28 = { ba02000000 eb14 2bc2 2bf2 8bd7 c1ea05 2bfa }
            // n = 7, score = 100
            //   ba02000000           | mov                 edx, 2
            //   eb14                 | jmp                 0x16
            //   2bc2                 | sub                 eax, edx
            //   2bf2                 | sub                 esi, edx
            //   8bd7                 | mov                 edx, edi
            //   c1ea05               | shr                 edx, 5
            //   2bfa                 | sub                 edi, edx

        $sequence_29 = { 50 ff15???????? c7460400000000 8b460c }
            // n = 4, score = 100
            //   50                   | push                eax
            //   ff15????????         |                     
            //   c7460400000000       | mov                 dword ptr [esi + 4], 0
            //   8b460c               | mov                 eax, dword ptr [esi + 0xc]

        $sequence_30 = { ff74240c ff74240c e8???????? 83c40c c3 6820c70010 }
            // n = 6, score = 100
            //   ff74240c             | push                dword ptr [esp + 0xc]
            //   ff74240c             | push                dword ptr [esp + 0xc]
            //   e8????????           |                     
            //   83c40c               | add                 esp, 0xc
            //   c3                   | ret                 
            //   6820c70010           | push                0x1000c720

        $sequence_31 = { 8b4c2410 c744241cffffffff 85c9 7405 e8???????? 33c0 8b4c2414 }
            // n = 7, score = 100
            //   8b4c2410             | mov                 ecx, dword ptr [esp + 0x10]
            //   c744241cffffffff     | mov                 dword ptr [esp + 0x1c], 0xffffffff
            //   85c9                 | test                ecx, ecx
            //   7405                 | je                  7
            //   e8????????           |                     
            //   33c0                 | xor                 eax, eax
            //   8b4c2414             | mov                 ecx, dword ptr [esp + 0x14]

    condition:
        7 of them
}
[TLP:WHITE] win_9002_w0   (20170521 | No description)
rule win_9002_w0 {
    meta:
        author = "FireEye Labs"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.9002"
        malpedia_version = "20170521"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
        
    strings:
        $a = "rat_UnInstall" wide ascii
        
    condition:
        $a
}
Download all Yara Rules