Skip to content

Evolution Timeline

The collection spans approximately seven years of malware development (2002–2009), documenting a transformation from hobbyist single-file IRC bots to industrialized, commercially sold crimeware toolkits. This timeline identifies the key specimens, milestones, and paradigm shifts that defined each period.

sdBot ──► spyBot ──► rBot ──► rxBot ──► NZM ──► 120-Series
(2002) (2003) (2004) (2004) (2005) (2007)
──► Zeus (2009)
[paradigm shift]

SpecimenAuthorLanguageSignificance
sdBot 0.4b[sd]CThe foundational IRC bot archetype

sdBot 0.4b - the earliest specimen in the collection - establishes the template that every IRC bot in this archive inherits. Written as a single monolithic C file (sdbot04b.c), it demonstrates:

  • IRC-based C2: Connects to a hardcoded IRC server/channel and awaits commands via PRIVMSG
  • Basic command set: udp/ping (DoS), download/update (payload delivery), sysinfo, redirect (TCP proxy)
  • Persistence: Self-copy to Windows System directory + RunServices registry key
  • Simplicity: Global variables, procedural flow, no encryption, no evasion - pure functionality

The UPnP buffer overflow exploit (CVE-2001-0876, MS01-059) is among the earliest CVEs exploited by specimens in this collection, later integrated into the rBot family.

Defenders relied almost entirely on signature-based detection of compiled binaries and blocking known malicious IRC servers at the network perimeter. This was sufficient - for now.


SpecimenAuthorLanguageKey Innovation
sdBot 0.5a/0.5b[sd]CBackup C2 server, visit command
spyBot 1.1–1.4MichCKeylogging, credential theft, IM spreading
Tesla SYN modCommunityCEnhanced DDoS capabilities
Phatbot / AgobotCommunityC++P2P C2 (WASTE protocol), polymorphism, RSA auth
PHP bots (pBot)VariousPHPFirst web server-resident bots

sdBot 0.5b introduced two critical innovations:

  1. Backup C2 server (server2/port2) - simple but transformative for resilience; taking down one server no longer killed the botnet
  2. visit command - the precursor to click-fraud bots, silently directing browsers to attacker-chosen URLs

spyBot 1.1–1.4 forked from sdBot and introduced entirely new threat categories:

  • Keylogging via Set​Windows​HookEx - the first information-stealing capability in the lineage
  • Cached password theft from browsers and FTP clients
  • IM/P2P spreading via Kazaa and MSN Messenger - weaponizing social trust
  • Built-in HTTP server for remote file browsing

Phatbot/Agobot represented the most architecturally sophisticated bot in the collection:

  • P2P command & control via the WASTE protocol (port 24288) - no single point of failure
  • Server-side polymorphic engine (polymorph.cpp) - XOR/ROL/ROR encryption with random keys, making every copy unique
  • RSA cryptographic authentication for command verification
  • Cross-platform build (MSVC, Borland C++ 5, MinGW)

pBot and other PHP bots emerged, shifting botnets from desktops to compromised web servers - high bandwidth, trusted IPs, persistent uptime.

CVEMS BulletinExploitTarget
CVE-2003-0352MS03-026DCOM RPC overflowPort 135
CVE-2003-0715MS03-039DCOM second wavePort 135
CVE-2003-0109MS03-007WebDAV/IIS 5.0Port 80
CVE-2003-0812MS03-049Workstation ServicePort 445
CVE-2003-0818MS04-007ASN.1 vulnerabilityVarious
CVE-2003-1030N/ADameWare overflowPort 6129

The shift to keylogging and credential theft meant network-based defenses alone were insufficient. Host-based intrusion detection (HIDS) and personal firewalls had to evolve to detect suspicious API calls like Set​Windows​HookEx. The emergence of P2P C2 challenged the "take down the server" model for the first time.


SpecimenAuthorLanguageKey Innovation
rBot 0.2Nils, D3ADLiN3, Edge, bohika, reweC++Fork from sdBot, consolidated exploits
rx_dev (rBot 041504)RacerX90C++Modular architecture, dynamic API loading
rxBot 0.6.5–0.6.6dRacerX90C++GPL licensing, LSA restriction, FTP capability
BlowSXTCommunityC++Blowfish-encrypted C2, IDS evasion
Named modsVariousC++EcLiPsE, Xerion, Undertow, Temptation

