You are here: Home » Dokumentation » Netzwerk » Botnetze
Sorry, this page is not translated yet.

Botnetze

Was sind Bots und Botnetze?

Der Begriff “Bot” ist von dem Wort “Robot” abgeleitet, welches wiederum dem tschechischen Wort für die Arbeit “robota” entstammt. Im technischen Umfeld wird darunter zumeist ein Programm verstanden, welches ohne menschlichen Eingriff Aktionen ausführt. Einer der bekanntesten klassischen “Bots” ist z.B. der IRC-Bot Eggdrop, der seit 1993 gerne zur Automatisierung von Internet Relay Chat (IRC)-Funktionen eingesetzt wird. Mittlerweile wird der Begriff “Bot” im Umfeld der IT-Sicherheit nicht mehr primär für IRC-Bots (wie Eggdrop) sondern für Fernsteuerprogramme, über die kompromittierte Systeme von einem Angreifer zentral befehligt werden können, verwendet. Die nachfolgende Beschreibung widmet sich ausschließlich “Bots”, die als Verbreitungsweg Viren (bzw. trojanische Pferde) aber insbesondere Würmer (automatisierte Ausnutzung von Schwachstellen) verwenden, und nach erfolgreicher Infizierung von einem Angreifer zentral ferngesteuert werden können. Als Botnetz versteht man einen virtuellen Verbund infizierter Client-Systeme, also eine Zusammenschaltung von Bots. Zur zentralen Fernsteuerung wird bei den derzeitigen Bot-Varianten zumeist das IRC eingesetzt.

Die Bots verbinden sich hierbei zu einem IRC-Server und treten einem sogenannten Channel bei. Ein Channel ist ein gemeinsamer Kanal (analog dem Funkverkehr) auf dem sich die Teilnehmer unterhalten können. Der IRC-Server dient dabei als Relaisstation (daher Internet Relay Chat – IRC). Dieser Channel ist zumeist mit einem (dem Bot bekannten) Passwort versehen, wodurch nicht authorisierten Personen ein Einblick und die Kontrolle über die Bots verwehrt werden soll. Durch einen IRC-Server-Admin bzw. Channel-Operator können die Bots “fremd-administriert” werden. Hierzu zählen z.B. folgende Funktionen:

  • Scanne nach weiteren Systemen die ebenfalls infiziert werden können (siehe Verbreitungswege)
  • Führe einen DoS-Angriff aus
  • Führe einen download (z.B. http-, ftp-Link) und anschließend das Programm aus (z.B. Initialverbreitung von neuer Malware)

Verbreitungswege

Die meisten Bots beinhalten Scanroutinen zur Verbreitung der Malware. So beinhalten sowohl rbot/rxbot als auch Agobot/Phatbot z.B. nachfolgende Verbreitungswege:

Ist Botbefall ein reines Microsoft Problem?

Nein, mittlerweile gibt es Phatbot/Agobot-Varianten die ebenfalls Schwachstellen in Nicht-Microsoft-Betriebssystemen ausnutzen. Wenngleich der Schwerpunkt nach wie vor klar bei Windows-basierten Systemen liegt, steigt auch z.B. für Linux-Hosts die Wahrscheinlichkeit, Teil eines Botnetzes zu werden. Insbesondere als IRC-Server, und somit als Kernstück jeden Botnetzes fungieren zumeist kompromittierte Linux-Server, auf denen ein IRC-Server aufgesetzt wird.

Gefahrenpotential

Botnetze bergen ein enormes Gefahrenpotential. Folgende Beispiele illustrieren dieses Potential ein wenig:

  • IRC-Botnetz mit 140415 Bots, DDoS mit 40Gbps: They’re just a bunch of script kiddies Vortrag von Rob Thomas, 2003
  • Anfang Mai 2004 konnten wir basierend auf den für Agobot/Phatbot typischen POST-Requests (die der Netzperformancemessung dienen) pro Tag ca. 300000 unterschiedliche IP-Adressen ermitteln. Innerhalb einer Woche konnten so mehr als eine Million unterschiedlicher IP-Adressen ermittelt werden, die offenbar mit dem Agobot/Phatbot infiziert sind. Auch unter Berücksichtigung von Mehrfachzählung infizierter Hosts (durch dynamische IP-Adressenvergabe) liegt die reele Zahl mit Agobot/Phatbot infizierter Systeme bei mehreren hunderttausend (pro Woche).

Neben DDoS-Angriffen ist z.B. auch die Initialverbreitung von neuer Malware oder auch der Einsatz von Bots als Spam-Relay ein bereits praktiziertes Einsatzszenario. Insbesondere bei DDoS-Angriffen – ausgehend von ehreren hunderttausend Hosts – sind reaktive Maßnahmen kaum erfolgsversprechend durchführbar. Wirksame Gegenmaßnahmen können nur Prävention und frühzeitige Zerschlagung von Botnetzen sein.

