Inhaltssammlung

Aus Labor für Echtzeitsysteme

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Version vom 21:41, 11. Okt. 2006 (bearbeiten)
Ar (Diskussion | Beiträge)
K (Wireshark/Ethereal)
← Zum vorherigen Versionsunterschied
Version vom 21:54, 11. Okt. 2006 (bearbeiten) (rückgängig)
Ar (Diskussion | Beiträge)
(Weblinks)
Zum nächsten Versionsunterschied →
Zeile 140: Zeile 140:
=== Weblinks === === Weblinks ===
 +* [http://www.wireshark.org/ Wireshark-Homepage] (englisch)
* [http://www.wireshark.org/docs/wsug_html_chunked/index.html Ausführliches User's Guide zu Wireshark] (english) * [http://www.wireshark.org/docs/wsug_html_chunked/index.html Ausführliches User's Guide zu Wireshark] (english)
* [http://wiki.wireshark.org/ Wiki des Wireshark-Projekt] * [http://wiki.wireshark.org/ Wiki des Wireshark-Projekt]
-* [http://www.easy-network.de/ethereal.html Ethereal/Wireshark-Tutorial] 
-* [http://www.wireshark.org/ Wireshark-Homepage] (englisch) 
* [http://www.ethereal.com/ Ethereal-Homepage] (englisch) * [http://www.ethereal.com/ Ethereal-Homepage] (englisch)
 +* [http://www.easy-network.de/ethereal.html Ethereal/Wireshark-Tutorial]
* [http://www.nwlab.net/tutorials/ethereal/ethereal-tutorial.html Ethereal/Wireshark-Anleitung] * [http://www.nwlab.net/tutorials/ethereal/ethereal-tutorial.html Ethereal/Wireshark-Anleitung]
-* [http://www.networkchemistry.com/products/packetyzer.php Packetyzer – Ethereal mit Userinterface für Windows] (englisch) 
=== Bücher === === Bücher ===

Version vom 21:54, 11. Okt. 2006

Inhaltsverzeichnis

Einleitung

Verschiedene Arten von Angriffsmöglichkeiten

Applikationen

local

remote

Kernel

Man In The Middle

Als "Man In The Middle" Angriff, versteht man einen Angreifer der sich aktiv in eine Verbindung zwischen zwei oder mehreren Netzelementen einhängt. In dieser Position kann der Angreifer z.B. den Datenverkehr analysieren ( Passwörter ausspähen usw. ), Umleiten oder blockieren.

Die wohl bekanntest Art, ist das ARP-Spoofing/Poisoning.

ARP-Spoofing/Poisoning

Das Problem bei geswitchten Netzen liegt einfach daran, dass der Datenverkehr nicht mehr jeden im Netz erreicht sondern nur den für die die Nachricht gedacht ist ( Switch, Weiterleitung anhand von MAC-Adresse ).

Die Standard Kommunikation in einem geswitchten LAN sieht wie folgt aus:

Bild:standard_kommunikation.jpg


Vorgang

1.) Client C sendet Daten an Server S.
2.) Der Switch nimmt die Daten auf und sucht die Ziel MAC-Adresse ( MAC(S) ) raus. Der Switch erkennt das die Ziel MAC-Adresse am Switch-Port XYZ hängt.
3.) Leite die Daten NUR auf diesem Port weiter.


Die Frage die man sich nun als Angreifer stellt: Wie bekomme ich etwas oder alles vom Datenverkehr mit?

Lösung: "Vergiften" der ARP-Tabellen! Der Angreifer nutzt die schwache Implementierung von ARP aus und sendet ARP-Responses an Client und Server, sodass jeder denkt die MAC-Adresse des anderen wäre die MAC-Adresse des Angreifers.


Bild:arp_poisoning.jpg


Vorgang

1.) Schicke ein ARP-Response an Client C mit IP(S) und MAX(A)
2.) Schicke ein ARP-Response an Server S mit IP(C) und MAX(A)


Nachdem die ARP-Tabellen von Client und Server "vergiftet" worden sind, läuft der gesamte Datenverkehr über Angreifer A! D.h. der Switch leitet die Pakete von Client S an Angreifer A weiter, da die Ziel-MAC-Adresse NICHT mehr MAC(S) ist, sonder MAC(A) und da ein Switch Weiterleitungen auf OSI-Layer2-Basis (MAC-Adresse) entscheidet steht der Angreifer nun im Mittelpunkt der Kommunikation ( Man In The Middle )!


Bild:redirected_traffic.jpg


Vorgang

1.) Client C möchte Daten an Server S schicken [ mit Ziel-IP IP(S) und Ziel-MAC MAC(A) ]
2.) Der Switch erkennt die Ziel-MAC MAC(A) und leitet diese an den Switch-Port ABC weiter
3.) Der Angreifer A nimmt die Daten entgegen und analysiert o.ä. diese.
4.) Angreifer A schickt die Daten zurück mit der Ziel-IP IP(S) und der Ziel-MAC(S)
5.) Der Switch schickt die Daten nun an den Server S, da Ziel-MAC nun MAC(S)