The rx_dev/rBot_041504 specimen is the single most historically significant variant in the collection. RacerX90's private development tree contains a 682-line changelog spanning just 22 days (March 24 – April 14, 2004), documenting a complete architectural transformation:

  1. Module separation - Monolithic rBot.cpp (2,900+ lines) split into ~90 .cpp/.h file pairs
  2. Dynamic DLL loading - All API calls converted from static linking to LoadLibrary/GetProcAddress (prefixed with f, e.g., fWSAStartup) - evades import table analysis
  3. Unified thread management - Centralized THREAD structure array with clearthread()
  4. Exploit statistics system - Universal tracking of scan/exploit success rates
  5. SEH-based exception handler - Crash recovery preventing bot death from exploit failures

The command set grew from ~20 commands (rBot 0.2) to 50+ with namespace prefixes:

  • irc.* - IRC operations
  • root.* - Exploitation
  • ddos.* - DDoS attacks
  • daemon.* - Services (SOCKS, HTTPD, TFTP)
  • com.* - Data theft (harvest, keylog, capture, findpass)
CVEMS BulletinExploitAdded
CVE-2003-0533MS04-011LSASS buffer overflowApril 2004
CVE-2003-0719MS04-011IIS 5.0 SSL/PCT overflowApril 2004
CVE-2002-1123MS02-056MSSQL brute-forceMarch 25, 2004

The dynamic API resolution technique rendered static import table analysis unreliable. BlowSXT's Blowfish encryption and non-printable command prefix (\xBB) forced IDS vendors to move beyond simple pattern matching for IRC traffic detection.


SpecimenAuthorLanguageKey Innovation
NZM seriesCommunityC++Directory-based module organization, MD5 auth
AkBotCommunityC++DNS SRV record C2 resolution, XOR config encryption
ReptileCommunityC++FU rootkit driver for kernel-mode process hiding
NinjaBotCommunityDelphiBot-to-bot cooperative spreading, honeypot detection
Darkness BotCommunityC/C++USB spreading, MySpace social vector
wworm2 (WoodWorm)CommunityDelphiPolymorphic engine, torrent seeding as spreading vector

NZM restructured the entire rxBot codebase into a proper directory hierarchy - the first professionally organized malware project in the lineage:

cpp/core/ cpp/exploits/ cpp/modules/
cpp/ddos/ cpp/scan/ cpp/xfer/
headers/ config/ doc/

Added PnP (MS05-039), WKSSVC, ASN.1, WINS, and RealCast exploits. Introduced MD5-protected command authentication.

CVEMS BulletinExploitTarget
CVE-2005-1983MS05-039Plug-and-Play overflowPort 445
CVE-2003-0812MS03-049Workstation Service (added to NZM)Port 445
CVE-2003-0818MS04-007ASN.1 (added to NZM)Various
  • AkBot: DNS SRV record resolution for C2 - a precursor to modern domain-generation algorithms
  • Reptile: Kernel-mode rootkit (FU driver) - first specimen in collection operating at Ring 0
  • NinjaBot: Only Delphi-based bot; featured cooperative bot-to-bot spreading and a built-in honeypot detector to avoid security researchers
  • wworm2: Polymorphic engine (polyengine.pas) with seeded XOR + Base64 + XOR layering, plus torrent seeding via uTorrent UI automation

The FU rootkit in Reptile proved that host-based security tools running in userspace could be completely bypassed. This drove investment in kernel-mode security and rootkit detection tools. NinjaBot's honeypot detection showed adversaries actively studying defender infrastructure.


2006–2007: Operational Optimization & Industrialization

Section titled “2006–2007: Operational Optimization & Industrialization”
SpecimenAuthorLanguageKey Innovation
120-Series (RX-120)BuZC++Operational optimization, full string encryption
SDX.amk.0x00CommunityC++OOP rewrite of sdBot lineage
CYBERBOTDreamWoRKC++Stripped rxBot for stability
FragusCommercialPHPAffiliate-based exploit kit SaaS
IcePack IE7 modCommercialPHPGeoIP + browser fingerprinting exploit delivery
Fiesta3CommercialPHPPDF/Flash exploit delivery
iStealer5CommercialVB6/CBuilder-stub credential stealer
DynastryCrypterCommercialC++/PHPCrypter with PHP licensing backend
hydra-2008.1CommunityCMIPSEL cross-compiled IoT botnet precursor

The 120-Series: Peak IRC Bot Evolution (2007)

Section titled “The 120-Series: Peak IRC Bot Evolution (2007)”

