In meinem letzten Livestream, habe ich mich mit einem DDoS Angriff beschäftigt und dazu HPING3 benutzt. Dabei musste ich feststellen das Blogseitig dazu recht wenig beschrieben ist. Also jeder hat schon mal von DDoS gehört und hat mitbekommen das Firma XY von getroffen worden ist. Jetzt hier kurz beschrieben was DDoS ist und wie man selber einen kleinen Angriff starten kann.

Was ist DDoS? (Distributed Denial of Service)

DDoS Angriff. Kommunikation
DDoS Kommunikation

DDoS beschreibt den Angriff auf einen Dienst im Netzwerk oder Internet. Dabei wird mit “Distributed” (Verteilt) Kapazitäten gearbeitet. Also es werden mehrere Server / Computer gleichzeitig verwendet einen Ziel Dienst zum Absturz oder zur Nicht-Verfügbarkeit zu zwingen. Man kann auch von einer Überlastung sprechen was zu einer eingeschränkten Verfügbarkeit führt.

Mal ein einfaches Beispiel:

Ihr habt 20 Computer und seit auf dieser Internetseite hier und Ihr drückt dauerhaft die F5 Taste (Aktualisieren), um diese neuzuladen. Damit werden von 20 Computern hunderte Anfragen an den Server versendet und dieser muss diese beantworten. Wenn das überhand nimmt, kommt der Server nicht mehr hinterher und reagiert entsprechend langsam oder stellt den Dienst ein.

In dem Beispiel muss man sich das jetzt nur von 2000 PCs vorstellen die dauerhaft F5 drücken, dann geht sicherlich einiges in die Knie.

DDoS vs. DoS

DoS (Denial of Service) ist eigentlich nur der Begriff für eine NICHT-VERFÜGBARKEIT eines Dienstes, welcher eigentlich Verfügbar sein sollte. Meistens liegt es an einer Überlastung des Dienstes.

DDoS (Distributed Denial of Service) beschreibt den Angriff auf einen Dienst von vielen Quellen aus. Heißt aber auch, das blockieren eines Angreifers löst nicht das Problem, denn es existieren viele Quellen mit vielen unterschiedlichen Anfragen/Angriffen an den Dienst.

Hping3 Beispiele

Hping3 kann aus vielen Internetquellen aus installiert werden oder ist z.B. beim Kali Linux schon direkt mit dabei.

TCP SYN Flood

Mit dem Angriff werden sehr viele TCP Sessions zum Server geöffnet (SYN) und der Angreifer ignoriert alle möglichen Antworten SYN-ACKs vom Server.

Dabei kann ein Server nur begrenzt Verbindungen offen halten und kann hierdurch überlastet werden, bzw. kann keine weiteren Anfragen mehr annehmen.

root@kali:~# hping3 -d 120 -S -w 64 -p <ZIEL-PORT> --flood --rand-source <ZIEL-IP / DNS-Namen>

Das löst einen TCP SYN Flood von willkürlich gewählten IP Adressen aus. Das Zielsystem kann evtl. wegen einer Überlastung geöffneter Verbindungen nicht mehr auf weitere Anfragen reagieren. Der Dienst wäre somit nicht mehr erreichbar.

UDP Flood

UDP ist bekanntlich keine Session basierte Kommunikation, sondern sehr einseitig. Es werden gnadenlos einfach Pakete zum Ziel gesendet, in der Hoffnung, dass diese auch dort ankommen.

root@kali:~# hping3 --flood --rand-source --udp -p <ZIEL-PORT> <ZIEL-IP / DNS-Namen>

TCP Fin Flood

TCP Fins werden eigentlich vom Server nur akzeptiert wenn eine Verbindung bereits besteht. Aber trotzdem braucht dieser eine gewisse Rechenkapazität, um auf diese Pakete antworten zu können. Wird ihm das zu viel, kommt er nicht mehr hinterher und kann “echte” Anfragen eventuell nicht mehr bedienen.

root@kali:~# hping3 --flood --rand-source -F -p <ZIEL-PORT> <ZIEL-IP / DNS-Namen>

PUSH and ACK Flood

Durch Überfluten eines Servers mit einer Reihe von PUSH- und ACK-Paketen kann der Angreifer verhindern, dass der Server auf die legitimen Anforderungen reagiert.

root@kali:~# hping3 --flood --rand-source -PA -p <ZIEL-PORT> <ZIEL-IP / DNS-Namen>

ICMP Flood

ICMP (z.B. Ping) ist auch eine verbindungslose Kommunikation und zielt einfach nur darauf ab das Ziel mit Überforderung auszuschalten.

root@kali:~# hping3 --flood --rand-source -1 -p <ZIEL-PORT> <ZIEL-IP / DNS-Namen>

Smurf Attacke

Als Guter letzt gibt es noch die Smurf Attacke. Diese nutzt die Kraft noch weiterer Server / Clienten im Netz des Ziels aus. Es wird mit Hilfe der Broadcast-Adresse eine Anfrage ans Netz versendet, was alle im Netzwerk anspricht und danach bittet das Ziel mal an zu pingen. Passiert das im großen Stil, kommen von vielen im Netzwerk befindlichen Servern / Clients eine große Anzahl an Antworten.

root@kali:~# hping3 --icmp --spoof <ZIEL-IP / DNS-Namen> <BROADCAST_IP>

Fazit

Ihr seht man kann auf vielen Wegen versuchen einen Server in die Knie zu zwingen. In diesen vielen Beispielen wird immer davon ausgegangen, das dass Ziel an einer Überlastung leidet oder gar dadurch seinen Dienst beendet. Trotzdem werden eigentlich immer mehrere Quellen benötigt, um einen wirksamen Angriff durchführen zu können.


Das könnte dich auch Interessieren:

ZFS erklärt: Alle Funktionen des Dateisystems im Überblick
Spannende Raspberry Pi Projekte, Ideen und Tipps
Die ersten 1000 YouTube Abonnenten. Wie hab ich es geschafft?

Habe ich etwas vergessen? Fehlen dir noch Informationen? Benötigst du trotzdem noch Hilfe bei deinem Anliegen? Dann schreib mir eine private Nachricht oder poste es hier direkt in die Kommentare.

Dennis Schröder