Wieso dieses Tutorial?
Ja um das Gerücht ,dass es kein DDoS-Tool gibt sondern nur DoS-Tools aufzuräumen schreibe ich das Tutorial.
Und ich werde es nur theoretisch beschrieben ,so dass nicht jedes Kind so ein Tool rausbringt.
Es ist eben nur eine Technik.
Benötigtes Wissen:
-Programmierkenntnisse (am besten C)
-Netzwerkkenntnisse
Das OSI-Modell
Ich werde das OSI-Modell nur kurz erleutern.
Weitere Infos gibts im Internet und in Fachlektüren.
Es gibt insgesamt 7 Schichten welche ein Paket überquert.
1. Bitübertragunsschicht
Die Bitübertragungsschicht ist für die physikalische Vermittlung zuständig.
Das ist die unterste Schicht und ist für die Überwachung und den Ab/Aufbau der Bitstream-Kommunikation verantwortlich.
Wer es nicht weiß:
1 byte = 8 bit
2. Sicherungsschicht
Diese Schicht managed die eigentliche Übertragung.
Diese Schicht bietet Funktionen wie Fehlerkorrektur ,Flusssteuerung ,zum AUfbau, Überwachung und Deaktivierung vn Verbindungen.
3. Vermittlungsschicht
Hier wird die Adressierung und das Routing vollzogen.
Hier sitzt auch unser Internet Protokoll(IP).
4. Transportschicht
Auf der Transportschicht liegen die Protokolle wie TCP und UDP.
5. Kommunikationsschicht
Diese Schicht überwacht die Verbindungen und ist für den Aufbau verantwortlich.
Sollte eine Verbindung abbrechen ,wird diese hier wieder aufgebaut ohne dass es der User merkt.
6. Darstellungsschicht
Diese Schicht wandelt die Daten in für das Programm lesbare Zeichen um und entschlüsselt gegebenfalls diese.
SSL sitzt dort zB.
7. Anwendungsschicht
Hier werden die Daten von der Anwendung selber verarbeitet (zB Webbrowser).
Hier wird zB HTTP verabreitet.
Wie funktioniert Syn-Flood?
Bei den gefürchteten Synflood wird ein so genannter Raw-Socket geöffnet.
Raw-Sockets ermöglichen es die Daten des Packets die Daten im Paket zu definieren.
Die wichtigsten Daten hierbei sind die quell-ip und die ziel-ip.
Bei normalen Sockets wird die Quell-IP von alleine definiert.
Und zwar wird da die eigene gesetzt.
Das besondere an Synflood ist ,dass die Quell-IP bei jedem Paket als eine andere definiert wird und der Ziel-Server somit glaubt ,dass die alle mit ihn verbinden wollen.
Das muss alerdings nicht zwingend eine Syn-Attacke sein ,sondern könnte zB auch ein Portscan sein.
Allerdings bauen die keine Verbindung auf und der Server muss auf ein Timeout warten.
Das belastet natürlich.
Dieses Problem wurde zwar mit Syncookies ansatzweise gelöst ,doch der wirklich Grund warum Synflood nicht mehr wirklich in den Bots verfügbar ist ,ist der dass die Veränderung der IP-Headers seit WIndows XP sp3 abgeschaltet sind.
Ist über Umwege zwar noch möglich ,aber das wäre nicht für Malware geeignet.
Die Technik
Ich nenne diese Technik gerne verkehrtes Synflood.
Hat aber nichts mit SYN zu tun.
Hier wird nämlich die Quell-IP zu der des zu attackierenden Server geändert (bleibt also immer gleich) und die Ziel-IP wird entweder durch Zufall oder durch eine Liste bestimmt.
Eine Liste wäre in dem Fall besser ,da logischer Weise ein Dienst lauschen muss.
Also angenommen ich sende solch ein Paket jetzt an einen offenen Port ,denkt das dort lauschende Programm ,dass der zu attackierende Server eine Verbindung aufbauen will und antwortet.
Und somit hat man einen fremden Host dazu gebracht ein Paket zu senden ,ohne diesen zu infizieren.
Wenn man nun mehrere Pakete verteilt ist das nun ein Distributed Denial of Service.
Raw-Sockets können unter XP übrigens mit WinPCAp und unter Linux mit PCAP verwendet werden.
Unter Linux ist es dir als root allerdings trotzdem möglich Raw-Sockets zu verwenden.
Schlusswort
Ich hoffe ich habe das Ganze gut erklährt ,aber trotzdem nicht so genau ,dass es irgendwelche Leute ,die das nötige Wissen dazu nicht besitzen ,diese Technik anwenden können.
Und bei Fehlern bitte ich um eine PM ,so dass ich das dann schnell fixen kann.
Und nicht vergessen:
Nur für Testzwecke verwenden (zB um den eigenen DDoS-Schutz zu testen).
//Edit:
Credits: OpCodez & fuckinghot19