SYMBOLCOMMON_NAMEaka. SYNONYMS
win.goldenspy (Back to overview)

GoldenSpy


According securityweek, GoldenSpy, the malware was observed as part of a campaign that supposedly started in April 2020, but some of the identified samples suggest the threat has been around since at least December 2016.

One of the compromised organizations, a global technology vendor that conducts government business in the US, Australia and UK, and which recently opened offices in China, became infected after installing “Intelligent Tax,” a piece of software from the Golden Tax Department of Aisino Corporation, which a local bank required for paying local taxes.

Although it worked as advertised, the software was found to install a hidden backdoor to provide remote operators with the possibility to execute Windows commands or upload and run files.

References
2020-08-24FBIFBI
@techreport{fbi:20200824:ac000131mw:ad03507, author = {FBI}, title = {{AC-000131-MW: Tactics, Techniques, and Procedures Associated with Malware within Chinese Government-Mandated Tax Software}}, date = {2020-08-24}, institution = {FBI}, url = {https://www.ic3.gov/Media/News/2020/201103-1.pdf}, language = {English}, urldate = {2020-11-09} } AC-000131-MW: Tactics, Techniques, and Procedures Associated with Malware within Chinese Government-Mandated Tax Software
GoldenSpy
2020-08-23FBIFBI
@techreport{fbi:20200823:ac000129tt:39b2ab4, author = {FBI}, title = {{AC-000129-TT: Chinese Government-Mandated Tax Software Contains Malware, Enabling Backdoor Access}}, date = {2020-08-23}, institution = {FBI}, url = {https://www.ic3.gov/media/news/2020/200728.pdf}, language = {English}, urldate = {2020-08-27} } AC-000129-TT: Chinese Government-Mandated Tax Software Contains Malware, Enabling Backdoor Access
GoldenSpy
2020-08-21BundeskriminalamtBundeskriminalamt
@techreport{bundeskriminalamt:20200821:mgliche:fbbf1b2, author = {Bundeskriminalamt}, title = {{Mögliche Cyberspionage mittels der Schadsoftware GOLDENSPY}}, date = {2020-08-21}, institution = {Bundeskriminalamt}, url = {https://www.bka.de/SharedDocs/Downloads/DE/IhreSicherheit/Warnhinweise/WarnhinweisGOLDENSPY.pdf}, language = {German}, urldate = {2020-08-27} } Mögliche Cyberspionage mittels der Schadsoftware GOLDENSPY
GoldenSpy
2020-07-29Atlantic CouncilTrey Herr, June Lee, William Loomis, Stewart Scott
@techreport{herr:20200729:breaking:d37db04, author = {Trey Herr and June Lee and William Loomis and Stewart Scott}, title = {{BREAKING TRUST: Shades of Crisis Across an Insecure Software Supply Chain}}, date = {2020-07-29}, institution = {Atlantic Council}, url = {https://www.atlanticcouncil.org/wp-content/uploads/2020/07/Breaking-trust-Shades-of-crisis-across-an-insecure-software-supply-chain.pdf}, language = {English}, urldate = {2020-08-05} } BREAKING TRUST: Shades of Crisis Across an Insecure Software Supply Chain
EternalPetya GoldenSpy Kwampirs Stuxnet
2020-07-14TrustwaveBrian Hussey
@online{hussey:20200714:goldenspy:a870540, author = {Brian Hussey}, title = {{GoldenSpy Chapter 4: GoldenHelper Malware Embedded in Official Golden Tax Software}}, date = {2020-07-14}, organization = {Trustwave}, url = {https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/goldenspy-chapter-4-goldenhelper-malware-embedded-in-official-golden-tax-software/}, language = {English}, urldate = {2020-07-15} } GoldenSpy Chapter 4: GoldenHelper Malware Embedded in Official Golden Tax Software
GoldenHelper GoldenSpy
2020-07-02TrustwaveBrian Hussey
@online{hussey:20200702:goldenspy:31c222a, author = {Brian Hussey}, title = {{GoldenSpy Chapter 3: New and Improved Uninstaller}}, date = {2020-07-02}, organization = {Trustwave}, url = {https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/goldenspy-chapter-3-new-and-improved-uninstaller/}, language = {English}, urldate = {2020-07-15} } GoldenSpy Chapter 3: New and Improved Uninstaller
GoldenSpy
2020-06-30TrustwaveBrian Hussey
@online{hussey:20200630:goldenspy:1ecdff8, author = {Brian Hussey}, title = {{GoldenSpy: Chapter Two - The Uninstaller}}, date = {2020-06-30}, organization = {Trustwave}, url = {https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/goldenspy-chapter-two-the-uninstaller/}, language = {English}, urldate = {2020-07-02} } GoldenSpy: Chapter Two - The Uninstaller
GoldenSpy
2020-06-25TrustwaveBrian Hussey
@online{hussey:20200625:golden:51322e2, author = {Brian Hussey}, title = {{The Golden Tax Department and the Emergence of GoldenSpy Malware}}, date = {2020-06-25}, organization = {Trustwave}, url = {https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/the-golden-tax-department-and-the-emergence-of-goldenspy-malware/}, language = {English}, urldate = {2020-06-26} } The Golden Tax Department and the Emergence of GoldenSpy Malware
GoldenSpy
2020-06-25TrustwaveTrustwave SpiderLabs
@techreport{spiderlabs:20200625:golden:8fa4199, author = {Trustwave SpiderLabs}, title = {{The Golden Tax Department and Emergence of GoldenSpy Malware}}, date = {2020-06-25}, institution = {Trustwave}, url = {https://trustwave.azureedge.net/media/16908/the-golden-tax-department-and-emergence-of-goldenspy-malware.pdf}, language = {English}, urldate = {2020-06-30} } The Golden Tax Department and Emergence of GoldenSpy Malware
GoldenSpy
Yara Rules
[TLP:WHITE] win_goldenspy_auto (20230715 | Detects win.goldenspy.)
rule win_goldenspy_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-07-11"
        version = "1"
        description = "Detects win.goldenspy."
        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.goldenspy"
        malpedia_rule_date = "20230705"
        malpedia_hash = "42d0574f4405bd7d2b154d321d345acb18834a41"
        malpedia_version = "20230715"
        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 = { b81f85eb51 f7e1 c1ea05 6bc264 2bc8 8b048d3c9e4600 c3 }
            // n = 7, score = 100
            //   b81f85eb51           | mov                 eax, 0x51eb851f
            //   f7e1                 | mul                 ecx
            //   c1ea05               | shr                 edx, 5
            //   6bc264               | imul                eax, edx, 0x64
            //   2bc8                 | sub                 ecx, eax
            //   8b048d3c9e4600       | mov                 eax, dword ptr [ecx*4 + 0x469e3c]
            //   c3                   | ret                 

        $sequence_1 = { 8d99d8000000 8d45d8 8d794c 8db120010000 8bca }
            // n = 5, score = 100
            //   8d99d8000000         | lea                 ebx, [ecx + 0xd8]
            //   8d45d8               | lea                 eax, [ebp - 0x28]
            //   8d794c               | lea                 edi, [ecx + 0x4c]
            //   8db120010000         | lea                 esi, [ecx + 0x120]
            //   8bca                 | mov                 ecx, edx

        $sequence_2 = { ff15???????? 85c0 0f8449010000 8b1d???????? 0f1f4000 8d8db4fdffff 8d5101 }
            // n = 7, score = 100
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   0f8449010000         | je                  0x14f
            //   8b1d????????         |                     
            //   0f1f4000             | nop                 dword ptr [eax]
            //   8d8db4fdffff         | lea                 ecx, [ebp - 0x24c]
            //   8d5101               | lea                 edx, [ecx + 1]

        $sequence_3 = { c746480f000000 c6463400 c706???????? c7465c00000000 c746600f000000 c6464c00 c7868800000000000000 }
            // n = 7, score = 100
            //   c746480f000000       | mov                 dword ptr [esi + 0x48], 0xf
            //   c6463400             | mov                 byte ptr [esi + 0x34], 0
            //   c706????????         |                     
            //   c7465c00000000       | mov                 dword ptr [esi + 0x5c], 0
            //   c746600f000000       | mov                 dword ptr [esi + 0x60], 0xf
            //   c6464c00             | mov                 byte ptr [esi + 0x4c], 0
            //   c7868800000000000000     | mov    dword ptr [esi + 0x88], 0

        $sequence_4 = { 68???????? 8d8db8feffff e8???????? 8bc8 e8???????? 8d4de0 c645fc29 }
            // n = 7, score = 100
            //   68????????           |                     
            //   8d8db8feffff         | lea                 ecx, [ebp - 0x148]
            //   e8????????           |                     
            //   8bc8                 | mov                 ecx, eax
            //   e8????????           |                     
            //   8d4de0               | lea                 ecx, [ebp - 0x20]
            //   c645fc29             | mov                 byte ptr [ebp - 4], 0x29

        $sequence_5 = { ff7304 e8???????? 83c408 85c0 0f8574010000 683f000f00 }
            // n = 6, score = 100
            //   ff7304               | push                dword ptr [ebx + 4]
            //   e8????????           |                     
            //   83c408               | add                 esp, 8
            //   85c0                 | test                eax, eax
            //   0f8574010000         | jne                 0x17a
            //   683f000f00           | push                0xf003f

        $sequence_6 = { c645d800 e8???????? 6a00 8d45cc c745fc06000000 50 8d45d8 }
            // n = 7, score = 100
            //   c645d800             | mov                 byte ptr [ebp - 0x28], 0
            //   e8????????           |                     
            //   6a00                 | push                0
            //   8d45cc               | lea                 eax, [ebp - 0x34]
            //   c745fc06000000       | mov                 dword ptr [ebp - 4], 6
            //   50                   | push                eax
            //   8d45d8               | lea                 eax, [ebp - 0x28]

        $sequence_7 = { 52 8d4dcb e8???????? 8b45c6 8b4870 8b406c 8945a8 }
            // n = 7, score = 100
            //   52                   | push                edx
            //   8d4dcb               | lea                 ecx, [ebp - 0x35]
            //   e8????????           |                     
            //   8b45c6               | mov                 eax, dword ptr [ebp - 0x3a]
            //   8b4870               | mov                 ecx, dword ptr [eax + 0x70]
            //   8b406c               | mov                 eax, dword ptr [eax + 0x6c]
            //   8945a8               | mov                 dword ptr [ebp - 0x58], eax

        $sequence_8 = { 64a300000000 8bd9 899db0feffff 837b0800 0f867b020000 6a00 }
            // n = 6, score = 100
            //   64a300000000         | mov                 dword ptr fs:[0], eax
            //   8bd9                 | mov                 ebx, ecx
            //   899db0feffff         | mov                 dword ptr [ebp - 0x150], ebx
            //   837b0800             | cmp                 dword ptr [ebx + 8], 0
            //   0f867b020000         | jbe                 0x281
            //   6a00                 | push                0

        $sequence_9 = { 83f809 0f87a1000000 ff2485a4c04400 837d0c00 0f94c1 }
            // n = 5, score = 100
            //   83f809               | cmp                 eax, 9
            //   0f87a1000000         | ja                  0xa7
            //   ff2485a4c04400       | jmp                 dword ptr [eax*4 + 0x44c0a4]
            //   837d0c00             | cmp                 dword ptr [ebp + 0xc], 0
            //   0f94c1               | sete                cl

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