Dieser gesamte Vorgang verläuft bidirektional. D.h. der Weg von Server S an Client C verläuft gleich, da am Anfang ( und während dessen auch ) die ARP-Tabelle von Client und Server "vergiftet" worden sind.

Netz-Analyse

telnet

nmap

nessus

Bei Nessus handelt es sich um einen bekannten Netzwerk- und Vulnerability Scanner für Linux- und Unix-Systemen der Entwickler-Firma Tenable Network Security (Entwickler: Renaud Deraison). Mit Hilfe dieser Software lassen sich Betriebssysteme und Dienste, die auf einem zu untersuchenden Rechner installiert und konfiguriert sind, auf Sicherheitslücken überprüfen. Zudem prüft Nessus idealerweise Router, Firewalls, Server und Gateways von außen auf bekannte Sicherheitslücken und mögliche Angriffspunkte. Dies wird durch vielfältige Plugins erreicht, die beim Start des Nessus-Servers geladen werden.

Der auf dem Client-Server-Prinzip beruhende Funktionsablauf sieht wie folgt aus:

1. Auf einem Rechner wird der Nessus-Server (nessusd) gestartet.

2. Nun verbindet man sich über den Nessus-Client (Läuft auf einem beliebigen lokalen oder entfernten Rechner, der untersucht werden soll) mit dem Server, in dem eine "Session" eingestellt wird. In dieser Session kann folgendes angegeben werden:

  • den Nessus-Server, der die Untersuchung durchführen soll (localhost oder IP-Adresse)
  • den(die) gewünschten Zielhost(s) (localhost oder IP-Adresse)
  • zu verwendende Plugins (Achtung bei Plugins, die den Rechner zum Absturz bringen könnten!)
  • Plugin-Einstellungen (bezüglich ping, TCP, FTP, ...)
  • gewünschte Portscanner (meist nmap) und deren Scanoptionen

3. Im Anschluß daran wird der Host-Scan durchgeführt.

4. Nach Ende des Host-Scans gibt der Nessus-Client eine zuverlässige Übersicht über alle eventuell gefundenen Sicherheitslücken und offenen Ports.

Nessus wird ab der Version 3.0 nicht mehr frei zur Verfügung gestellt, sondern unter einer proprietären Lizenz weiterentwickelt wird. Aus diesem Grund hat sich das Projekt OpenVAS gebildet, welches auf der letzten freien Nessus-Version aufsetzt und weiterentwickelt.

Weblinks

Homepage des Nessus-Projekts

Homepage des OpenVAS-Projekts

Mögliche Übung

Nutzung von Nessus auf dem eigenen Rechner.

Wireshark/Ethereal

Wireshark Logo
Wireshark Logo

Ethereal wurde von Gerald Combs unter der GNU General Public License als Open-Source-Software entwickelt und im Mai 2006 in Wireshark umbenannt. Es stellt den wohl momentan bekanntesten network protocol analyzer bzw. sniffer dar.

Als Sniffer dient wireshark dazu um den Netzwerkvekehr zu analysieren. Dazu stellt es die gesammelten Daten in Form von Pakete übersichtlich dar.


Anwendung

Capture eines pings
Capture eines pings

Hat man ein Netz, das über einen Hub verteilt wird, so kann man jedes Packet das sich über das Netz bewegt einfach sniffen, da ein Hub grundsätzlich jedes Packet an alle seine Ports aussendet.

In den heutigen geswitchten Netzen ist es jedoch nicht so einfach alles zu sniffen, da ein Switch, im Gegensatz zum Hub, eine Tabelle führt, in der er zu jedem seiner Ports die MAC-Adresse des Host der dahinter angeschlossen ist, speichert. Der Switch analysiert jedes Packet das ihn erreicht sowiet, das er die Ziel-MAC-Adresse erkennt und sendet das jeweilige Packet auch nur an den entsprechenden Port aus. Das hat zur Folge das normalerweise Packte die nicht an einen selber adressiert sind auch nicht an der Netzwerkkarte ankommen und so auch nicht vom Sniffer aufgezeichnet werden können.

Hat man Zugriff auf den jeweiligen Switch so kann man seinen Sniffer an den so genannten Monitor Port anschliessen. Nahezu alle Switches haben solch einen. Der Unterschied zu den normalen Ports ist das an diesem alle Packete des Netzwerkes empfangen werden können.

Aufzeichnung des Netzwerkverkehr's

Capture-Options
Capture-Options
Capture-Statistiken
Capture-Statistiken

Zum Starten der Aufzecihnung wählt man unter Capture den Punkt Options aus. Im nachfolgedem Dialog kann man dann das Interface auswählen und noch weiter Optionen einstellen.

Die Option Capture packets in promiscuous modus sorgt dafür das das Netzwerkinterface, für die Aufzeichnung, in den promiscuous Modus geschaltet wird, dadurch werden nicht, wie normalerweise, alle Packete die nicht an die Adresse des Interfaces gerichtet sind verworfen.

