DDoS – Distributed Denial of Service
© & written 2003 by M.Rogge & Mixter
Diese
Art der Angriffsform auf ein Netzwerk oder einzelnen Computer ist derzeit nach
wie vor eine der gefährlichsten Formen die es gibt.
DDoS Angriffe legen meistens einen ganzen Host, der zumindest auf TCP/IP
basiert, für mehrere Stunden lahm.
Oftmals werden ganze Hosts oder IP Ranges davon betroffen, sodass diverse Services
nicht mehr erreichbar sind.
Zweifelsohne kann man davon ausgehen, dass dies kein Machwerk eines Crackers
ist, der sich „probieren“ will, sondern immer eine böswillige Absicht mit einer
solchen Attacke verfolgt wird. (Angriff)
Der Erfolg einer DDoS Attacke ergibt sich aus der Struktur dieser Angriffsform,
da diese verschiedene Rechnerkapazitäten verwenden und verteilt arbeiten, um
dann einen gemeinsamen „Schlag“ gegen den betreffenden Host auszuführen.
Verschiedene Formen sind hier möglich nach denen eine solche Attacke aufgebaut
sein kann.
Die Angriffsformen einer DDoS Attacke:
Zum einen können gespoofte ICMP Echo Request Pakete an den betreffenden Host
gesendet werden der dann aber nach gewisser Zeit bei einer Übermenge an Antworten
die Arbeit niederlegt und sich abschaltet.
Über TCP Pakete ist es teilweise möglich eine bestimmte Menge TCP Pakete an
den Zielhost zu senden, diese werden aber bei 50% wieder abgebrochen und der
Zielhost bricht nach kurzer Zeit zusammen und kann nicht mehr arbeiten.
Die effektivsten DDoS Programme existieren derzeit nur unter der Arbeitsplattform
Linux/Unix.
Tools die für Windows angeboten werden überlasten oftmals das System von Windows
selbst, da die Schnittstelle von Windows dahingehend nicht die stabilste ist.
DDoS Angriffe können sich gegen einen entfernten Host, eine Hardware oder gar
gegen bestimmte Software richten.
(z.B. Real Audioplayer, MS Windwos 98/2000/NT4/XP, Cisco-Router)
Eines der DDoS Programme die derzeit am effektivsten arbeiten ist TFN
2000.
TFN = Tribe Flood Network 2000. (kurz TFN2k)
Das von Mixter programmierte Tool bietet verschiedene Möglichkeiten
in einem Programm der Distributed Denial of Service Attacken.
Ich schildere Ihnen die genaue Arbeitsweise des Programmes TFN2k, die Vorteile,
Nachteile und die Gegenmaßnahmen, die ergriffen werden können.
Bei konventionellen DoS Angriffen, die auf Flooding, d.h.der Überlastung der
maximalen Bandbreitenkapazität eines Ziels basieren, muss einem Angreifer immer
ein System zur Verfügung stehen, dass über wesentlich mehr Bandbreite als sein
Ziel verfügt, damit das Ziel mit kontinuierlichen Anfragen überlastet werden
kann.
Wenn nicht, dann muss ein Angreifer auf mehrere Systeme mit geringerer Bandbreite
zurückgreifen, um so einen Angriff zu koordinieren - also etwa in dem er sich
über etliche Telnet- oder SSH-Sitzungen einloggt und gleichzeitig einen Pingbefehl
ausführt - dessen Gesamtbandbreite dann wieder die Bandbreite des Zielsystems
wesentlich übersteigt.
Verteilte DoS-Angriffe automatisieren dieses Schema, indem sie auf simpler Client/Server
Technologie aufbauen.
Ein DDoS-Server oder DDoS-Daemon wartet auf Anweisungen, Ziele anzugreifen,
also kontinuierlich Daten an ein Ziel zu senden.
Diese Anweisungen werden in einem für das DDoS-Programm anwendungsspezifischen
Protokoll übertragen.
Ein DDoS-Client, welcher dasselbe Kontroll-Protokoll unterstützt, wird benutzt,
um Angriffsanweisungen für ein Ziel an beliebig viele DDoS-Server zu schicken,
und somit Angriffe zu koordinieren.
Besonderheiten der TFN2k-Technologie:
Bei anderen DDoS-Applikationen halten DDoS-Server ständig Verbindungen mit dem
DDoS-Client offen.
Der Client wird zu einer Art Hub oder Master-Server, der mit allen Servern verbunden
ist.
TFN2k dagegen benutzt keine Verbindungen.
TFN2k benutzt ein proprietäres Protokoll, um Kontroll-Anfragen an seine DDoS-Server
zu verschicken.
Das Protokoll selbst ist zwar simpel, aber trotzdem sicher genug, um nicht einfach
erkannt zu werden.
Es setzt sich über die Internet-Standards TCP, UDP und ICMP hinweg: es benutzt
im Zufallsverfahren eines dieser Protokolle, und hängt die relevanten Daten
als Payload eines TCP- UDP- oder ICMP-Paketes an.
Die Kontrolldaten enthalten die Art des Angriffs (oder andere Funktionen wie
Fernzugriff, verteilte Befehlsausführung, Angriffsende, usw.) und eine Liste
von Zielsystemen.
Diese Daten sind mit CAST256, einem symmetrischen Algorithmus, verschlüsselt,
und in BASE64 kodiert.
Wichtig ist hier, dass diese Pakete nicht von normal vorkommenden Datenpaketen
zu unterscheiden sind, und auch dass so keine Verbindung hergestellt werden
muss.
Anders als bei einer Verbindung gehen die Pakete, und die enthaltenen Nachrichten
in eine Richtung -- nur vom DDoS-Client zu den jeweiligen DDoS-Servern.
Darüberhinaus sind sämtliche Absenderaddressen der Kontrollpakete gespooft,
d.h. es werden einfach beliebige Absender im Quell-IP-Feld eingetragen.
Symmetrische Verschlüsselung ist eine wirkungsvolle Waffe gegen jede Art von
Systemen zur Erkennung z.b. von DDoS-Kontroll-Datenverkehr.
Es findet kein Austausch von Schlüsseln oder Authentifikation statt, daher ist
der gesamte Inhalt der Kommunikation verschlüsselt und nicht nachvollziehbar.
Bei DDoS-Netzwerken ist symmetrische Verschlüsselung möglich, weil es sich um
"private" Netzwerke handelt: alle DDoS-Server und der DDoS-Client werden vom
selben Nutzer installiert, verfügen also über denselben geheimen symmetrischen
Schlüssel.
DDoS-Funktionalität:
Es gibt mehrere Arten von Angriffen, die koordiniert werden können, darunter
UDP (Bandbreitenüberlastung durch UDP-Pakete, und ICMP-Fehlermeldungen, die
vom Angriffsziel generiert werden, wenn ein UDP-Paket auf einen geschlossenen
Port trifft), durch ICMP-Pakete (Ping-Anfragen die entsprechend Ping-Antworten
generieren), sowie TCP/SYN-Angriffe (permanente Anfragen von zufälligen Quelladdressen,
neue TCP Verbindungen aufzubauen, was nicht nur die Bandbreite sondern auch
die Resourcen von Serverprogrammen, etwa eines Apache Webservers, sowie von
Betriebssystemen überlastet).
Darüberhinaus bietet TFN2k die verteilte "Targa3"-Attacke.
Hierbei handelt es sich um Pakete, die mit zufälligen Werten erstellt werden.
Es kann sich also um UDP, ICMP, IGMP, TCP, oder andere Protokolle handeln, um
Fragmente, oder nach den Protokollstandards völlig ungültige Pakete.
Dies stellt eine Herausforderung für die Implementation des Netzwerksubsystems
vieler Betriebssysteme dar, die nicht alle Sonderfälle von ungültigen Datenpaketen
ohne weiteres verarbeiten können.
Zu den weiteren "Features" von TFN2k zählen Decoy-Pakete, also falsche "Dummies",
die zusätzlich zu den echten verschickt werden können, um eine Entdeckung des
Traffics zusätzlich zu erschweren.
TFN2k ist darüber hinaus Multi-Platform-fähig, läuft also auf den meisten gängigen
Betriebssystemen.
Das bedeutet, es wäre möglich, DDoS-Server auf Linux, Solaris, BSD und Windows
NT Systemen zu installieren, und Angriffe von all diesen Systemen gleichzeitig
zu koordinieren.
Schwächen und Gegenmassnahmen:
Die Schwächen von TFN2k bestehen zum einen darin, dass es sich vom Konzept her
darauf verlässt, dass IP-Spoofing, also das Fälschen von Absenderadressen, problemlos
möglich ist.
Auf diesem Vorgang beruht die Anonymität der Kontroll-Anfragen sowie der eigentlichen
Angriffe in Form gespoofter UDP, TCP oder ICMP-Floods.
Implementiert ein Netzwerk, auf dem ein DDoS-Server oder DDoS-Client eingesetzt
wird, das sogenannte "Ingress Filtering" zum Schutz gegen falsche Absenderadressen,
so wird es einem Angreifer unmöglich sein, TFN2k anonym dort einzusetzen.
Eine weitere Schwäche besteht in der Implementation der Verschlüsselung: BASE64
(auch z.B. "Ascii-Armoring" bei PGP genannt), das verwendet wird, lässt sich,
wenn auch mit etwas Aufwand, von anderen Paketen unterscheiden, da es nur aus
alphanumerischen Zeichen besteht.
Dies ist aber eine implementationsspezifische Schwäche bei TFN2k, keine Konzeptionelle;
die gleiche DDoS-Funktionalität könnte auch bei binärer Verschlüsselung realisiert
werden.
Beispiel:
Ein Angreifer wird TFN2k kompilieren und dabei sein eigenes geheimes
Verschlüsselungs- und Autorisierungs-Passworts (für Client und Server das selbe)
zu wählen.
Ihm steht ein Serverprogramm ("td") zur Verfügung, daß auf einer Reihe von Systemen, die zum
Angriff bereit sein sollen, mit root-Rechten installiert wird.
Der Server selbst wird auch versuchen, seine Existenz in der Prozesstabelle,
durch einen harmlos erscheinenden Namen wie "httpd" oder "-bash", zu verstecken.
Die IP-Adressen sämtlicher DDoS-Server trägt der Angreifer in eine Textdatei
(im Beispiel "servers.txt") ein.
Um anonym zu befehlen, das Ziel 192.168.1.23 mit ICMP-Anfragen anzugreifen,
muss ein Angreifer lediglich den folgenden Befehl geben:
tfn -f servers.txt -c3 -i 192.168.1.23.
Hiermit kontaktiert der Angreifer alle DDoS-Server aus "servers.txt", die dann
ihrerseits das Ziel, 192.168.1.23, koordiniert mit Typ 3 (ICMP) angreifen werden.
Der Angriff kann mit -c0 wieder beendet werden.
TFN2k kann kurz gesagt von einem Attacker sehr gezielt auf ein Netzwerk wirkungsvoll
eingesetzt werden, da der Attacker gleichzeitig mehrere Clients bedienen kann.
Die Clients kommunizieren bei TFNk2 über ICMP Pakete und nicht wie herkömmliche
Angriffstools über einen Port.
Die Clients geben die Datenpakete an die Daemons weiter, die dann das anzugreifende
Zielsystem attackieren.
(Zielsystem oder auch Opfer oder Victim genannt)
Es steht nicht im Wiederspruch dazu, daß mit Programmen
wie TFN2k DDoS Attacken realisiert werden können sondern darauf aufmerksam gemacht
werden soll, welche Schwächen bestehen und wie diese gesichert werden können.
Es gibt natürlich auch andere Programme, die auf einer anderen Struktur aufsetzen
um ein Flood Netzwerk aufzubauen.
Vertretend und immer noch aktuell sind unter anderem Trinoo und Stacheldraht.
Auf beide DDoS Attackprogramme möchte ich an dieser Stelle kurz eingehen.
Trinoo oder Trin00
Trinoo besteht im wesentlichen aus einem Master den man als master.c vorfindet
und einem Daemon, der meistens als ns.c zu finden ist.
Die Kommunikation bei Trinoo findet allerdings über Ports statt, nicht wie bei
TFNk2, über Datenpakete.
Der Attacker gibt seine Befehle an die installierten Master über Port 27665
via TCP an.
Die installierten Master senden ihre Befehle über UDP Port 27444 an den Daemon
weiter und die Rückmeldungen vom Daemon an den Master läuft über UDP Port 31335.
Wie auch bei TFNk2 ist es dem Attacker möglich, mehrere Master gleichzeitig
zu bedienen.
Die Master sind in diesem Fall jeweils als Server anzusehen, die vom Attacker
gesteuert werden.
Ein Programm das Ihren Computer oder Server unter Windows auf Trin00 prüft gibt
es von Diamond Computer Systems Pty. Ltd.
Nach der problemlosen Installation sollte der Computer neu gestartet werden,
um so ein effektives Arbeiten mit dem Programm zu ermöglich.
Ist das Programm nun installiert, kann man es starten und die erforderliche
IP eingeben, um den entsprechenden Host überprüfen zu lassen.

