Skip to content

IRC vs HTTP C&C

From 2002 to approximately 2007, virtually every major botnet family in this collection used IRC (Internet Relay Chat) as its command-and-control protocol. By 2009, Zeus had demonstrated that HTTP was not just viable but superior for data-centric criminal operations. This page examines why the shift happened, what it meant technically, and how it reshaped both offense and defense.


DimensionIRC Botnets (sdBot → 120-Series)HTTP Botnets (Zeus)
Connection modelPersistent TCP connection to IRC serverStateless HTTP POST polling at configurable intervals
Default ports6667, 6668, or non-standard (often flagged)80 (HTTP) / 443 (HTTPS) - blends with legitimate traffic
Protocol overheadIRC protocol framing + channel managementStandard HTTP request/response
NAT traversalProblematic - requires port forwarding for inboundNo issues - outbound HTTP works behind any NAT/proxy
Traffic patternContinuous connection with periodic PING/PONGBrief periodic check-ins; indistinguishable from web browsing
Network visibilityIRC traffic on any port is anomalous in enterprise networksHTTP/HTTPS traffic is expected and voluminous
DimensionIRC BotnetsHTTP Botnets (Zeus)
Early era (2002–2004)Plaintext commands and responsesN/A
Mid era (2004–2005)BlowSXT introduced Blowfish encryption; non-printable prefix (\xBB)N/A
Late era (2007+)Some variants used SSL IRC connectionsN/A
Zeus (2009)N/ARC4 encryption on all payloads + MD5 integrity verification from day one
AuthenticationIRC channel password + host mask matching + multi-login trackingSession-based web panel auth + MD5 password hashing + 15+ permission flags
Command verificationPlaintext prefix matching (.command or \xBB prefix)Binary TLV (Type-Length-Value) format with cryptographic integrity
DimensionIRC BotnetsHTTP Botnets (Zeus)
Server capacityLimited by IRC server connection limits (typically thousands)Standard web servers handle 100K+ periodic HTTP requests easily
Bot registrationJoins IRC channel; nick collisions possible at scaleHTTP POST to gate.php; stateless, no persistent connection overhead
Bandwidth profileContinuous idle connections consume server resourcesBrief periodic polls; server idle between check-ins
Multi-botnetRequires separate channels or serversSingle panel manages multiple botnets via database filtering
Geographic distributionIRC server location is a single point of latencyStandard web hosting, CDN-compatible, multi-region deployable
DimensionIRC BotnetsHTTP Botnets (Zeus)
Operator interfaceIRC client (mIRC, BitchX, etc.) - command-line styleFull web GUI with dashboards, filtering, RBAC
Bot visibilityChannel user list + nick-based identificationDatabase-backed bot list with IP, country, OS, NAT status, online state
Command deploymentType command in channel/topic; all bots executeScript system with targeting: bot ID whitelist/blacklist, botnet name, country code, send limits
Data retrievalBots paste stolen data into IRC channels (unstructured)MySQL database with structured tables, searchable by date/type/source
Multi-userLimited - IRC auth levels (op/voice)Granular RBAC - 15+ per-user permission flags
ReportingNone built-inStatistics dashboard: installs by country, OS distribution, infection rates
Learning curveRequires IRC protocol knowledgePoint-and-click web interface accessible to non-technical operators
DimensionIRC BotnetsHTTP Botnets (Zeus)
Primary purposeDDoS, spam relay, spreading, general-purposeBanking fraud, credential theft, financial crime
Target precisionBroad - all bots receive all commandsPer-country, per-botnet, per-bot-ID targeting
Data typesCD keys, keylog dumps, IRC channel pasteHTTP/HTTPS requests, FTP/POP3 credentials, form grabs, certificates, cookies, arbitrary files
Data organizationLost in IRC scrollback unless manually loggedStructured MySQL tables: Reports > DB searchable by date, type (HTTP/HTTPS/FTP/POP3/grabbed)
Data volumeLimited by IRC message rate limitsWeb server handles high-volume log uploads efficiently
DimensionIRC BotnetsHTTP Botnets (Zeus)
Single point of failureIRC server(s) - typically 1–2 with failoverWeb server(s) - but easier to proxy/migrate
Domain strategyHardcoded IP or hostname; some used DNS failoverDynamic domains, fast-flux DNS, proxy chains (redir.php)
Law enforcement responseIdentify and seize IRC server(s)More complex - distributed hosting, bulletproof providers, domain registrar takedowns
Notable exceptionPhatbot used P2P WASTE protocol (no central server)GameOver Zeus (post-leak) added P2P, combining the best of both

The transition from IRC to HTTP C2 was driven by five converging factors:

By 2005–2006, enterprise firewalls and IDS systems had learned to flag IRC traffic. Even on standard IRC ports, the protocol's distinctive framing patterns (JOIN, PRIVMSG, PING/PONG) were easily signatured. IRC on non-standard ports was even more conspicuous.

HTTP/HTTPS traffic, by contrast, is the most common protocol on any network. A bot making periodic HTTP POST requests to a PHP endpoint is virtually indistinguishable from legitimate web browsing, especially when encrypted with SSL/TLS. Zeus exploited this fundamental asymmetry.

As botnets grew from thousands to millions of nodes, IRC servers became bottlenecks. IRC was designed for human-scale chat rooms, not for managing fleets of automated clients. Connection limits, nick collision handling, and the overhead of maintaining persistent TCP connections all degraded at scale.

