Samstag, 30. August 2008

News

präsentiert von: entwickler.com
Freitag, 16. Juni 2006

About Security #59: Angriffe auf TCP/IP – Hijacking

Wie angekündigt wird diese Woche 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:

  1. Der Angreifer C errät eine gültige Sequenznummer des Opfers B.
  2. Er macht den vertrauenswürdigen Rechner A mit einem SYN-Flooding-Angriff handlungsunfähig.
  3. Er baut eine Verbindung zu B auf, bei der er die Adresse von A als Quelladresse und die erratene Sequenznummer angibt.
  4. B sendet seine Antwort auf das gefälschte Paket an A, der diesmal nicht antwortet.
  5. Der Angreifer C kann ungestört weitere Pakete an B senden, der ihn aufgrund der Quelladresse für den vertrauenswürdigen Rechner A hält.
About Security –
die Themen bisher
Im Abspann dieses Features finden Sie eine Liste mit Links zu den bisherigen Themen.

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.

TCP-Hijacking
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 sog. '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:

Desynchronisation durch RST/SYN-Pakete
  • Der Angreifer sendet ein RST-Paket ('Reset') mit der Adresse des Clients als Quelladresse an den Server, gefolgt von einem SYN-Paket mit neuer initialer Sequenznummer
  • Der Server antwortet mit einem SYN/ACK-Paket mit seiner neuen Sequenznummer
  • Die Verbindung ist nun desynchronisiert und der Angreifer kann seine Pakete einschleusen (s.o.).
Desynchronisation durch Infiltration
Der Angreifer sendet ein Datenpaket mit der Adresse des Clients als Quelladresse und gültiger Sequenznummer an den Server, der es normal verarbeitet (d.h. z.B. enthaltene Befehle ausführt). Danach ist die Verbindung desynchronisiert, da das nächste Paket des Clients mit der bereits 'verbrauchten' Sequenznummer versehen ist.
Angriff ohne Rücksicht auf Verluste ("Take-No-Prisoners", "Simple Hijack")
Ähnlich wie bei der Infiltration wird ein Paket mit Anweisungen in die Verbindung eingeschleust, es gibt aber keinen Tarnungsversuch. Diese Angriffe sind nur bei unaufmerksamen Opfern erfolgreich, da sie durch die danach gestörte Verbindung und die eingeschleusten Anweisungen auffallen.
Zur Tarnung kann an den Client eine fingierte Fehlermeldung des angegriffenen Protokolls ('Session closed' o.ä.) und/oder ein FIN- oder RST-Paket gesendet werden. Auch eine Resynchronisierung der Verbindung kann den Angriff vertuschen.
Übernahme während des Verbindungsaufbaus ("Early Desynchronization")
Der Angreifer antwortet an Stelle des Clients auf ein SYN/ACK-Paket mit einem RST- und einem SYN-Paket; das weitere Vorgehen entspricht dem der Desynchronisation durch RST/SYN-Pakete.

In der nächsten Woche 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!

Carsten Eilers


Ihre Meinung ist uns wichtig!
Mobile Computing Heute & Morgen!
Nehmen Sie an unserer Umfrage zum Thema Mobile Computing in Deutschland teil und nutzen Sie die Chance eine Casio Exilim EX-Z1050-Digitalkamera zu gewinnen!

Konferenzen

BASTA! 2008

BASTA! 2008

22.-26. September 2008
Rheingoldhalle, Mainz

SQLCON 2008

SQLCON 2008

22.-26. September 2008
Rheingoldhalle, Mainz

IPC 2008

IPC 2008

27.-31. Oktober 2008
Rheingoldhalle, Mainz

AJAX IN ACTION 2008

AJAX IN ACTION 2008

28.-31. Oktober 2008
Rheingoldhalle, Mainz

EKON 12

EKON 12

28.-31. Oktober 2008
Congress Centrum, Mainz

W-JAX 2008

W-JAX 2008

3.- 7. November 2008
ArabellaSheraton Hotel München

SOACON 2008

SOACON 2008

3.- 7. November 2008
Arabella Sheraton Hotel, München

JAX Asia 2008

JAX Asia 2008

25.-28. November 2008
Singapore, Kuala Lumpur, Jakarta

Werbung
Top-Jobs

Hueber Verlag GmbH & Co. KG

Webdesigner/ Webprogrammierer (m/w)

OLYMPUS EUROPA Holding GmbH

Web-Entwickler (m/w)

Software & Support Verlag GmbH

Volontär (w/m) Redaktion, Vollzeit

Gebit Solutions

Java Profis gesucht (m/w)

Magazine

Entwickler Magazin - Enterprise Technologies & Business Solutions

Entwickler Magazin

Enterprise Technologies & Business Solutions

dot.net magazin - die unabhängige Quelle für .NET-Technologien

dot.net magazin

Die Quelle für .NET-Technologien

Eclipse Magazin

Eclipse Magazin

Weltweit erstes Magazin für Eclipse-Entwickler

Java Magazin - Internet & Enterprise Technology

Java Magazin

Internet & Enterprise Technology

CREATE OR DIE - Ein Leben für die Kreativität

CREATE OR DIE

Ein Leben für die Kreativität

Business Technology - Management Magazin

Business Technology

Management Magazin

PHP Magazin - Professional PHP Development

PHP Magazin

Professional PHP Development

Bücher


hosted by HostEurope