Wie beobachtet das RUS-CERT Bots/Botnetze?

Das RUS-CERT überwacht die flows auf dem Borderrouter zum Internet (siehe /dienste/flows/). Flows sind quasi virtuelle Verbindungen, die der Router automatisch aus einzelnen Paketen konstruiert. Jede aktive Kommunikationsbeziehung wird vom Router als flow verwaltet.
Es gibt mehrere Gründe warum Bots in der Flow-Überwachung auffallen:

  • Von Bots gehen Portscans zur Weiterverbreitung der Malware aus.
  • Von Bots gehen Denial of Service (DoS) Angriffe aus.
  • Bots weisen IRC-Verbindungen zu als Botnetz-Server fungierenden IRC-Servern auf.

Eine weitere Detektionsmethode besteht in der Erfassung der Charakteristik der IRC-Kommunikation gängiger Bots. So werden üblicherweise Steuerbefehle zur Initiierung von Distributed Denial of Service (DDoS)-Angriffen, zum Download von Malware bzw. zur Durchführung von Scans übertragen. Auf diese Befehle kann der Netzverkehr mittels signaturbasierter Netzwerk Intrusion Detection Systeme (NIDS) analysiert werden. Als Signaturen können z.B. folgende (regex-)Strings dienen:

  • (http|ftp)\.(execute|download|update) (Agobot/Phatbot)
  • bot\.(command|execute|flushdns|secure|status) (Agobot/Phatbot)
  • redirect ([0-9]{1,4}) (SpYboT)
  • redirect\.(gre|http|https|socks|socks5|stop|tcp) (Agobot/Phatbot)
  • scan\.((start|stop)(all)?|stats|(dis|en)able|(clear|reset|list|del|add)netrange) (Agobot/Phatbot)
  • (syn|udp) ([0-9]{1,3}\.){3}[0-9]{1,3} (SDBot)
  • ddos\.(httpflood|phat(icmp|syn|wonk)|stop|(syn|udp)flood|targa3) (Agobot/Phatbot)
  • !scan ([0-9]{1,3}\.) (GTBot)
  • (advscan|asc|xscan|xploit|adv\.start|adv5c4n) (webdav|netbios|ntpass|dcom(2|135|445|1025)|mssql|lsass|optix|upnp|ndcass|imail) (rBot/rxBot)
  • (advscan|asc|xscan|xploit|adv\.start|adv5c4n) (pnp445|pnp139|dcass|beagle[12]|mydoom|netdevil|DameWare|kuang2|sub7|iis5ssl|wks|wkssvc) (rBot/rxBot)
  • (advscan|asc|xscan|xploit|adv\.start|adv5c4n) (asn1smb|ro0t2|mysql|wkssvcOth|wkssvcENG|lsass_445|arkeia|arcserve|wins|veritas|netbackup) (rBot/rxBot)
  • ddos\.(syn|ack|random) ([0-9]{1,3}\.){3}[0-9]{1,3} (rBot/rxBot)
  • (tcp|syn|udp|ack|ping|icmp)flood ([0-9]{1,3}\.){3}[0-9]{1,3} (rBot/rxBot)
  • (tcp|syn|udp|ack|ping|icmp) ([0-9]{1,3}\.){3}[0-9]{1,3} (rBot/rxBot)
  • (upda|getfile|dl|download|telecharger|indirme) http:\/\/
  • hell\.(login|disconnect|reconnect|download|raw|mailstart|mailstop|botcash|sysinfo|remove) (HellBot)
  • floodnet ([0-9]{1,3}\.){3}[0-9]{1,3}
  • (pctrl\.|ntscan|ntstop|gigaload|localscan|ipscan s\.s\.s|Botitos) (?)

Den Steuerbefehlen ist ein Prefix vorangestellt, zumeist ".", d.h. z.B. ".advscan lsass". Dieser Prefix kann jedoch frei definiert werden und wurde deshalb bei obigen Regex nicht berücksichtigt. Für IDS ala snort ist darauf zu achten, dass diese Befehle von $EXTERNAL_NET an $HOME_NET gesandt werden. Oftmals werden die Befehle als Channel-Topic festgelegt, weshalb sie nicht zwingend als IRC-“PRIVMSG” übertragen werden. Zusätzlich gibt es noch einige IRC-Antworten von infizierten Systemen, auf die der Netzverkehr ggf. auch überwacht werden kann:

  • \[(FTP|TFTP)\]\: File transfer (started|complete)
  • (random|sequential) Port Scan (started)?
  • Random Scanner|Exploiting IP|Exploiting\.\.
  • flooding\:|flood stopped|sending packets
  • [UDP|SYN|TCP]\: Sending ([0-9]{1,7}) packets

Allgemeine Informationen zu Bots

Weitere Informationen zu Bots