Was ist eine Man-In-the-Middle Attack?
Dieses Tutorial erklärt Dir, wie der Angriff funktioniert und wie Du Dich davor schützen kannst.
Starten wir!
- 1 Was ist Man-In-the-Middle?
- 2 Spoofing erklärt
- 3 Man-In-The-Middle Folgen
- 4 Wireshark Tutorail
- 5 Wie schütze ich mich vor MITM?
- 6 HTTP Traffic analysieren
-
7
Bonus: Tipps Wireshark
- 7.1 1. Filter richtig einsetzen
- 7.2 2. Profile anlegen
- 7.3 3. Farbfilter nutzen
- 7.4 4. Protokollhierarchie überprüfen
- 7.5 5. „Follow Stream“-Funktion
- 7.6 6. DNS-Auflösung aktivieren
- 7.7 7. Experteninformationen nutzen
- 7.8 8. Exportiere und analysiere
- 7.9 9. Performance-Statistiken
- 7.10 10. Sicherheit beachten
Was ist Man-In-the-Middle?
Die Software Wireshark ist ein Netzwerkanalyse-Tool, welche den Netzwerkverkehr mitschneiden kann. Die Datenpakete bereitet das Tool visuell auf, damit Admins Netzwerkprobleme entdecken können.
Software Typ – Sniffer
Die Software Wireshark gehört zu den Sniffern. Sniff (deutsch: schnüffeln) bedeutet, dass das Tool den gesamten Internet-Traffic im Netzwerk überwacht und mitschneidet kann.
Das Tool kann im Promiscuous-Mode den gesamten Internet-Traffic im LAN mitschneiden, welches für andere Geräte bestimmt ist z. B. Dein Smartphone.
Der Router sendet in der Regel die empfangenen IP-Pakete an alle Geräte. Jedes Gerät hat eine MAC-Adresse. Stimmt die eigene MAC-Adresse mit den eingehenden IP-Paketen überein, dann verarbeitet die Netzwerk-Karte des Geräts das Paket.
Wann ist Sniffing erlaubt?
Ethical Hacker und Netzwerk-Admins nutzen ein solches Tool mit der Genehmigung des Unternehmens. Privat darfst Du ein solches Tool auch einsetzen, wenn Du Dein eigenes Netzwerk verwendest.
Wireshark ist ein Dual Use Tool. Du kannst damit Bugs finden, aber auch nutzen, um Leute abzuhören.
Spoofing erklärt
Das Spoofing (deutsch: Manipulation) ist in diesem Kontext das absichtliche Verändern oder Fehlleiten von IP-Paketen.
Der Angreifer versucht unbemerkt IP-Pakete auszutauschen (Intercepting), sodass das Opfer meint, dass der Inhalt z. B. eine Webseite von einer zertifizierten Quelle stammt.
Diese Arten von Spoofing gibt es:
- IP-Spoofing
Ein Hacker übermittelt Dir HTML, CSS und JavaScript einer präparierten, gehackten Webseite und fälscht hierzu die IP, sodass diese „echt“ aussieht. - DNS-Spoofing
Ein Hacker versucht die Anfrage von z. B. Deine Bank Webseite auf seinem Server umzuleiten, sodass das Opfer auf einer gefälschten Webseite die Passwörter eingibt. Die DNS wandelt eine URL „postbank.de“ zu einer IP „160.83.8.182“ um. - E-Mail-Spoofing
Das Protokoll SMTP ist nicht sicher und benötigt keine Authentifizierung. Deshalb kann der Hacker einfach den Kopf der Mail austauschen und sich als eine Autoritäts-Person ausgeben. Diese Art von Spoofing nutzen Spam-Mailer und Hacker, die Passwörter abgreifen wollen. - ARP Spoofing
Das Address Resolution Protokoll (ARP) dient dazu, ein Netzwerkgerät in einem LAN-Netz zu erkennen: Via MAC-Adresse melden sich die Geräte beim Rooter an und dieser leitet die Daten weiter. Wenn der Hacker Ihre MAC-Adresse manipulieren und sich als ein anderes Gerät ausgeben, kann der Rooter nach einem ARP-Poisoning die Pakete fehlleiten.
Man-In-The-Middle Folgen
Stell Dir vor, Du gehst in ein Café und bestellst Dir ein Latte-Macchiato.
Aus Langeweile (und gut eingeübter Routine) ziehst Du Dein Smartphone aus der Tasche und fängst an zu tippen. Da heute der 30. des Monates ist und Du an Daten sparen willst, suchst Du nach einem öffentlichen W-LAN.
Du logst Dich in das nächst beste W-LAN mit gutem Signal ein und akzeptierst die AGBs.
Schon mal die AGBs gelesen? Ist Herausgeber vertrauenswürdig? Ist CafeWlan auf wirklich vom Café?
Steffen Lippke
Im Café kann ein Hacker sitzen und ein W-LAN Hotspot mit den Namen „Café am Bahnhof“ eingerichtet haben. Mit einem Sniffer wie Wireshark überwacht der Böse Deine Internet-Aktivitäten.
Falls Du ungeschütztes HTTP nutzt, kann der Hacker alles sehen, was Du machst, und kann mitlesen. Falls Du eine Webseite mit TSL (alt: SSL) verschlüsselte Webseiten nutzt, kann der Hacker nicht mehr sehen, was die Inhalte sind. Stattdessen sieht der Hacker nur die URLs.
Dieses Szenario nennt sich Man-In-The-Middle Attack.
Wireshark Tutorail
Wie wir jetzt schon gelernt haben, schneidet Wireshark alles mit, was über das LAN-Kabel oder W-LAN Modul läuft. Die riesigen Datenmengen, die Synchronisation von Clouds, E-Mail-Programme oder Browser anfallen, stellt das Tool Paket für Paket dar. Ein Paket enthält je nach Größe eine sehr kleine Menge an Daten.
Verkehr überwachen
Wenn Du google.de in die URL-Leiste im Browser eingibst und dann Enter drückst, downloadet der Browser hunderte von Frames (Internet-Pakete). In Wireshark kann der Nutzer die Übersicht über die Anzahl an Frames verlieren, da 100+ pro Sekunde auf den Admin einprasseln.
Einfach mal filtern
Aus diesem Grund stellt Wireshark Masken zur Verfügung, mit dem der Nutzer die interessanten Pakete anzeigen lassen kann.
Filtere nach HTTP, indem Du oben in die Suchleiste HTTP eingibst.
Wie schütze ich mich vor MITM?
Nutze statt einem unbekannten W-LAN, Deine Mobile Daten (auch wenn es Geld kostet).
Du kannst Dir nie zu 100 % sicher sein, wer das WLAN betreibt oder wer nicht.
Jeder kann sein Handy nehmen, sich in ein Café setzen, die Mobilen Daten aktivieren, einen Hotspot ohne Passwort eröffnen und das W-LAN „Kaffeehaus Public“ nennen. Allen ungeschützten Traffic kann der Kriminelle überwachen.
Wenn Du trotzdem ein öffentliches W-LAN nutzen willst, achte auf eine Ende-zu-Ende-Verschlüsselung, die mit TSL realisiert ist. Im Browser erkennst Du TSL an „https“ oder einem grünen Schloss.
HBanking oder andere Geldtransaktionen solltest Du nie in einem öffentlichen WLAN machen, sondern nur mit einem Tails-Live-USB, der aktuell ist.
Steffen Lippke
HTTP Traffic analysieren
Die Analyse von HTTP-Traffic mit Wireshark ist ein effektiver Weg, um den Datenverkehr zwischen einem Client (z. B. Browser) und einem Server (z. B. Website) zu verstehen. Hier ist ein einfacher Leitfaden:
1. Erfassung starten
Beginne mit dem Start der Erfassung auf der Netzwerkschnittstelle, über die der Datenverkehr läuft (z. B. Ethernet oder WLAN). Achte darauf, den Capture-Filter auf HTTP-Traffic einzuschränken, indem du port 80
verwendest. Falls HTTPS verwendet wird, kannst du den Traffic nicht direkt einsehen, da er verschlüsselt ist.
2. Filter anwenden
Nach der Erfassung kannst du den Display-Filter http
nutzen, um nur HTTP-Pakete anzuzeigen. So siehst du nur relevante Daten und vermeidest unnötigen Datenverkehr wie ARP- oder DNS-Anfragen.
3. HTTP-Streams verfolgen
Um die Kommunikation zwischen Client und Server besser zu verstehen, wähle ein HTTP-Paket aus, klicke mit der rechten Maustaste darauf und wähle „Follow TCP Stream“. Dadurch wird die gesamte Anfrage und Antwort sichtbar (z. B. GET- oder POST-Anfragen sowie die Serverantworten).
4. Header und Inhalte analysieren
- HTTP-Header: Sie enthalten wichtige Informationen wie die Methode (z. B. GET, POST), den Statuscode (z. B. 200 OK oder 404 Not Found) und zusätzliche Felder wie
User-Agent
oderContent-Type
. - Dateninhalt: Bei Anfragen oder Antworten mit einem Body (z. B. bei POST oder bei HTML-Seiten) kannst du den eigentlichen Inhalt untersuchen.
5. Dateien extrahieren
Wenn HTTP verwendet wird, um Dateien (z. B. Bilder oder PDFs) zu übertragen, kannst du unter File > Export Objects > HTTP Dateien extrahieren, die im Datenverkehr enthalten sind.
6. Fehler oder Auffälligkeiten identifizieren
- Schaue nach HTTP-Fehlercodes wie 404 (Not Found), 500 (Internal Server Error) oder 301 (Redirect).
- Analysiere ungewöhnlich große Anfragen oder Antworten, die auf mögliche Probleme oder Angriffe hinweisen könnten.
7. Optional: HTTPS-Traffic entschlüsseln
Wenn HTTPS-Traffic analysiert werden muss, ist eine zusätzliche Einrichtung nötig. Mit Zugriff auf die privaten Schlüssel des Servers (z. B. bei eigenen Testservern) kannst du unter bestimmten Umständen den verschlüsselten Verkehr entschlüsseln.
Mit diesen Schritten kannst du HTTP-Traffic gezielt analysieren und Probleme wie langsame Ladezeiten, fehlerhafte Anfragen oder Sicherheitslücken aufdecken.
Bonus: Tipps Wireshark
Hier sind die 10 besten Tipps zur Nutzung von Wireshark, um Netzwerke effizient zu analysieren:
1. Filter richtig einsetzen
- Capture-Filter: Reduziert die Menge an erfassten Daten (z. B.
port 80
für HTTP-Traffic). - Display-Filter: Hilft, die angezeigten Daten zu durchsuchen (z. B.
ip.src == 192.168.1.1
). - Häufig verwendete Filter wie
tcp
,udp
,dns
oderhttp
erleichtern die Arbeit.
2. Profile anlegen
- Erstelle Benutzerprofile mit spezifischen Einstellungen für verschiedene Netzwerkanalysen.
- Profile können Filter, Farben und Spaltenlayouts enthalten.
3. Farbfilter nutzen
- Nutze Farbfilter, um Pakete hervorzuheben, z. B. rot für Fehler oder grün für erfolgreiche Verbindungen.
- Definiere Farben in Edit > Coloring Rules.
4. Protokollhierarchie überprüfen
- Unter Statistics > Protocol Hierarchy siehst Du, welche Protokolle wie oft verwendet werden. Ideal für eine schnelle Übersicht.
5. „Follow Stream“-Funktion
- Mit Rechtsklick > Follow TCP Stream kannst Du die Kommunikation zwischen zwei Hosts nachvollziehen.
- Funktioniert auch für HTTP, UDP und andere Protokolle.
6. DNS-Auflösung aktivieren
- Aktiviere die DNS-Auflösung unter View > Name Resolution, um IP-Adressen automatisch in Hostnamen zu übersetzen.
- Vorsicht: Kann bei großen Datenmengen Leistung kosten.
7. Experteninformationen nutzen
- Unter Analyze > Expert Information erhältst Du eine Zusammenfassung von Anomalien, Fehlern und Warnungen im Datenverkehr.
8. Exportiere und analysiere
- Exportiere erfasste Daten in verschiedenen Formaten (z. B.
.pcap
oder.csv
) für die Nachbearbeitung mit anderen Tools. - Nutze File > Export Objects, um Dateien wie Bilder oder Dokumente aus HTTP-Traffic zu extrahieren.
9. Performance-Statistiken
- Mit Statistics > IO Graphs kannst Du die Datenrate über die Zeit visualisieren.
- Ideal zur Identifikation von Spitzen oder ungewöhnlichem Traffic.
10. Sicherheit beachten
- Arbeite nur mit verschlüsselten Protokollen (z. B. HTTPS), um sensible Daten zu schützen.
- Setze Wireshark auf sicheren Testsystemen ein, da es tiefgehenden Netzwerkzugriff benötigt.