With 22 variants building incrementally, the 120-Series represents the operational apex of the IRC botnet lineage:

  • Full string encryption - All configuration data encrypted at rest
  • Abbreviated filenames - Minimal footprint on disk
  • Bot-killer module - Whitelist of 300+ legitimate Windows executables; kill everything else
  • SP2 patcher - Modifies Windows XP SP2 security features
  • Scanner subdirectory - Organized exploit scanning infrastructure
  • MySQL brute-force + UDF injection - Database server targeting
  • VNC brute-force - Remote desktop compromise
CVEMS BulletinExploitTarget
CVE-2006-3439MS06-040NetAPI Server Service overflowPort 445
CVE-2006-2630N/ASymantec Client Security overflowPort 2967
CVE-2007-5659N/AAdobe Reader Collab​.collect​Email​InfoPDF files

This period marks the transformation of malware from a hobby to an organized criminal enterprise:

Tool TypeSpecimenBusiness Model
Exploit KitFragusAffiliate/PPI - sellers tracked per-infection revenue
Exploit KitIcePackLicense-based - sold on underground forums
Exploit KitFiesta3License-based - PDF/Flash drive-by attacks
StealeriStealer5Builder-stub model - GUI config, no coding needed
CrypterDynastryCrypterSaaS - PHP licensing backend, subscription model

Eight years before Mirai, hydra-2008.1 targeted D-Link routers using MIPSEL cross-compilation (mipsel-uclibc-gcc). Its two-stage infection via Telnet brute-force and wget payload delivery is conceptually almost identical to Mirai's approach. This specimen proves IoT botnet threats were understood - and ignored - long before the 2016 crisis.

The commercialization of exploit kits forced the security industry beyond simple payload signatures into reputation-based systems, WAFs, and IPS rules targeting exploit delivery chains. The builder-stub model (iStealer) and commercial crypters (DynastryCrypter) created an AV arms race that made behavioral analysis mandatory.


SpecimenAuthorLanguageKey Innovation
Zeus / Zbot (4 versions)Slavik (Bogachev)C++/PHPHTTP-based C2, browser hooking, web injects

Zeus abandoned every convention of the IRC bot lineage:

DimensionIRC Bots (sdBot → 120-Series)Zeus
ProtocolPersistent IRC connectionStateless HTTP POST polling
EncryptionNone → Blowfish (late)RC4 + MD5 on all payloads from day one
Data handlingUnstructured IRC messagesMySQL database, searchable via web panel
AdministrationCLI via IRC clientFull web GUI with role-based access control
TargetingBroad (DDoS, spam, spreading)Precise (bank-specific injects, per-country scripts)
DetectionIRC on non-standard portsBlends with normal HTTPS traffic
Business modelFree/open-source modificationsCommercial kit sold on underground forums
  • Man-in-the-Browser (MitB): Hooks wininet.dll between SSL decryption and page rendering - modifies HTTPS content after decryption
  • Web inject system: Targeted HTML/JS injection against 100+ financial institutions (Bank of America, Barclays, HSBC, PayPal, etc.)
  • Builder tool: GUI for compiling custom bot binaries + encrypted configs without touching code
  • BackConnect server: Reverse SOCKS/RDP tunnels through infected machines
  • RC4 + TLV binary protocol: All communications encrypted with integrity verification
  • FBI estimated $100M+ in US losses alone
  • Millions of compromised machines at peak
  • Operation Trident Breach (2010): 100+ arrests
  • Developer Evgeniy Bogachev: $3M FBI bounty
  • Source leak (2011) spawned: Citadel, ICE IX, GameOver Zeus, KINS/ZeusVM, Sphinx

Zeus forced a complete rethinking of endpoint security. Traditional antivirus was insufficient against browser-hooking MitB attacks. The industry responded with browser hardening, two-factor authentication mandates, behavioral banking fraud detection, and the first serious threat intelligence sharing programs between financial institutions.


YearKey MilestoneParadigm
2002sdBot 0.4b - the IRC bot archetypeHobbyist, single-file
2003spyBot adds keylogging + credential theft; Phatbot adds P2P C2Capability explosion
2004rxBot modularizes architecture; BlowSXT adds encryptionProfessionalization
2005NZM restructures codebase; rootkits emergeStructural maturity
2007120-Series peaks IRC bots; exploit kits commercializeOperational optimization
2008Hydra targets IoT routers (MIPSEL)IoT precursor
2009Zeus introduces HTTP C2, web injects, commercial modelIndustry-scale crimeware

The arc from sdBot to Zeus is not merely technical evolution - it mirrors the transformation of cybercrime from a subculture into an organized criminal industry, complete with specialization, supply chains, and commercial business models.