Programming lesson
Wireshark-Tutorial zur Netzwerksicherheit: Analyse von DHCP, ARP-Spoofing und Man-in-the-Middle-Angriffen
Lerne in diesem praxisnahen Tutorial, wie du mit Wireshark Netzwerkangriffe wie ARP-Spoofing und SSL-Stripping erkennst. Ideal für CSCI 180 – Computer Security und alle, die Packet-Analyse verstehen wollen.
Einführung in die Netzwerkanalyse mit Wireshark
In der heutigen vernetzten Welt ist die Netzwerksicherheit ein zentrales Thema. Ob beim Online-Banking, Social Media oder beim Streamen von Videos – stets fließen Datenpakete durch das Netz. Mit Tools wie Wireshark kannst du diese Pakete analysieren und verstehen, wie Angreifer vorgehen. Dieses Tutorial orientiert sich an typischen Aufgaben aus dem Kurs CSCI 180 – Computer Security und zeigt dir Schritt für Schritt, wie du DHCP, ARP und Man-in-the-Middle-Angriffe erkennst.
Grundlagen der Packetanalyse
Bevor wir in die Tiefe gehen, wiederholen wir kurz die wichtigsten Protokolle. DHCP (Dynamic Host Configuration Protocol) weist Geräten automatisch IP-Adressen zu. ARP (Address Resolution Protocol) übersetzt IP-Adressen in MAC-Adressen. Ein Angreifer kann ARP nutzen, um sich zwischen zwei Kommunikationspartner zu schalten – das klassische ARP-Spoofing. Aktuelle Beispiele aus der Praxis zeigen, dass solche Angriffe selbst in öffentlichen WLANs vorkommen. Stell dir vor, du bist in einem Café und nutzt das kostenlose WLAN – ein Angreifer könnte deine Daten abfangen, ohne dass du es merkst.
Teil A: Analyse der Datei p1.pcap
DHCP-Server und IP-Vergabe
Öffne die Datei p1.pcap in Wireshark. Verwende den Filter dhcp oder bootp, um die DHCP-Pakete anzuzeigen. Der DHCP-Server, der die IP-Adressen vergibt, hat eine bestimmte IP – notiere sie dir. Für die MAC-Adressen 08:00:27:8F:4C:61, 08:00:27:76:1F:7C und 08:00:27:0C:66:53 findest du in den DHCP-Acknowledgement-Paketen die zugewiesenen IPs. Nicht alle Geräte beziehen ihre IP per DHCP – manche haben eine statische IP. Das erkennst du daran, dass kein DHCP-Paket für sie existiert.
SYN-Scans und Portabfragen
Zwischen den Frames 120 und 2121 sowie 2241 und 4250 werden viele SYN-Pakete gesendet. Das ist typisch für einen Portscan. Der Absender möchte herausfinden, welche Dienste auf dem Ziel laufen. Ein SYN-Paket ist der erste Schritt im TCP-Handshake. Wenn der Ziel-Port offen ist, antwortet er mit SYN-ACK. Ist er geschlossen, kommt ein RST. Die SYN-Pakete zwischen 120 und 2121 könnten offene Ports identifizieren, die späteren zwischen 2241 und 4250 vielleicht sogar die Betriebssystem-Identifikation (Fingerprinting) durchführen. Achte auf die Antwortpakete – SYN-ACK oder RST – und notiere dir die neuen Informationen.
ARP-Protokoll und ARP-Flooding
In den Frames 4365–4368 siehst du eine normale ARP-Anfrage und -Antwort. Der Zweck von ARP ist es, die MAC-Adresse zu einer IP zu finden. Der Absender möchte wissen, wer die IP xxx.xxx.xxx.xxx hat. Ab Frame 4371 beginnt ein ARP-Flooding: Ein Gerät sendet massenhaft ARP-Replys, ohne dass eine Anfrage vorlag. Das ist verdächtig! Der Angreifer will damit die ARP-Tabelle der anderen Geräte manipulieren. Finde heraus, welcher Client (IP und MAC) betroffen ist – vermutlich der, dessen IP der Angreifer vorgibt zu sein. Der Angreifer selbst hat eine eigene MAC und IP, die du aus den Ethernet-Headern extrahieren kannst.
HTTP-Dokumentenabruf und Interception
Ein Client lädt ein Dokument per HTTP herunter. Der Angreifer könnte dieses Dokument abfangen, da er durch das vorherige ARP-Spoofing im Datenstrom sitzt. Prüfe, ob die Pakete vollständig sind oder ob der Angreifer die Verbindung unterbrochen hat. Der Media-Type des Dokuments steht im Content-Type-Header – z.B. application/pdf. Der Client merkt normalerweise nichts von der Interception, da der Angreifer die Daten weiterleitet. Für die Extra-Credit-Aufgabe: Versuche, das Dokument aus den TCP-Streams zu rekonstruieren. Gehe zu File → Export Objects → HTTP und speichere die Datei. Öffne sie dann, um das Veröffentlichungsdatum und den Titel auf Seite 25 zu finden.
Teil B: Man-in-the-Middle mit SSLStrip (p2.pcap)
ARP-Spoofing erkennen
Öffne p2.pcap. Ab Paket 3 siehst du ARP-Pakete, die den Angreifer verraten. Der Angreifer gibt vor, der Gateway zu sein (eine bestimmte IP). Der Victim ist das Ziel dieser Spoofing-Pakete. Die tatsächliche IP des Angreifers findest du, indem du nach seiner MAC suchst – verwende den Filter arp und schaue in die Sender-IP-Adresse der ARP-Replys. Notiere dir alle Adressen.
Google-Suchanfrage extrahieren
Ab Paket 11 beginnt der Victim zu surfen. Die Pakete 11–168 enthalten die Google-Suchanfragen. Suche nach dem Parameter q= in den HTTP-Requests. Der letzte Query-String vor dem Ende der Instant-Search-Phase (z.B. in Frame 162) ist die vollständige Suchanfrage. Verwende den Filter http.request.uri contains "q=" und folge dem TCP-Stream.
HSTS und HTTPS-Handshake
Nach Google besucht der Victim eine Website mit HSTS (Strict Transport Security). Suche nach SSL-Handshake-Paketen mit dem Filter ssl.handshake.type == 2. In der Nähe findest du den HTTP-Request mit der Domain. Der SSL-Handshake in den Frames 1303–1322 findet zwischen dem Angreifer und der Website statt, nicht zwischen Victim und Website – der Angreifer terminiert die TLS-Verbindung und leitet sie unverschlüsselt an den Victim weiter. Das ist das Prinzip von SSLStrip.
Passwort-Diebstahl
In Frame 3284 siehst du einen HTTP-POST-Request. Dort stehen die Login-Daten des Victims im Klartext. Extrahiere den Benutzernamen und das Passwort aus dem Body des Requests. Verwende den Filter http.request.method == POST und folge dem Stream.
Fazit und Ausblick
Mit diesen Techniken kannst du grundlegende Netzwerkangriffe analysieren und verstehen. In der heutigen Zeit, in der Cybersecurity immer wichtiger wird – sei es durch Hackerangriffe auf Unternehmen oder Phishing im Alltag – sind solche Fähigkeiten Gold wert. Übe weiter mit eigenen Captures oder nutze Übungsseiten wie pcapr.net. Denk daran: Nur weil du die Angriffe kennst, heißt das nicht, dass du sie selbst durchführen darfst. Verwende dein Wissen ethisch und schütze Netzwerke.
Häufige Fragen (FAQ)
- Wie filtere ich nach DHCP in Wireshark? Verwende den Filter
dhcpoderbootp. - Was ist der Unterschied zwischen ARP-Request und ARP-Reply? Ein Request fragt nach der MAC zu einer IP, ein Reply gibt die Antwort.
- Wie kann ich mich vor ARP-Spoofing schützen? Nutze statische ARP-Einträge oder VLANs.
- Warum ist SSLStrip gefährlich? Weil der Benutzer eine verschlüsselte Verbindung sieht (https in der Adresszeile), obwohl die Daten im Klartext übertragen werden.