SYMBOLCOMMON_NAMEaka. SYNONYMS
win.billgates (Back to overview)

BillGates

VTCollection    

BillGates is a modularized malware, of supposedly Chinese origin. Its main functionality is to perform DDoS attacks, with support for DNS amplification. Often, BillGates is delivered with one or many backdoor modules.

BillGates is available for *nix-based systems as well as for Windows.

On Windows, the (Bill)Gates installer typically contains the various modules as linked resources.

References
2022-03-02Bleeping ComputerBill Toulas
Log4shell exploits now used mostly for DDoS botnets, cryptominers
Kinsing Tsunami BillGates
2021-10-22FortinetCara Lin
Recent Attack Uses Vulnerability on Confluence Server
Tsunami BillGates
2017-12-03Blaze's Security BlogBartBlaze
Notes on Linux/BillGates
BillGates
2016-04-04AkamaiAkamai
Threat Advisory: “BillGates” Botnet
BillGates
2015-09-30ThisIsSecurityBenoît Ancel
When ELF.BillGates met Windows
BillGates
2015-09-01Virus BulletinJaromír Hořejší, Peter Kálnai
DDOS TROJAN: A MALICIOUS CONCEPT THAT CONQUERED THE ELF FORMAT
Bashlite MrBlack XOR DDoS BillGates
2014-07-10Kaspersky LabsMikhail Kuzin
Versatile DDoS Trojan for Linux
BillGates
2014-02-06HabrValdikSS
Исследуем Linux Botnet «BillGates»
BillGates
Yara Rules
[TLP:WHITE] win_billgates_auto (20260504 | Detects win.billgates.)
rule win_billgates_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.billgates."
        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.billgates"
        malpedia_rule_date = "20260422"
        malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14"
        malpedia_version = "20260504"
        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 = { 3c10 740c 3c11 7408 3c22 }
            // n = 5, score = 200
            //   3c10                 | push                ebp
            //   740c                 | mov                 edi, edx
            //   3c11                 | idiv                edi
            //   7408                 | cmp                 eax, 1
            //   3c22                 | jg                  0xde

        $sequence_1 = { 3c21 7408 3c23 7404 }
            // n = 4, score = 200
            //   3c21                 | cmp                 eax, ebx
            //   7408                 | je                  0x8d
            //   3c23                 | mov                 ecx, dword ptr [esp + 0x1c]
            //   7404                 | sub                 ebx, eax

        $sequence_2 = { 83f8ff 750c ff15???????? 8bd8 f7db }
            // n = 5, score = 200
            //   83f8ff               | push                esi
            //   750c                 | mov                 dword ptr [esi + 0x140], 0
            //   ff15????????         |                     
            //   8bd8                 | mov                 dword ptr [esi + 0x144], 0
            //   f7db                 | push                esi

        $sequence_3 = { 740c 3c11 7408 3c22 7404 3c30 }
            // n = 6, score = 200
            //   740c                 | dec                 eax
            //   3c11                 | lea                 ecx, [esp + 0x168]
            //   7408                 | nop                 
            //   3c22                 | dec                 esp
            //   7404                 | lea                 eax, [0x245b8]
            //   3c30                 | dec                 eax

        $sequence_4 = { 3c58 7507 b802000000 eb02 }
            // n = 4, score = 200
            //   3c58                 | mov                 eax, ecx
            //   7507                 | cmp                 eax, esi
            //   b802000000           | jle                 0x2bb
            //   eb02                 | push                ebx

        $sequence_5 = { 7408 3c22 7404 3c30 }
            // n = 4, score = 200
            //   7408                 | jb                  0x1203
            //   3c22                 | mov                 ecx, dword ptr [edi + 0x190]
            //   7404                 | push                esi
            //   3c30                 | lea                 esi, [edi + 0xd4]

        $sequence_6 = { 69c0e8030000 99 81e2ff070000 03c2 }
            // n = 4, score = 200
            //   69c0e8030000         | push                ebx
            //   99                   | mov                 dword ptr [esp + 0x28], ebx
            //   81e2ff070000         | push                ecx
            //   03c2                 | push                ebx

        $sequence_7 = { 3c10 740c 3c11 7408 3c22 7404 3c30 }
            // n = 7, score = 200
            //   3c10                 | mov                 eax, dword ptr [esi]
            //   740c                 | push                eax
            //   3c11                 | mov                 dword ptr [esp + 0x20], 0
            //   7408                 | mov                 byte ptr [esp + 0x230], 0
            //   3c22                 | xor                 eax, eax
            //   7404                 | dec                 eax
            //   3c30                 | or                  ecx, 0xffffffff

        $sequence_8 = { 740c 3c11 7408 3c22 7404 3c30 7504 }
            // n = 7, score = 200
            //   740c                 | dec                 eax
            //   3c11                 | add                 eax, ebx
            //   7408                 | dec                 eax
            //   3c22                 | mov                 edx, esi
            //   7404                 | jmp                 0x76b
            //   3c30                 | dec                 eax
            //   7504                 | sub                 edx, ebx

        $sequence_9 = { ff15???????? 83f8ff 7508 ff15???????? f7d8 85c0 }
            // n = 6, score = 200
            //   ff15????????         |                     
            //   83f8ff               | mov                 esi, ebp
            //   7508                 | mov                 esi, 0x10
            //   ff15????????         |                     
            //   f7d8                 | add                 esp, 4
            //   85c0                 | cmp                 dword ptr [esp + 0x30], esi

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