SYMBOLCOMMON_NAMEaka. SYNONYMS
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
2020SecureworksSecureWorks
@online{secureworks:2020:bronze:4db27ec, author = {SecureWorks}, title = {{BRONZE UNION}}, date = {2020}, organization = {Secureworks}, url = {https://www.secureworks.com/research/threat-profiles/bronze-union}, language = {English}, urldate = {2020-05-23} } BRONZE UNION
9002 RAT CHINACHOPPER Enfal Ghost RAT HttpBrowser HyperBro owaauth PlugX Poison Ivy ZXShell EMISSARY PANDA
2020SecureworksSecureWorks
@online{secureworks:2020:bronze:972c13a, author = {SecureWorks}, title = {{BRONZE FIRESTONE}}, date = {2020}, organization = {Secureworks}, url = {https://www.secureworks.com/research/threat-profiles/bronze-firestone}, language = {English}, urldate = {2020-05-23} } BRONZE FIRESTONE
9002 RAT Derusbi Empire Downloader PlugX Poison Ivy Shell Crew
2020SecureworksSecureWorks
@online{secureworks:2020:bronze:fcb04ab, author = {SecureWorks}, title = {{BRONZE EXPRESS}}, date = {2020}, organization = {Secureworks}, url = {https://www.secureworks.com/research/threat-profiles/bronze-express}, language = {English}, urldate = {2020-05-23} } BRONZE EXPRESS
9002 RAT CHINACHOPPER IsSpace NewCT PlugX smac APT 26
2020SecureworksSecureWorks
@online{secureworks:2020:bronze:65ecf8a, author = {SecureWorks}, title = {{BRONZE KEYSTONE}}, date = {2020}, organization = {Secureworks}, url = {https://www.secureworks.com/research/threat-profiles/bronze-keystone}, language = {English}, urldate = {2020-05-23} } BRONZE KEYSTONE
9002 RAT BLACKCOFFEE DeputyDog Derusbi HiKit PlugX Poison Ivy ZXShell Aurora Panda
2018-08-21Trend 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
2018-03CrySyS LabBoldizsar Bencsath
@techreport{bencsath:201803:territorial:04343bb, author = {Boldizsar Bencsath}, title = {{Territorial Dispute – NSA’s perspective on APT landscape}}, date = {2018-03}, institution = {CrySyS Lab}, url = {https://www.crysys.hu/publications/files/tedi/ukatemicrysys_territorialdispute.pdf}, language = {English}, urldate = {2020-05-07} } Territorial Dispute – NSA’s perspective on APT landscape
9002 RAT Agent.BTZ DuQu EYService Flame FlowerShop Stuxnet Uroburos
2017-08-25ProofpointDarien 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-23Palo 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
2015-08Arbor NetworksASERT Team
@online{team:201508:uncovering:121e5cf, author = {ASERT Team}, title = {{Uncovering the Seven Pointed Dagger}}, date = {2015-08}, organization = {Arbor Networks}, url = {https://app.box.com/s/z1uanuv1vn3vw5iket1r6bqrmlra0gpn}, language = {English}, urldate = {2020-05-18} } Uncovering the Seven Pointed Dagger
9002 RAT EvilGrab PlugX Trochilus RAT Group 27
2013-11-10FireEyeSai 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-09-17SymantecStephen Doherty, Jozsef Gegeny, Branko Spasojevic, Jonell Baltazar
@techreport{doherty:20130917:hidden:72a1bd7, author = {Stephen Doherty and Jozsef Gegeny and Branko Spasojevic and Jonell Baltazar}, title = {{Hidden Lynx – Professional Hackers for Hire}}, date = {2013-09-17}, institution = {Symantec}, url = {https://paper.seebug.org/papers/APT/APT_CyberCriminal_Campagin/2013/hidden_lynx.pdf}, language = {English}, urldate = {2020-04-21} } Hidden Lynx – Professional Hackers for Hire
9002 RAT HiKit Aurora Panda
2013-05-20FireEyeNed 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-07FireEyeJ. 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
2012-09-07SymantecGavin O'Gorman, Geoff McDonald
@techreport{ogorman:20120907:elderwood:4247c36, author = {Gavin O'Gorman and Geoff McDonald}, title = {{The Elderwood Project}}, date = {2012-09-07}, institution = {Symantec}, url = {https://www.infopoint-security.de/medien/the-elderwood-project.pdf}, language = {English}, urldate = {2020-07-11} } The Elderwood Project
9002 RAT Beijing Group
Yara Rules
[TLP:WHITE] win_9002_auto (20210616 | Detects win.9002.)
rule win_9002_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2021-06-10"
        version = "1"
        description = "Detects win.9002."
        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.9002"
        malpedia_rule_date = "20210604"
        malpedia_hash = "be09d5d71e77373c0f538068be31a2ad4c69cfbd"
        malpedia_version = "20210616"
        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 = { 57 6a00 51 8944241c c744241801000000 }
            // n = 5, score = 200
            //   57                   | push                edi
            //   6a00                 | push                0
            //   51                   | push                ecx
            //   8944241c             | mov                 dword ptr [esp + 0x1c], eax
            //   c744241801000000     | mov                 dword ptr [esp + 0x18], 1

        $sequence_1 = { 6a02 ff15???????? 68???????? ff15???????? 6a00 }
            // n = 5, score = 200
            //   6a02                 | push                2
            //   ff15????????         |                     
            //   68????????           |                     
            //   ff15????????         |                     
            //   6a00                 | push                0

        $sequence_2 = { bb01000000 6bdb08 03c3 8b00 }
            // n = 4, score = 200
            //   bb01000000           | mov                 ebx, 1
            //   6bdb08               | imul                ebx, ebx, 8
            //   03c3                 | add                 eax, ebx
            //   8b00                 | mov                 eax, dword ptr [eax]

        $sequence_3 = { 85c0 7424 682c010000 50 }
            // n = 4, score = 200
            //   85c0                 | test                eax, eax
            //   7424                 | je                  0x26
            //   682c010000           | push                0x12c
            //   50                   | push                eax

        $sequence_4 = { 33ed eb04 2bc8 8be9 53 }
            // n = 5, score = 200
            //   33ed                 | xor                 ebp, ebp
            //   eb04                 | jmp                 6
            //   2bc8                 | sub                 ecx, eax
            //   8be9                 | mov                 ebp, ecx
            //   53                   | push                ebx

        $sequence_5 = { 2bd8 85c0 7408 8bd1 2bd0 }
            // n = 5, score = 200
            //   2bd8                 | sub                 ebx, eax
            //   85c0                 | test                eax, eax
            //   7408                 | je                  0xa
            //   8bd1                 | mov                 edx, ecx
            //   2bd0                 | sub                 edx, eax

        $sequence_6 = { 7504 33db eb04 8bd9 }
            // n = 4, score = 200
            //   7504                 | jne                 6
            //   33db                 | xor                 ebx, ebx
            //   eb04                 | jmp                 6
            //   8bd9                 | mov                 ebx, ecx

        $sequence_7 = { 51 e8???????? 6a06 6a01 6a02 e8???????? }
            // n = 6, score = 200
            //   51                   | push                ecx
            //   e8????????           |                     
            //   6a06                 | push                6
            //   6a01                 | push                1
            //   6a02                 | push                2
            //   e8????????           |                     

        $sequence_8 = { 33c9 3bc8 1bd2 f7da 8915???????? }
            // n = 5, score = 200
            //   33c9                 | xor                 ecx, ecx
            //   3bc8                 | cmp                 ecx, eax
            //   1bd2                 | sbb                 edx, edx
            //   f7da                 | neg                 edx
            //   8915????????         |                     

        $sequence_9 = { 03c3 8b00 5b ffd0 59 }
            // n = 5, score = 200
            //   03c3                 | add                 eax, ebx
            //   8b00                 | mov                 eax, dword ptr [eax]
            //   5b                   | pop                 ebx
            //   ffd0                 | call                eax
            //   59                   | pop                 ecx

        $sequence_10 = { 2bd0 3bfa 760d 85c0 7504 33ff }
            // n = 6, score = 200
            //   2bd0                 | sub                 edx, eax
            //   3bfa                 | cmp                 edi, edx
            //   760d                 | jbe                 0xf
            //   85c0                 | test                eax, eax
            //   7504                 | jne                 6
            //   33ff                 | xor                 edi, edi

        $sequence_11 = { 6a00 6a00 ffd5 8906 83c604 }
            // n = 5, score = 200
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   ffd5                 | call                ebp
            //   8906                 | mov                 dword ptr [esi], eax
            //   83c604               | add                 esi, 4

        $sequence_12 = { 8be9 53 50 e8???????? 83c408 894604 03c5 }
            // n = 7, score = 200
            //   8be9                 | mov                 ebp, ecx
            //   53                   | push                ebx
            //   50                   | push                eax
            //   e8????????           |                     
            //   83c408               | add                 esp, 8
            //   894604               | mov                 dword ptr [esi + 4], eax
            //   03c5                 | add                 eax, ebp

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

        $sequence_14 = { c6400601 b908000000 66894804 8b4e04 83c108 33f6 }
            // n = 6, score = 100
            //   c6400601             | mov                 byte ptr [eax + 6], 1
            //   b908000000           | mov                 ecx, 8
            //   66894804             | mov                 word ptr [eax + 4], cx
            //   8b4e04               | mov                 ecx, dword ptr [esi + 4]
            //   83c108               | add                 ecx, 8
            //   33f6                 | xor                 esi, esi

        $sequence_15 = { 8b5104 0355fc 8b45f4 895008 8b4d08 e8???????? 50 }
            // n = 7, score = 100
            //   8b5104               | mov                 edx, dword ptr [ecx + 4]
            //   0355fc               | add                 edx, dword ptr [ebp - 4]
            //   8b45f4               | mov                 eax, dword ptr [ebp - 0xc]
            //   895008               | mov                 dword ptr [eax + 8], edx
            //   8b4d08               | mov                 ecx, dword ptr [ebp + 8]
            //   e8????????           |                     
            //   50                   | push                eax

        $sequence_16 = { 66898f46060000 b903000000 8d1c09 33c9 3d00000001 895c2448 668b8c3b44060000 }
            // n = 7, score = 100
            //   66898f46060000       | mov                 word ptr [edi + 0x646], cx
            //   b903000000           | mov                 ecx, 3
            //   8d1c09               | lea                 ebx, dword ptr [ecx + ecx]
            //   33c9                 | xor                 ecx, ecx
            //   3d00000001           | cmp                 eax, 0x1000000
            //   895c2448             | mov                 dword ptr [esp + 0x48], ebx
            //   668b8c3b44060000     | mov                 cx, word ptr [ebx + edi + 0x644]

        $sequence_17 = { 6a00 ff15???????? 8d8df0feffff 6a5c 51 }
            // n = 5, score = 100
            //   6a00                 | push                0
            //   ff15????????         |                     
            //   8d8df0feffff         | lea                 ecx, dword ptr [ebp - 0x110]
            //   6a5c                 | push                0x5c
            //   51                   | push                ecx

        $sequence_18 = { 895c2448 ff15???????? 83c40c 8d4c2414 c644243c01 ff15???????? }
            // n = 6, score = 100
            //   895c2448             | mov                 dword ptr [esp + 0x48], ebx
            //   ff15????????         |                     
            //   83c40c               | add                 esp, 0xc
            //   8d4c2414             | lea                 ecx, dword ptr [esp + 0x14]
            //   c644243c01           | mov                 byte ptr [esp + 0x3c], 1
            //   ff15????????         |                     

        $sequence_19 = { 03c2 eb02 33c0 85ff 7410 0fb74e08 }
            // n = 6, score = 100
            //   03c2                 | add                 eax, edx
            //   eb02                 | jmp                 4
            //   33c0                 | xor                 eax, eax
            //   85ff                 | test                edi, edi
            //   7410                 | je                  0x12
            //   0fb74e08             | movzx               ecx, word ptr [esi + 8]

        $sequence_20 = { 894c2424 8bd9 8b542458 8b7c2414 83c502 3bd7 }
            // n = 6, score = 100
            //   894c2424             | mov                 dword ptr [esp + 0x24], ecx
            //   8bd9                 | mov                 ebx, ecx
            //   8b542458             | mov                 edx, dword ptr [esp + 0x58]
            //   8b7c2414             | mov                 edi, dword ptr [esp + 0x14]
            //   83c502               | add                 ebp, 2
            //   3bd7                 | cmp                 edx, edi

        $sequence_21 = { 8b5104 52 8b45f8 8b08 51 8b55fc }
            // n = 6, score = 100
            //   8b5104               | mov                 edx, dword ptr [ecx + 4]
            //   52                   | push                edx
            //   8b45f8               | mov                 eax, dword ptr [ebp - 8]
            //   8b08                 | mov                 ecx, dword ptr [eax]
            //   51                   | push                ecx
            //   8b55fc               | mov                 edx, dword ptr [ebp - 4]

        $sequence_22 = { 6a01 50 66894f08 88570a ff15???????? }
            // n = 5, score = 100
            //   6a01                 | push                1
            //   50                   | push                eax
            //   66894f08             | mov                 word ptr [edi + 8], cx
            //   88570a               | mov                 byte ptr [edi + 0xa], dl
            //   ff15????????         |                     

        $sequence_23 = { 8b4748 3bc5 740c 50 e8???????? 83c404 }
            // n = 6, score = 100
            //   8b4748               | mov                 eax, dword ptr [edi + 0x48]
            //   3bc5                 | cmp                 eax, ebp
            //   740c                 | je                  0xe
            //   50                   | push                eax
            //   e8????????           |                     
            //   83c404               | add                 esp, 4

        $sequence_24 = { 8405???????? 755c 0905???????? 33c0 c705????????b0314000 a3???????? }
            // n = 6, score = 100
            //   8405????????         |                     
            //   755c                 | jne                 0x5e
            //   0905????????         |                     
            //   33c0                 | xor                 eax, eax
            //   c705????????b0314000     |     
            //   a3????????           |                     

        $sequence_25 = { 68???????? 8d7e28 57 ff15???????? 85c0 741f }
            // n = 6, score = 100
            //   68????????           |                     
            //   8d7e28               | lea                 edi, dword ptr [esi + 0x28]
            //   57                   | push                edi
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   741f                 | je                  0x21

        $sequence_26 = { 3bd0 720a 5f 5e 5d }
            // n = 5, score = 100
            //   3bd0                 | cmp                 edx, eax
            //   720a                 | jb                  0xc
            //   5f                   | pop                 edi
            //   5e                   | pop                 esi
            //   5d                   | pop                 ebp

        $sequence_27 = { 83c60d 52 8d44242c 56 50 }
            // n = 5, score = 100
            //   83c60d               | add                 esi, 0xd
            //   52                   | push                edx
            //   8d44242c             | lea                 eax, dword ptr [esp + 0x2c]
            //   56                   | push                esi
            //   50                   | push                eax

        $sequence_28 = { 0f842a010000 50 ff15???????? 8b4e04 85c9 0f84bf000000 }
            // n = 6, score = 100
            //   0f842a010000         | je                  0x130
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8b4e04               | mov                 ecx, dword ptr [esi + 4]
            //   85c9                 | test                ecx, ecx
            //   0f84bf000000         | je                  0xc5

        $sequence_29 = { 83c9ff 33c0 83c408 8b15???????? }
            // n = 4, score = 100
            //   83c9ff               | or                  ecx, 0xffffffff
            //   33c0                 | xor                 eax, eax
            //   83c408               | add                 esp, 8
            //   8b15????????         |                     

        $sequence_30 = { 740f 8bce e8???????? c744241000000000 8b4d08 85c9 }
            // n = 6, score = 100
            //   740f                 | je                  0x11
            //   8bce                 | mov                 ecx, esi
            //   e8????????           |                     
            //   c744241000000000     | mov                 dword ptr [esp + 0x10], 0
            //   8b4d08               | mov                 ecx, dword ptr [ebp + 8]
            //   85c9                 | test                ecx, ecx

        $sequence_31 = { 8b8c2494000000 89442424 89442420 8b842498000000 52 50 8d542418 }
            // n = 7, score = 100
            //   8b8c2494000000       | mov                 ecx, dword ptr [esp + 0x94]
            //   89442424             | mov                 dword ptr [esp + 0x24], eax
            //   89442420             | mov                 dword ptr [esp + 0x20], eax
            //   8b842498000000       | mov                 eax, dword ptr [esp + 0x98]
            //   52                   | push                edx
            //   50                   | push                eax
            //   8d542418             | lea                 edx, dword ptr [esp + 0x18]

    condition:
        7 of them and filesize < 204800
}
[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