In letzter Zeit häufen sich Berichte über Lulz, Anonymous und andere komische “Hacker” Gruppen die Webseiten defacen, ddosen und anderes komisches Zeugs. Ich möchte einen kleinen Einblick in die Begriffe und die Methoden geben.
1.defacen/Defacement: Man dringt in die Systeme anderer ein und manipuliert Daten. Meistens werden Webseiten geändert. Einige Beispiele:
a) der Twitter Account von Fox
b) PBS
2.1.1DoS, Denial of Service Angriff. Hier werden bestimmte Dienste bzw ein bestimmter Dienst angegriffen. Ziel ist es, den Server in einen Zustand zu versetzen, in dem er nicht mehr erreichbar ist. Dies geschieht durch überlastung seiner Ressouren(z.b. SYN-Flood), durch übertreffen der Bandbreite des Servers oder durch ausnutzen von Sicherheitslücken(Backdoors) und Schwachstellen in der Konfiguration. Ein Dos Angriff geht von einem einzelnen Angreifer aus
2.1.2 DDoS, Distributed Denial of Service. Hier gilt das gleiche wie bei einem DoS, allerdings gibt es mehrere Angreifer .
2.1.2 DRDoS, Distributed Reflected Denial of Service. Hier werden von vielen Angreifern Anfragen an normale Server gesendet. Per Ip-Spoofing werden die Absender IP-Adressen auf die des eigentlichen Ziels gesetzt. Die regulären Server antworten somit nicht dem Angreifer sondern dem Ziel. Grob ausgedrückt: Die Angreifer sagen anderen Servern, sie sollen doch bitte eine DDos Attacke auf den Server X starten.
2.2.1 Der SYN-Flood
empfohlene Lektüre http://blog.bastelfreak.de/?p=44
kommt bei einem Server ein SYN Paket an, antwortet er nicht nur mit einem ACK, er reserviert auch schon Ressourcen. Kommt zum Beispiel bei einem Apache2 Webserver ein SYN Paket an, geht der Server davon aus das er gleich eine Verbindung erfolgreich aufbaut und eine Website ausliefern soll. Deshalb reserviert er schon Ressourcen und eine PHP Datei auf dem Server auszuführen, eventuell Datenbankabfragen zu tätigen und ähnliches. Bei einem SYN-Flood möchte der Client aber nie eine Website erhalten. Deswegen schickt er möglichst viele SYN Pakete und wartet nicht auf ein eingehendes ACK. Aufgrund der geringen Größe eines SYN Paketes überfordert man mit minimaler Bandbreite einen normalen Webserver. Nach meinen Tests bin ich zu dem Ergebnis gekommen das man mit 15-20kb/s jeden der großen drei Webserver überfordert wenn diese eine nicht gegen SYN-Floods optimierte Konfiguration vorweisen. Getestet wurden Apache2, lighttpd und nginx. Nach dem beenden des Angriffs waren Apache2 und lighttpd wieder nutzbar, nginx war selbst nach einem Neustart des nginx-Daemons immernoch kaputt(Fehlermeldung 502). Hier musste der Komplette Server neugestartet werden. Als Testplatform diente mir ein Hetzner eq4 Rootserver. Die Webserver wurden nacheinander getestet, jedem stand die volle Rechenleistung zur Verfügung.
2.2.2 Bandbreitenbattle
Jeder Server ist mit einer festen Bandbreite an das Internet angeschlossen, meist sind dies 100MBit/s (syncron). Da Bandbreite und Traffic teuer ist, gibt es meist ein bestimmtes Limit(2-5TB/Monat), bei einer Überschreitung wird man auf 10Mbit/sec gesenkt oder man muss Zusatztraffic kaufen.
Gehen wir davon aus das unser Beispielserver mit 100Mbit/sec bei 2Tb pro Monat angeschlossen ist. Wenn wir diesen nun mit 250 Clients a 400KBit/sec angreifen(normaler Upload einer ADSL 6000 Leitung liegt bei ->600) kommen beim Server 250*400=100000=100Mbit/sec an. Somit ist die komplette Bandbreite des Servers dicht und normale Anfragen werden gar nicht durchgestellt. Außerdem wird so relativ schnell die 2TB Grenze erreicht.
Womit greift man hier an?
Ziel ist es möglichst wie Bandbreite zum Server zu kriegen. Was für Pakete gesendet werden ist egal. Jeder Client könnte zum Beispiel einen Haufen Ping Befehle absetzen, das ist die einfachste Möglichkeit. Allerdings werden diese Art von Paketen(ICMP) oft vom Provider verworfen. Ein Simples batch/Shell Script das die Seiten in einer Endlosschleife aufruft bietet sich hier an.
Es gibt viele Faktoren die bei dieser Art von Angriff eine Rolle spielen, aber als grobe Faustformel gillt:Viel hilft viel.
2.2.3 Ausnutzen von Sicherheitslücken
Es gibt eine Menge Tools die automatisiert nach diversen Schwachstellen in jeder Art von Software suchen. Die Livecd Backtrack ist immer einen Blick wert. Backtrack ist ein Linuxsystem das von der CD startet und Tools zum finden und ausnutzen diverser Lücken bereitstellt. Unter anderem kann man nach Lücken in Serversoftware suchen(vsftpd als aktuelles Beispiel) und diese auch ausnutzen, außerdem kann man wunderbar Funknetze und Webseiten scannen