In unserem
Beispiel haben wir zwei kurze Testläufe gemacht, die aber erfolgreich waren
und kein Programm dieser Art gefunden wurde.
Das kleine Programm ist kostenlos und kann unter der folgenden URL auf den Computer
geladen werden: http://www.diamondcs.com.au/
Stacheldraht
Stacheldraht hat eine leicht veränderte Arbeitsweise als Trinoo und TFNk2.
Bei Stacheldraht spricht man von einem Handler (mserv.c) der als Server fungiert.
Der Client (meist client.c) arbeitet als Element für die Verschlüsselung und
Verbindung zwischen den Handlern.
Dies geschieht in der Regel bei der Kommunikation zwischen dem Client und Handler
über TCP Port 16660.
Bei der Kommunikation zwischen dem Handler und den Agents sowie zurück wird
TCP Port 65000 sowie ICMP echo reply angesprochen.
Der Attacker kommuniziert somit mit dem Client, der die Handler anspricht. Diese
wiederum steuern die Agents und attackieren entsprechend das System/Opfer.(Victim)
Korrekturen: Udo Laumann, Mixter
Verweise und Downloads zum Thema:
Mixter Security - Homepage des
Programmierers und Sicherheitsexperten
Download TFN2k: Mirror Packetstorm
Download TFN2k: Brain-Pro Security
Theoretischer Ausblick auf Möglichkeiten
von TFN3k
DDoS Tools im Internet: Packet Storm
Download Trin00: Brain-Pro Security
Download Stacheldraht: Brain-Pro Security
Kurze Einführung in TCP/IP & OSI
Modell
DDoS, ein ausgezeichnetes Paper von Marc Ruef
DDoS Software von Computec
Anti-Trin00 Sniper
David Dittrich - Analyse und Hintergrund zu TFN2k
David Dittrich - Analyse und Hintergrund zu Stacheldraht
Bekannte DDoS Attacken: Heise
Newsticker vom 09.02.2000 und vom 10.02.2000
Best Regards & Greetings
Mixter & Shakal