HTTP's stateless request/response model scaled naturally. A standard web server could handle 100,000+ bots polling periodically with minimal resource consumption. The infrastructure knowledge was also commoditized - anyone could deploy a PHP/MySQL application on shared hosting.

Zeus was sold as a commercial product on underground forums. This required:

  • A user-friendly interface - web panels with point-and-click administration replaced IRC client expertise
  • Multi-user support - role-based access control allowed criminal organizations to delegate tasks
  • Structured data - MySQL databases with search/filter capabilities replaced IRC scrollback
  • Reporting - statistics dashboards showed infection rates, geographic distribution, and ROI

None of this was practical with IRC-based architecture.

The IRC bots in this collection were fundamentally action-oriented - they received commands and executed tasks (DDoS, scan, spread). Data theft was a secondary capability bolted on (keylog dumps pasted into IRC channels, CD keys broadcast to operators).

Zeus was data-oriented from the ground up. Its entire architecture was designed to collect, organize, and monetize stolen financial data:

  • Man-in-the-Browser hooks captured data silently
  • Structured database tables categorized stolen credentials by type and source
  • Web injects targeted specific banks with customized phishing overlays
  • The operator searched and exported data through a web interface

IRC botnets leaked operational information inherently:

  • Channel names, server addresses, and operator nicks were visible to anyone who joined
  • Bot nicks in channel lists revealed botnet size
  • Commands typed in channels could be observed by infiltrators
  • IRC server logs recorded everything

Zeus's HTTP model provided natural compartmentalization:

  • No persistent connections to observe
  • Encrypted payloads prevented content inspection
  • Web panel access required authentication
  • No equivalent of "joining the channel" for researchers

The shift wasn't instantaneous. Several intermediate approaches emerged:

BlowSXT added Blowfish encryption to IRC C2 and changed the command prefix to a non-printable character (\xBB). This addressed content inspection but not the fundamental protocol visibility problem.

Some variants (notably Phatbot) supported SSL-encrypted IRC connections. This prevented content analysis but the connection patterns (persistent TCP to non-standard ports) remained anomalous.

Phatbot's WASTE protocol eliminated the central server entirely, creating a resilient mesh network. However, P2P introduced its own problems:

  • Complex implementation - difficult for the community modification model
  • Latency - commands propagated slowly through the mesh
  • Monitoring - researchers could join the mesh network as peers
  • No structured data handling - same limitation as IRC for data-centric operations

AkBot used DNS SRV records for C2 resolution - a precursor to domain-generation algorithms (DGAs) that would later become standard in HTTP-based malware.


The later IRC bot variants in the collection show awareness of HTTP's advantages and attempted to compensate:

FeatureIRC Bot ImplementationZeus Equivalent
EncryptionBlowfish C2 (BlowSXT), XOR config (120-Series)RC4 + MD5 on everything
StealthCTCP camouflage (fake mIRC/BitchX/xchat/irssi responses)Native HTTP blending
PersistenceMulti-server failover, topic commandsDomain rotation, proxy chains
Data theftKeylogger, packet sniffer, credential dumpMitB, web injects, form grabbing
OrganizationNamespace prefixes (irc., root., ddos.*)Database categories, searchable reports

Despite these efforts, the IRC model had inherent limitations that no amount of bolted-on features could overcome.


  • Port blocking: Block outbound IRC ports (6667–6669) at the perimeter
  • Protocol detection: IDS signatures for IRC protocol framing
  • Channel monitoring: Infiltrate C2 channels to observe commands and enumerate bots
  • Server takedown: Seize or null-route the IRC server to decapitate the botnet
  • Nick analysis: Bot nicks often encoded system info (uptime, OS) - useful for intelligence
  • Port blocking: Cannot block ports 80/443 without breaking all web access
  • Protocol detection: HTTP POST to a PHP endpoint looks identical to legitimate web traffic
  • Channel monitoring: No channel to join; encrypted payloads prevent content inspection
  • Server takedown: Distributed hosting, bulletproof providers, rapid domain rotation
  • Traffic analysis: Brief periodic polls blended into normal web traffic patterns

The HTTP shift forced the security industry to develop entirely new capabilities:

  1. SSL/TLS inspection - Decrypt outbound HTTPS to inspect for C2 traffic
  2. Behavioral analysis - Detect malware by what it does (browser hooking, credential access) rather than how it communicates
  3. Domain reputation systems - Score newly registered domains, hosting patterns, DNS behavior
  4. Endpoint Detection & Response (EDR) - Monitor process behavior, API calls, memory modifications
  5. Threat intelligence sharing - Financial sector ISACs (Information Sharing and Analysis Centers) for Zeus IOCs
  6. Browser hardening - Sandboxing, Content Security Policy, certificate pinning to resist MitB
  7. Two-factor authentication - Rendering stolen passwords alone insufficient for financial fraud

The IRC-to-HTTP transition documented in this collection represents one of the most consequential architectural shifts in cybersecurity history. It transformed botnets from tools of disruption (DDoS, spam) into platforms for organized financial crime. The Zeus model - HTTP C2, web panels, encrypted communications, structured data - became the template for virtually all subsequent crimeware: Citadel, Dridex, Emotet, TrickBot, and beyond.

The IRC bot families in this collection (sdBot through the 120-Series) are not obsolete curiosities - they document the evolutionary pressures that drove the paradigm shift. Understanding why HTTP won requires understanding what IRC couldn't do, and that understanding remains directly relevant to analyzing modern C2 architectures.