Intressant sind auch noch die Optionen unter dem Bereich Name Resolution, dort kann man beeinflussen ob in den Aufgezeichnetetn Daten die eigentlichen MAC- bzw. IP-Adressen auftauchen, oder entsprechend die aufglösten Namen. So würde man dann beispielsweise bei einem Ping auf www.heise.de den Namen erkennen können anstatt der IP-Adresse.

Durch einen klick auf Start wird die Aufzeichnung im Hintergrund begonnen und ein Fesnter mit eienr Statistik über gesammelte Packete und der seit dem Start der Aufzeichnung vergangenen Zeit angezeigt. Durch betätigen des Stop-Buttons, wird die Aufzeichnung beendet und Wireshark lädt die gesammelten Packete in die Übersicht. Das kann einige Zeit Dauern, je nachdem wie viele Packte bzw. wie lange aufgezeichnet wurden.

Analyse der gesammelten Daten

Anschliessend wird im oberen der drei Felder je Zeile ein Packet aufgelistet. Diese werden, zur besseren Übersicht, je nach Typ unterschiedlich eingefärbt. In dieser Liste kann man an Hand Quelle und Ziel bzw. Protokoll ein Packet zur genaueren Analayse auswählen. Im Mittleren Bereich findet man dann die Informationen der einzelnen Schichten des Packets aufgelistet. Und im Unterem Bereich das Packet in roher Byte Form.

Unter den Menüpunkten Analyze und Statistic finden sich vielfältige möglichkeiten die gesammelten Daten aufzubereiten und grafisch Darzustellen.

Filterfunktion

Die Ausgabe der Packetliste lässt sich sehr fein über die Funktion Filter steuern. So kann man beispielsweise nur Packet eines bestimmten Protokolltypes oder einer bestimmten Quell- bzw. Zieladresse anzeigen lassen.

Beispiel:

Dieser Filter filtert alle Packate aus die nicht als Abseder IP-Adresse die 192.168.1.2 und als Protokoll ICMP hat, dabei bewirkt der Operator && eine UND-Verknüpft der einzelnen Filterbedingungen.

ip.addr == 192.168.1.2 && icmp

Weblinks

Bücher

  • Ethereal Protokollanalyse
Angela Orebaugh
Mitp-Verlag; Auflage: 1 (Juni 2004)
448 Seiten
ISBN: 3826614925
Das Buch beschreibt die Protokollanalyse mittels Ethereal. Als deutschsprachiges Buch weiterhin interessant.
Amazon Suche

Alternative Software

Übungen

1. Übung

  1. Starten sie wireshark und stellen sie die Netzwerkschnittstelle mit der sie mit dem Internet verbunden sind, als zu überwachende Schnittstelle ein.
  2. Starten sie die Aufzeichnung.
  3. Pingen sie einen Server im Internet an (z.B. www.heise.de).
  4. Stoppen sie die Aufzeichnung.
  5. Versuchen sie durch einsetzen der Filterfunktion die zu ihrem Ping gehörenden TCP/IP Packete zu finden.

2. Übung

  1. Starten sie wireshark und stellen sie die Netzwerkschnittstelle mit der sie mit dem Internet verbunden sind, als zu überwachende Schnittstelle ein.
  2. Starten sie die Aufzeichnung.
  3. Veranlassen sie ihren email-client (z.B. Thunderbird) dazu bei ihrem Provider mittels pop nach email zu schauen.
  4. Stoppen sie die Aufzeichnung.
  5. Versuchen sie die zu der Verbindung gehörenden Packete zu filtern.
  6. Untersuchen sie den Inhalt der Packete. Ist ihre pop-Authentifaktion nicht SSL geschützt, sollten sie ihr email passwort im klartext vorfinden.

3. Übung

  1. Starten sie wireshark und stellen sie die Netzwerkschnittstelle mit der sie mit dem Internet verbunden sind, als zu überwachende Schnittstelle ein.
  2. Starten sie die Aufzeichnung.
  3. Lassen Sie Aufzeichnung im Hintergrund laufen und verursachen sie (z.B. 2 Minuten lang) den für sie normalen Netzwerktraffik, surfen Sie einige Webseiten an, rufen Sie ihre Emails ab oder ähnliches.
  4. Stoppen sie die Aufzeichnung.
  5. Es kann nun etwas dauern bis Wireshark alle gesammelten Packet dahrstellt, dies ist abhängig davon wie viel Traffic Sie in der Zeit veruhrsacht haben.
  6. Schauen Sie sich grob über die gesammelten Daten und versuchen sie folgendes herauszufinden:
    1. Welche Protokolle wurden erkannt?
    2. Erkennen Sie Packete die zu einer Verbindung zusammen gehören?

dsniff

ettercap

Schutz des eigenen Rechners

Benutzerverwaltung

passwörter

john the ripper

Deamons/Dienste

Absichern laufener Dienste

Unnötige Abschalten

Firewall

iptables

Zusammenfassung/Fazit

Persönliche Werkzeuge