Freitag, 10. September 2010 |
| |
In dieser Folge wird das Beispiel aus About Security #57 zu Ende geführt und das Hijacking von TCP/IP-Verbindungen beschrieben. Um den in About Security #57 beschriebenen Angriff zu vollenden, kann ein SYN-Flooding-Angriff (s. About Security #58) zum Ausschalten des vertrauenswürdigen Rechners A verwendet werden:
N E U ! Security
aktuell
Täglich aktuelle Security-Infos!
Da B die Antworten weiter an A sendet, kann C eine mögliche Änderung in den Sequenznummern von B nicht erkennen. Der Angriff muss also möglichst schnell abgeschlossen werden. Meist wird sofort eine Hintertür eingerichtet, über die dann ungestört weitere Aktionen durchgeführt werden können.
Beim TCP-Hijacking (passender ist TCP-Connection-Hijacking) schaltet sich der Angreifer in eine bestehende Verbindung ein. Dazu belauscht er den Datenverkehr und übernimmt in einem geeigneten Moment die Kontrolle über eine ausgewählte Verbindung, indem er entsprechend manipulierte TCP-Pakete an die Kommunikationspartner sendet. Ziel eines solchen Angriffs ist z.B. die komplette Übernahme der Verbindung einschließlich Abhängen eines der Kommunikationspartner, das Einschleusen von Befehlen oder das Umgehen von Schutzmaßnahmen.
Vor dem Angriff: Sniffen
Voraussetzung für ein TCP-Hijacking ist das Belauschen (Sniffen) der
Pakete mindestens eines der Opfer. Beim Sniffen werden Pakete, die für
einen anderen Empfänger bestimmt sind, nicht wie vorgesehen verworfen,
sondern ausgewertet. Am einfachsten geht dies bei über einen Hub
verbundenen Rechnern. Da der Hub alle empfangenen Pakete an alle
angeschlossenen Rechner weiterleitet, kann ein Rechner, dessen
Netzwerkkarte
in den so genannten 'Promiscous-Mode' versetzt
wurde,
auch die nicht
für ihn bestimmten Pakete auswerten. Der Angreifer erfährt aus
diesen Paketen zum einen, wann eine für ihn interessante Verbindung
aufgebaut wird. Dies kann z.B. eine Telnet-Sitzung sein, in die er
eigene
Befehle einschleusen möchte. Zum anderen erfährt er die
Sequenznummern, die er zum Einschleusen seiner Pakete in die bestehende
Verbindung benötigt.
Es geht los: Verbindung stören, Pakete einschleusen
Der erste Schritt des Angriffs besteht darin, die Verbindung zu
desynchronisieren. Eine Desynchronisation liegt vor, wenn die
Sequenznummer
eines empfangenen Pakets nicht mit einer erwarteten Sequenznummer
übereinstimmt. Nach der Desynchronisation kommt es zu einem
'ACK-Storm': Die Kommunikationspartner erkennen
falsche
Sequenznummern, verwerfen die empfangenen Pakete und fordern mit
ACK-Paketen die 'richtigen' Pakete (d.h. die mit der erwarteten
Sequenznummer) an. Eine Kommunikation ist so natürlich nicht
möglich.
Der Angreifer kann den ACK-Storm begrenzen, indem er selbst die falschen Pakete bestätigt (acknowledget). Er kann auch als Vermittler arbeiten, indem er die Pakete 'übersetzt' (also gültige Sequenznummern einträgt) und ansonsten unverändert weiterleitet, oder aktiv in die Kommunikation eingreifen und die Nutzdaten nach seinen Wünschen manipulieren.
Der Angreifer wartet bis zum gewünschten Zeitpunkt, z.B. nach dem erfolgreichen Telnet-Login, und startet dann den Angriff. Dazu stehen ihm mehrere Möglichkeiten zur Verfügung:
In der nächsten Folge wird die Beschreibung des TCP-Hijackings fortgesetzt. Dann geht es u.a. um das ARP-Spoofing, durch das auch geswitchte Netzwerke belauscht werden können.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!
About Security – Übersicht zum aktuellen Thema "Angriffe auf TCP/IP"