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 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?
29. März 2022 um 13:45 Uhr
Hallo, bei einem Test mit hping3 wurde auch die Netzwerkverbindung zu meinem Router unterbrochen. Erst nach einem neustart des Routers konnte ich weiterarbeiten. Hast du eine Lösung dafür?
30. Mai 2022 um 15:01 Uhr
Ich hab´ vom WLAN aus einen DoS auf die Fritzbox 7590 AX gestartet(SYN-Flood, Paketgröße 120 Bytes). Die Fritzbox schmiert danach komplett ab und startet erst wieder, wenn der Angriff beendet wird.
Ist die Fritzbox 7590 AX einfach kacke oder was?