![]() |
Man-In-The-Middle
Der Man-In-The-Middle-Angriff ist ja allseits bekannt. Nehmen wir z.B. ein asymmetrisches Verahren des Schlüsselaustausches, bei dem öffentliche Schlüssel ausgetauscht werden, also Daten, die ein dritter ruhig auslesen kann, ohne etwas damit anfangen zu können.
Angreifbar ist es aber durch MITM. A will mit B den Schlüssel austauschen. Jedoch mischt sich X ein und gibt sich A gegenüber als B aus und B gegenüber als A aus. Doch frage ich mich, wie ist es Möglich die Identität zu fälschen, bzw. interessiert mich, wie das genau stattfindet? Es müsste ja die IP-Adresse gefälscht werden, doch wie macht man das? Ich beschäftige mich zur Zeit mit diesem Thema und versuche zu verstehen wie ein MITM-Angriff möglich ist. Nur in dem ich dem Schwachpunkt genau verstehe und nachvollziehen kann, wie ein solcher Angriff funktioniert, bin ich in der Lage mein Programm sicherer zu machen. Ich sage dies, um Anschuldigungen über meine "bösen Absichten" vorzubeugen. |
Re: Man-In-The-Middle
Wie du festgestellt hast, muss eigentlich nur X seine IP-Adresse fälschen. Das geht vom Prinzip her problemlos, da die IP-Adresse rein softwarebasiert ist. Unter Windows ist das mit Raw Sockets möglich.
|
Re: Man-In-The-Middle
Was sind die RAW Sockets bzw. wie benutze ich sie?
Ich nehme an, dass man mit den RAW Sockets den IP-Header fälschen kann, aber trotzdem verstehe ich das nicht so ganz. Wenn ich jetzt eine Nachricht z.B. an 192.168.0.1 schicke, geht das Päckchen doch an alle Computer und nur der richtige nimmt es überhaupt an, oder? Ok, ich kann nachvollziehen, dass wenn man ein Packet empfängt dem Empfänger eine falsche IP suggerieren kann, jedoch kann ich nicht nachvollziehen, wie man dem Sender als Empfänger eine falsche IP suggeriert? |
Re: Man-In-The-Middle
Zitat:
Wg. Raw Sockets: Wenn du einen Socket erstellst, gibst du das Protokoll an. So bedeutet SOCK_STREAM TCP und SOCK_DGRAM UDP. Es gibt aber auch SOCK_RAW. Damit hast du Zugriff auf alle Daten deines Pakets, inklusive der Header (zumindest ab der 3. Schicht, die unteren beiden werden wohl von der Hardware übernommen). Wie das genau geht, weiß ich aber auch nicht. Ich hab mich mal vor einiger Zeit auf die Suche nach Informationesmaterial nach Raw Sockets gemacht, hab aber nicht viel gefunden. Vielleicht hast du mehr Glück beim Suchen :thuimb: Edit: Schau mal ![]() Edit2: Vorausgesetzt du kannst italienisch :shock: |
Re: Man-In-The-Middle
Zitat:
Ich meinte, dass wenn man ein Packet sendet(!) dem Empfänger eine falsche IP suggerieren kann. |
Re: Man-In-The-Middle
A würde ja sein Paket mit der IP-Adresse von B versehen. Da du aber in der Mitte sitzt, kannst du alle Pakete abfangen.
|
Re: Man-In-The-Middle
Aber wie kommt man in die Mitte rein? Wenn jetzt z.B: A (z.B. 192.168.0.1) die Verbindung mit B (192.168.0.2) aufbaut, versieht er ja sein Packet mir der IP von B, also 192.168.0.2 . Doch wie kann man jetzt als MITM ein an 192.168.0.2 adressiertes Packet abfangen, wenn man tatsächlich die IP 192.168.0.3 hat.
|
Re: Man-In-The-Middle
Ich habe da ehrlich gesagt wenig Ahnung von...
Aber wäre es nicht möglich das ganze irgendwie über eine lokale DNS-Auflösung zu basteln. Könnte man nicht 192.168.0.1 die Info schicken, dass hinter der URL 192.168.0.2 die IP 192.168.0.3 steckt? Wie hinter google.de die IP 216.239.59.104 steckt. |
Re: Man-In-The-Middle
Zitat:
Der MITM kontrolliert einen der Router, der auf dem Weg liegt. |
Re: Man-In-The-Middle
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz