Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Vertiefung in Wireshark
Informationsquellen zu Wireshark
Wireshark spezifische Informationsquellen und Beispiel-Capture-Dateien
- https://ask.wireshark.org/ → Wissensdatenbank
- https://wiki.wireshark.org/ → Wiki zu Wireshark (hier sind auch Samples)
Weitere Informationsquellen zu Netzprotokollen
- RFC-Datenbank: http://www.rfc-editor.org/
- IP-Verwaltung: https://apps.db.ripe.net/search/query.html
Wichtige Einstellungen
Edit → Preferences → Name Resolution
Resolve MAC addresses: DISABLE (default: ENABLE)
Ist Geschmacksache; Schnittstellenhersteller wird dann nicht mehr angezeigt.
Use external network name resolver: DISABLE (default: ENABLE)
Hostnamen werden nicht mehr per DNS aufgelöst; vermindert Traffic im Netz
Resolve transport names: ENABLE (default: DISABLE)
Protokollnamen werden anhand der Ports aufgelöst.
Optional: GeoIP database directories
: Datenbank einbinden DB unter http://dev.maxmind.com/geoip/geolite runterladen und auspacken. In wireshark
einbinden Zeigt den Standort der IP an.
????BILD????
Profile
Hat man sich besondere Einstellungen oder Filter erarbeitet, so kann man diese in einem eigenen Profil abspeichern, um sie später wiederzuverwenden. Rechtsklick am unteren rechten Rand des Programmfensters auf Profile: Default
.
????BILD????
Umgang mit Filtermöglichkeiten
Wireshark kennt im wesentlichen drei Filterebenen:
wiretap
→ Quelle Datenträger mit Kommentarfunktionen (aufgezeichnete Caputures)dumpcap
→ Live-Capture über Schnittstellen; Capture-Filter wirken bereits zur AufnahmeCoreengine
→ Dissectoren; Plugins über LUA-Scripte; Display-Filter wirken nur auf Anzeige
Bei den Filtern sollte darauf geachtet werden, wie viele Daten anfallen. Bei Langzeitmitschnitten sollte man mit Capture-Filtern Pakete verwerfen, die nicht von Interesse sind. Will man das Netz analysieren, sollten hingegen mit Display-Filtern gearbeitet werden, da diese Pakete dynamisch ein- und ausblenden, ohne diese zu verwerfen.
Jedes Protokollfeld kann als Filter verwendet werden. Oft kennt man nicht den genauen Dissectornamen bzw. die Struktur in der Wireshark diese abgelegt hat.
TIPP: Mit einem Rechtsklick auf das betreffende Feld kann man dieses als Filter einfügen Apply as Filter Selected
. Dabei stehen mehrere Möglichkeiten zur Wahl. Mit Prepare a Filter wird der Wert nur in den Filter übernommen, aber noch nicht aktiviert. Durch Not
oder …and Selected
lassen sich so komplexe Filter zusammenbauen.
????BILD????
Eine weitere Möglichkeit ist das Hinzufügen von Protokollfeldern als Anzeigespalte. Dies geschieht ebenfalls mittels Rechtsklick und Apply as Column
.
Hierdurch ist es möglich wie bei Listen üblich die neue Spalte als Sortierkriterium auszuwählen. Damit kann man vor allem in großen Paketmengen sehr leicht Häufungen von Protokollinhalten erkennen.
Conversations
ist ebenfalls eine sehr interessante Informationsquelle. Dieses Menü befindet sich unter Statistics → Conversations
. Der Dialog ist mit Reitern für die unterschiedlichen mitgeschnittenen Protokolle versehen. Auf jedem Reiter werden die Detailinformationen zu den erkannten Kommunikationsbeziehungen aufgeführt (Anzahl Pakete, Bytes; Dauer etc.). Aus dieser Tabelle lassen sich Rückschlüsse über das lokale Netz machen. Welche PCs verwenden ARP
oder NetBIOS
? Diese können nur im lokalen Netz sein, in dem sich der Wireshark-PC befindet. Über die Ethernet-Tabelle lassen sich Schnittstellen finden, die per Filter auf weitere Kommunikationsbeziehungen untersucht werden können.
PCs mit hohem Paketaufkommen deuten auf Server hin usw.
TIPP: Auch in diesem Dialog funktioniert Rechtsklick und Apply as Filter
.
TIPP: Hat man im mittleren Packet Details-Bereich ein Protokollfeld ausgewählt, so wird der von Wireshark verwendete Feldname in der Statuszeile unten links angezeigt.
????BILD????
Links neben diesem Feld befindet sich ein grün, gelb oder roter Kreis, der Auskunft über den Zustand des sogenannten Expertensystem gibt. Dieses kann ebenfalls zu Analysezwecken herangezogen werden. Wireshark verfügt über eine Heuristik, die auf Unregelmäßigkeiten aufmerksam macht. Hierdurch kann man schnell zu Fehlern oder Warnings navigieren.
Eine weitere Informationsquelle ist die Statistics → Protocol Hierarchy
. Hier werden alle mitgeschnittenen Protokolle nach ihrer Häufigkeit aufgeführt. Auch hier lassen sich Unregelmäßigkeiten entdecken. Z.B. Warum werden viele ARP
-Anfragen durchgeführt, wenn nur wenige IP-Adressen aktiv sind?
Speicherorte
Wireshark speichert seine Konfiguration an verschiedenen Stellen im System. Diese können über den Help → About Wireshark → Folders
angezeigt werden.
Will man globale Profile oder Konfigurationen vornehmen, so geschieht dies unter Linux im Ordner
/usr/share/wireshark
Hier liegen u.a. die Dateien:
- dfilters
: enthält einige Basis Filter
- colorfilters
: enthält die Farbregeln für die unterschiedlichen Protokolle
Weitere interessante Tools
tshark
→ Kommandozeilen alternative zuwireshark
tcpdump
→ Kommandozeilen alternative zuwireshark
Übungen zum Umgang mit Wireshark
traceroute
Wie gelingt es traceroute
, dass alle Zwischenstationen auf dem Weg zu einem entfernten System einzeln aufgeführt werden können?
Führen Sie einen traceroute zu einer entfernten Adresse aus (nicht außerhalb des Schulnetzes möglich). Beobachten Sie die Felder des IP-Headers. Durch welches Feld steuert traceroute, die Rückmeldung der einzelnen Router.
ARP
Einfache Übung zum Verständnis über den Zusammenhang zwischen MAC und IP-Adressen. Ping von einem Client über einen Router hin zu einem Server.
Telnet Passwort mitschneiden
Schneiden Sie das Passwort einer telnet
-Verbindung mit. Eine telnet
-Verbindung können Sie z.B. auf die Raum-Switche aufbauen.
Filter: tcp.stream eq 0 && frame contains „login“
Beim Filter muss zunächst aus den Conversations
der richtige Stream gefunden werden. 0
bedeutet erster Stream.
Alternativ: Rechtsklick auf entsprechende Conversation
und als Filter aktivieren.
Im Conversations-Dialog
lässt sich eine beliebige Stream auswählen und unten per Follow stream
in einem eigenen Fenster anzeigen.
Hinweis: Eingaben des Benutzers werden bei telnet
normalerweise als ECHO
zurückgeschickt. Daher kommt es an einigen Stellen zu Dopplungen.
Dateien aus Streams speichern
Werden im Mitschnitt Dateien von einem Fileserver (SMB
) geladen, so werden diese im Klartext per SMB
transportiert. Nun könnte man die einzelnen SMB
-Nachrichten suchen und diese mühselig zusammensetzen.
Wireshark
bietet aber ein wesentlich mächtigere Option. Diese findet man unter
File → Export Objects → SMB
. In diesem Dialog tauchen alle Share-Freigaben ausgetauschten Dateien auf. Sie können dort per Save oder Save all gespeichert werden. Die Dateinamen können Sonderzeichen enthalten, der Inhalt ist jedoch identisch.
Firewall-Regeln aus einzelnen Paketen
Unter Tools → Firewall ACL Rules
verbirgt sich ein sehr praktische Tool, mit dessen Hilfe man sich die Syntax für eine Firewall-Regel anzeigen lassen kann. Dabei stehen unterschiedliche Firewall-Produkte zu Wahl.
Bei iptables
sollte allerdings kontrolliert werden, ob die richtige chain
angezeigt wird. Meist wird hier die INPUT
bzw. OUTPUT-Chain
angeboten. Bei Router ist dies häufig auf FORWARD
zu ändern.
Beispiel: iptables -A INPUT -i eth0 -d 192.168.0.19/32 -j ACCEPT
Amplification attack (gefährlich)
DNS-Angriff, bei dem der Absender gefälscht wird und das Opfer angegeben wird. Der Angreifer stellt eine DNS-Anfrage für sehr viele Domains und lässt die Antwort auf der Opfer „prasseln“.
Analyse des testdump
Zunächst müssen Sie den testdump im wireshark öffnen. Der testdump befindet sich auf dem Server im Austausch-Ordner. Sie erreichen diesen über folgende Adresse: http://raumserver/~lehrer
Überblick verschaffen
Zunächst verschaffen wir uns einen Überblick darüber welche Maschinen sich im lokalen Netz befinden
- Wie viele Maschinen befinden sich im lokalen Netz?
- Welche MAC- und welche IP-Adressen haben diese?
- Welche Aufgabe haben die einzelnen Maschinen vermutlich?
TIP: Conversations-Dialog
Protokolle überprüfen
- Welche Protokolle kommen zum Einsatz?
- Gibt es auffällige Häufungen bei einzelnen Protokollen?
TIP: Protocol-Hierarchy
Ein Client betritt die Domain
Es ist bekannt, dass ein Client während des Mitschnitts einer Domaine beigetreten ist.
- Wie lautet die Domaine?
- Wie lautete der Hostname vor und nach dem Domainenbeitritt?
- Wie lautet der Hostname des Active Directory-Servers?
- Welche Maschinen waren dabei noch beteiligt?
TIP: Suchen Sie nach häufigen Ziel-IP-Adressen. Suchen Sie nach FQDN 1) und identifizieren Sie, welche Rolle diese Rechner einnehmen.
Vorbereitung eines Hacker-Angriffs
Während des Mitschnitts fand der Versuch eines Hacker-Angriffs statt.
- Woran kann man dies identifizieren?
- Wie lautet die IP-Adresse des Angreifers?
- Was könnte er gefunden haben?
TIP: Suchen Sie nach Häufungen bei den Protokollen. Suchen Sie nach Häufungen bei den Sende-IP-Adressen.
Ergänzungen