SYMBOLCOMMON_NAMEaka. SYNONYMS
win.orchard (Back to overview)

Orchard

aka: Antavmu

A malware generating DGA domains seeded by the Bitcoin Genesis Block. This family has strong code overlap with win.victorygate.

References
2022-10-17Malversegreenplan
@online{greenplan:20221017:stack:5c74181, author = {greenplan}, title = {{Stack String Decryption with Ghidra Emulator (Orchard)}}, date = {2022-10-17}, organization = {Malverse}, url = {https://malverse.it/stack-string-decryptor-con-ghidra-emulator-orchard}, language = {Italian}, urldate = {2022-10-18} } Stack String Decryption with Ghidra Emulator (Orchard)
Orchard
2022-08-05360 netlab360 Netlab
@online{netlab:20220805:new:d4f6a02, author = {360 Netlab}, title = {{A new botnet Orchard Generates DGA Domains with Bitcoin Transaction Information}}, date = {2022-08-05}, organization = {360 netlab}, url = {https://blog.netlab.360.com/a-new-botnet-orchard-generates-dga-domains-with-bitcoin-transaction-information/}, language = {English}, urldate = {2022-08-30} } A new botnet Orchard Generates DGA Domains with Bitcoin Transaction Information
Orchard
2022-08-05360 netlabDaji, suqitian
@online{daji:20220805:dga:b184bd8, author = {Daji and suqitian}, title = {{The DGA family Orchard continues to change, and the new version generates DGA domain names using Bitcoin transaction information}}, date = {2022-08-05}, organization = {360 netlab}, url = {https://blog.netlab.360.com/orchard-dga/}, language = {Chinese}, urldate = {2022-09-21} } The DGA family Orchard continues to change, and the new version generates DGA domain names using Bitcoin transaction information
Orchard
2022-07-24bin.reJohannes Bader
@online{bader:20220724:dga:cf56d0c, author = {Johannes Bader}, title = {{A DGA Seeded by the Bitcoin Genesis Block}}, date = {2022-07-24}, organization = {bin.re}, url = {https://bin.re/blog/a-dga-seeded-by-the-bitcoin-genesis-block/}, language = {English}, urldate = {2022-08-08} } A DGA Seeded by the Bitcoin Genesis Block
Orchard
Yara Rules
[TLP:WHITE] win_orchard_auto (20230715 | Detects win.orchard.)
rule win_orchard_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-07-11"
        version = "1"
        description = "Detects win.orchard."
        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.orchard"
        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 = { 8d4da4 e8???????? 50 8bcf c645fc07 e8???????? }
            // n = 6, score = 100
            //   8d4da4               | lea                 ecx, [ebp - 0x5c]
            //   e8????????           |                     
            //   50                   | push                eax
            //   8bcf                 | mov                 ecx, edi
            //   c645fc07             | mov                 byte ptr [ebp - 4], 7
            //   e8????????           |                     

        $sequence_1 = { 8b54240c 8be5 5d c3 33c0 33d2 8be5 }
            // n = 7, score = 100
            //   8b54240c             | mov                 edx, dword ptr [esp + 0xc]
            //   8be5                 | mov                 esp, ebp
            //   5d                   | pop                 ebp
            //   c3                   | ret                 
            //   33c0                 | xor                 eax, eax
            //   33d2                 | xor                 edx, edx
            //   8be5                 | mov                 esp, ebp

        $sequence_2 = { 8d855cffffff 8bcf 50 e8???????? c645fc36 8b4f4c f30f7e4744 }
            // n = 7, score = 100
            //   8d855cffffff         | lea                 eax, [ebp - 0xa4]
            //   8bcf                 | mov                 ecx, edi
            //   50                   | push                eax
            //   e8????????           |                     
            //   c645fc36             | mov                 byte ptr [ebp - 4], 0x36
            //   8b4f4c               | mov                 ecx, dword ptr [edi + 0x4c]
            //   f30f7e4744           | movq                xmm0, qword ptr [edi + 0x44]

        $sequence_3 = { 85c0 0f8494000000 837f1408 7202 8b3f 6a00 }
            // n = 6, score = 100
            //   85c0                 | test                eax, eax
            //   0f8494000000         | je                  0x9a
            //   837f1408             | cmp                 dword ptr [edi + 0x14], 8
            //   7202                 | jb                  4
            //   8b3f                 | mov                 edi, dword ptr [edi]
            //   6a00                 | push                0

        $sequence_4 = { 83c408 80bdfcfeffff00 7439 6a09 8d4de8 c645e009 }
            // n = 6, score = 100
            //   83c408               | add                 esp, 8
            //   80bdfcfeffff00       | cmp                 byte ptr [ebp - 0x104], 0
            //   7439                 | je                  0x3b
            //   6a09                 | push                9
            //   8d4de8               | lea                 ecx, [ebp - 0x18]
            //   c645e009             | mov                 byte ptr [ebp - 0x20], 9

        $sequence_5 = { 8bb74c020000 8b4604 83781410 7202 }
            // n = 4, score = 100
            //   8bb74c020000         | mov                 esi, dword ptr [edi + 0x24c]
            //   8b4604               | mov                 eax, dword ptr [esi + 4]
            //   83781410             | cmp                 dword ptr [eax + 0x14], 0x10
            //   7202                 | jb                  4

        $sequence_6 = { 8bcc 8d45cc 8d55bc 51 50 52 e8???????? }
            // n = 7, score = 100
            //   8bcc                 | mov                 ecx, esp
            //   8d45cc               | lea                 eax, [ebp - 0x34]
            //   8d55bc               | lea                 edx, [ebp - 0x44]
            //   51                   | push                ecx
            //   50                   | push                eax
            //   52                   | push                edx
            //   e8????????           |                     

        $sequence_7 = { 68???????? c745e000000000 c745e40f000000 c645d000 e8???????? c645fc26 }
            // n = 6, score = 100
            //   68????????           |                     
            //   c745e000000000       | mov                 dword ptr [ebp - 0x20], 0
            //   c745e40f000000       | mov                 dword ptr [ebp - 0x1c], 0xf
            //   c645d000             | mov                 byte ptr [ebp - 0x30], 0
            //   e8????????           |                     
            //   c645fc26             | mov                 byte ptr [ebp - 4], 0x26

        $sequence_8 = { 8d4d80 c745fc01000000 e8???????? be07000000 8975e4 0f1008 f30f7e4010 }
            // n = 7, score = 100
            //   8d4d80               | lea                 ecx, [ebp - 0x80]
            //   c745fc01000000       | mov                 dword ptr [ebp - 4], 1
            //   e8????????           |                     
            //   be07000000           | mov                 esi, 7
            //   8975e4               | mov                 dword ptr [ebp - 0x1c], esi
            //   0f1008               | movups              xmm1, xmmword ptr [eax]
            //   f30f7e4010           | movq                xmm0, qword ptr [eax + 0x10]

        $sequence_9 = { 7431 8b4c2438 8b442418 83c108 90 8b7104 }
            // n = 6, score = 100
            //   7431                 | je                  0x33
            //   8b4c2438             | mov                 ecx, dword ptr [esp + 0x38]
            //   8b442418             | mov                 eax, dword ptr [esp + 0x18]
            //   83c108               | add                 ecx, 8
            //   90                   | nop                 
            //   8b7104               | mov                 esi, dword ptr [ecx + 4]

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