Inhaltssammlung

Aus Labor für Echtzeitsysteme

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Version vom 08:36, 13. Okt. 2006 (bearbeiten)
Bingbin (Diskussion | Beiträge)
(Anwendung)
← Zum vorherigen Versionsunterschied
Version vom 08:39, 13. Okt. 2006 (bearbeiten) (rückgängig)
Ar (Diskussion | Beiträge)
(Wireshark/Ethereal)
Zum nächsten Versionsunterschied →
Zeile 133: Zeile 133:
[[Bild:wslogowhite100.png|framed|right|Wireshark Logo]] [[Bild:wslogowhite100.png|framed|right|Wireshark Logo]]
[http://www.ethereal.com/ Ethereal] wurde von Gerald Combs unter der [http://de.wikipedia.org/wiki/GNU_General_Public_License GNU General Public License] als Open-Source-Software entwickelt und im Mai 2006 in [http://www.wireshark.org/faq.html Wireshark] umbenannt. [http://www.ethereal.com/ Ethereal] wurde von Gerald Combs unter der [http://de.wikipedia.org/wiki/GNU_General_Public_License GNU General Public License] als Open-Source-Software entwickelt und im Mai 2006 in [http://www.wireshark.org/faq.html Wireshark] umbenannt.
-Es stellt den wohl momentan bekanntesten network protocol analyzer bzw. [http://de.wikipedia.org/wiki/Sniffer sniffer] dar.+Es stellt den wohl momentan bekanntesten Network Protocol Analyzer bzw. [http://de.wikipedia.org/wiki/Sniffer Sniffer] dar.
-Als Sniffer dient wireshark dazu um den Netzwerkvekehr zu analysieren. Dazu stellt es die gesammelten Daten in Form von [http://de.wikipedia.org/wiki/Datenpaket Pakete] übersichtlich dar.+Als Sniffer dient Wireshark dazu um den Netzwerkvekehr zu analysieren. Dazu stellt es die gesammelten Daten in Form von [http://de.wikipedia.org/wiki/Datenpaket Pakete] übersichtlich dar.
Zeile 143: Zeile 143:
Hat man ein Netz, das über einen [http://de.wikipedia.org/wiki/Hub_%28Netzwerk%29 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. Hat man ein Netz, das über einen [http://de.wikipedia.org/wiki/Hub_%28Netzwerk%29 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 [http://de.wikipedia.org/wiki/switch_%28Netzwerk%29 Switch], im Gegensatz zum Hub, eine Tabelle führt, in der er zu jedem seiner Ports die [http://de.wikipedia.org/wiki/Mac-adresse 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. +In den heutigen geswitchten Netzen ist es jedoch nicht so einfach alles zu sniffen, da ein [http://de.wikipedia.org/wiki/switch_%28Netzwerk%29 Switch], im Gegensatz zum Hub, eine Tabelle führt, in der er zu jedem seiner Ports die [http://de.wikipedia.org/wiki/Mac-adresse MAC-Adresse] des Host der dahinter angeschlossen ist, speichert. Der Switch analysiert jedes Packet das ihn erreicht soweit, 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. 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.
Zeile 151: Zeile 151:
[[Bild:etherreal_capture_stats.png|thumb|130px|Capture-Statistiken]] [[Bild:etherreal_capture_stats.png|thumb|130px|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. +Zum Starten der Aufzeichnung wählt man unter ''Capture'' den Punkt ''Options'' aus. Im nachfolgendem 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 [http://de.wikipedia.org/wiki/Promiscuous_Mode promiscuous Modus] geschaltet wird, dadurch werden nicht, wie normalerweise, alle Packete die nicht an die Adresse des Interfaces gerichtet sind verworfen. Die Option ''Capture packets in promiscuous modus'' sorgt dafür das das Netzwerkinterface, für die Aufzeichnung, in den [http://de.wikipedia.org/wiki/Promiscuous_Mode promiscuous Modus] geschaltet wird, dadurch werden nicht, wie normalerweise, alle Packete die nicht an die Adresse des Interfaces gerichtet sind verworfen.
Zeile 158: Zeile 158:
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 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.+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 ==== ==== 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. [http://de.wikipedia.org/wiki/TCP/IP Protokoll] ein Packet zur genaueren Analayse auswählen. +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 von Quelle und Ziel bzw. [http://de.wikipedia.org/wiki/TCP/IP Protokoll] ein Packet zur genaueren Analayse auswählen.
Im Mittleren Bereich findet man dann die Informationen der einzelnen [http://de.wikipedia.org/wiki/OSI-Modell Schichten] des Packets aufgelistet. Und im Unterem Bereich das Packet in roher Byte Form. Im Mittleren Bereich findet man dann die Informationen der einzelnen [http://de.wikipedia.org/wiki/OSI-Modell 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.+Unter den Menüpunkten ''Analyze'' und ''Statistic'' finden sich vielfältige Möglichkeiten die gesammelten Daten aufzubereiten und grafisch Darzustellen.
==== Filterfunktion ==== ==== Filterfunktion ====

Version vom 08:39, 13. 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

Nmap steht für "Network Mapper". Es wird zum scannen von offenen Ports auf dem eigenen, bzw. fremden Rechner benutzt. Dieser Portscanner wurde ursprünglich von einem Hacker mit dem Nickname Fyodor für Linux entwickelt. Es ist inzwischen auch für Windows zu haben. Das Tool ist in der textbasierten Version frei verfügbar. Daneben gibt es noch NmapFE, welches eine Grafische Oberfläche hat. Nmap wird von vielen Administratoren und auch Hackern eingesetzt, da es ein ein wesentlicher Bestandteil der Netzwerkdiagnose darstellt. Es unterstützt unterstützt eine Vielzahl verschiedener Scanning-Techniken, wie z.B. UDP, TCP, FTP-Proxy, Reverse-ident, ICMP, FIN, ACK-Suchlauf, Xmas-Tree, SYN-Suchlauf, IP-Protocol und Null-Scan. Ebenso ermöglicht nmap eine Vielzahl von zusätzlichen Möglichkeiten, wie z.B. das Erkennen von Betriebssystemen mittels TCP/IP-Fingerprinting. Da viele Techniken root-Privilegien benötigen, sollte Nmap stets als root genutzt werde.

Das Ergebnis eines Scans ist normalerweise eine Liste von Ports der gescannten Rechner. Sofern bekannt ist um welche Ports es sich handelt, weist Nmap ihnen Service-Namen, Portnummer, Status und Protokoll zu. Der Status ist entweder "open", "filtered" oder "unfiltered". "Open" bedeutet, dass das Zielsystem auf diesem Port eine Verbindung annehmen kann. "Filtered" weist darauf hin, dass eine Firewall oder ein TCP/IP-Filter den scan blockiert, und keine Rückschlüsse auf die Ports gemacht werden können. "Unfiltered" heisst, dass nmap den Port kennt, und beim Zugriff keinerlei Filter-Mechanismen ausgemacht werden konnten. Dieser Staus kommt am häufigsten vor.

Syntax

nmap [Scan-Typ] [Optionen] <Host oder Netz>

Optionen

ScanTypen

  • -sS
TCP SYN-Scan: Diese Technik wird oft als "halb-offen" bezeichnet, da keine volle TCP-Verbindung zustande kommt. Der Scanner schickt ein TCP-Datagramm mit gesetzter SYN-Flagge an das Zielsystem. Der Scanner wartet nun auf eine Rückmeldung des Zielsystems. Kommt ein Paket mit gesetzter SYN/ACK-Flagge zurück, so wird der Zielport als LISTENING identifiziert. Nmap schick nun automatisch ein RST zurück, damit der Verbindungsaufbau abgebrochen wird. Der Vorteil dieser Methode ist, dass viele Systeme diese Zugriffe nicht protokollieren. Im Gegensatz dazu deutet ein RST-Datangramm auf einen geschlossenen Port hin. Dieser Scantyp benötigt root Rechte.
  • -ST
TCP connect()-Scan:Befindet sich der Zielport des Zielrechners im zustand LISTENING, wird der connect()-Zugriff erfolgreich ausfallen. Der Vorteil dieser Methode besteht darin, dass keine root privilegien benötigt werden. Jeder Benuzer ist also in der Lage diesen Scan durchzuführen. Der Scan ist jedoch einfach zu entdecken, da er sehr warscheinlich in den Protokoll-Dateiene des zielsystems auftauchen wird.
  • -SU
UDP-Scans: Diese Technik basiert darauf, dass ein UDP-Datenpaket mit 0 Byte an Nutzdaten an jeden Port des Zielsystems geschickt wird. Erhalten wir eine ICMP port unreachable Nachricht, so ist der Zielport geschlossen. Andererseits handelt es sich um einen offenen Port.
  • -SP
Ping-Scanning: Wenn man lediglich wissen will welche Hosts in einem Netz aktiv sind, ist der Ping-Scan die richtige Wahl. Hier wird eine ICMP echo request-Anfrage an jede Adresse im spezi­fizierten Netz geschickt. Antwortet der Host mit einem ICMP echo reply, wird er als aktiv eingestuft. Wird der ICMP Verkehr durch eine Firewall gefiltert, schickt nmap ein TCP-Datenpaketmit gesetzter ACK-Flag an einen moglich offenen Port(standardmässig TCP-Pot 80). Bekommen wir ein RST zurrück, ist das Zielsystem aktiv.

...

Generelle Optionen

  • -O
Diese Option ermöglicht das Identifizieren des Betriebsystems am Zielrechenr anhand des TCP/IP-Fingerabdrucks. Es wird eine Anzahl von Tests ausgeführt, die das typische Verhalten der jeweiligen TCP/IP-Implementierungen erkennen können. Die erhaltenen Informationen werden in einer Datenbank mit bekannten Betriebssystemen verglichen.
  • -p <Port-Bereich>
Diese Option spezifiziert, welche Ports gescannt werden sollen. Hier können einzelne Ports, oder auch Portbereiche angegeben werden.
  • -F
Diese Option gibt an, dass lediglich die in der services-Datei von nmap gelisteten Dienste gescantwerden sollen. (Fast-scan-mode)

...

Beispiele

  • nmap -sS -O 192.168.0.0/24
Hier wird ein stealth SYN-Scan gegen jeden Rechenr im Netz 192.168.0.0 ausgeführt. Es wir weiterhin versucht, die Betriebssysteme der Systeme zu ermitteln. Dieser Vorgang erfordert aufgrund des SYN-Scans und der Betriebssystemerkennung root-Privilegien.

nessus

Nessus-Logo
Nessus-Logo

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.

Nessus
Nessus

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 soweit, 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 Aufzeichnung wählt man unter Capture den Punkt Options aus. Im nachfolgendem 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 von 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

Dsniff beinhaltet diverse Tools im Bereich Sniffing, Man-in-the-middle sowie Hijacking. Dsniff läuft unter Linux, Solaris, BSD und den meisten UNIX-Derivaten. Zudem existiert auch eine Windows-Variante, welche aber nur Dsniff, Mailsnarf, Urlsnarf und Webspy beinhaltet. Die aktuelle Version ist 2.3, das Copyright liegt beim Author, Dug Song.

Dsniff kann übertragene Passwörter für viele Klartext-Netzwerkprotokolle auffangen (FTP, Telnet, SMTP, HTTP, POP, poppass, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, OSPF, PPTP, MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICQ, Napster, PostgreSQL, Meeting Maker, Citrix ICA, Symantec, pcAnywhere, NAI Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase und Microsoft SQL auth info)

Hintergrund Technik

Ein Sniffer kennt den so genannten non-promiscuous mode und den Promiscuous Mode.

Im non-promiscuous mode wird der ankommende und abgehende Datenverkehr des eigenen Computers gesnifft.

Im Promiscuous Mode sammelt der Sniffer den gesamten Datenverkehr an die in diesen Modus geschaltete Netzwerk schnittstelle. Es werden also nicht nur die an ihn adressierten Datenframe|Frames empfangen, sondern auch die nicht an ihn adressierten. Der Adressat eines Frames wird in Ethernet-Netzwerken anhand der MAC-Adresse festgelegt.

Weiterhin ist es von der Netzwerkstruktur abhängig, welche Daten ein Sniffer sehen kann. Werden die Computer mit Hub (Netzwerk)|Hubs verbunden, kann sämtlicher Traffic von den anderen Hosts mitgeschnitten werden. Wird ein Switch (Computertechnik)|Switch verwendet, ist nur wenig oder gar kein Datenverkehr zu sehen, der nicht für das sniffende System selbst bestimmt ist. Allerdings gibt es in diesem Fall mehrere Möglichkeiten wie z. B. ARP-Spoofing, ICMP Redirects, DHCP Spoofing oder MAC-Flooding, um trotzdem die Frames empfangen zu können. Ein Switch darf also nicht als Sicherheitsfeature gesehen werden.

Deswegen Dsniff kann nur unter Hubs-Netzwerk gut arbeiten.

Anwendung

mit dem Befehl kann man einfach dsniff starten.

dsniff oder dsniff -i eth0

Bild:buha_tools_id_43_screenshot.png

Bild:Bildschirmphoto2.png

Syntax

dsniff [-c] [-d] [-m] [-n] [-i interface | -p pcapfile] [-s snaplen] [-f services] [-t trigger[,...]]] [-r|-w savefile] [expression]

weiter Info zu Options... finden sich mit dem Befehl man dsniff oder im Weblink.

WebLink

dsniff WIN32 port of dsniff

ettercap

Schutz des eigenen Rechners

John the Ripper

John the Ripper Beschreibung:

John the Ripper ist dafür vorgesehen, verschlüsselte Passwörter eines Systems durch Brute-Force oder durch „Wortlistenangriff“ (Dictionary-Attack, Passwörter aus einer Textdatei auslesen) zu entschlüsseln. Dies funktioniert durch Verschlüsseln eines Textstrings und darauf folgendem Vergleich des verschlüsselten Textstrings mit dem schon verschlüsselten Passwort. Sind beide gleich, so wurde das Passwort gefunden. Im «Incremental Mode» entschlüsselt John jedes existierende Passwort, unabhängig davon, ob es aus Buchstaben, Sonderzeichen, Zahlen oder Kombinationen besteht. Diese Methode ist unter dem Begriff «Brute Force»-Attacke bekannt und dauert unter Umständen sehr lange.

Installation:

Wie die meisten Programme lässt es sich mit

apt-get install john

installieren

Anwendung:

Dazu benötigen wir eine Passwort Datei (z.B. shadow-Datei ) und es muss herausgefunden werden welches Verschlüsselungsverfahren die Passwörter haben. In den meisten Fällen ist unter Linux MD5 oder DES im Einsatz, wobei sich diese beiden Verfahren darin unterscheiden, dass DES nur die ersten acht Zeichen eines Passwortes verwendet, MD5 dagegen alle Zeichen.

Weiterhin ist es möglich, entweder alle Passwörter in der Shadow Datei zu knacken oder nur ein bestimmtes. Dies lässt sich über den Parameter

-user:xxx

angeben, wobei xxx für den Benutzernamen steht. Gibt man diesen Parameter nicht mit an, wird versucht, alle im File hinterlegten Passwörter zu knacken. Der zugehörige Befehl lautet:

john -format:MD5 [-user:xxx] shadow

Sobald john ein Passwort gefunden hat, wird es ausgegeben. Das Programm merkt sich bereits geknackte Passwörter, sodass bei einem neuen Start diese nicht neu geknackt werden müssen. Bereits gefundene Passwörter lassen sich mit dem Befehl

john -show shadow

erneut anzeigen.

Um den Prozess evtl. zu beschleunigen, ist es möglich, Wortlisten anzugeben, die dann zuerst durchprobiert werden. Dies erfolgt durch Angabe des Parameters

-wordfile:FILE

Verschiedene Wordfiles können über den Befehl

apt-cache search wordlist

angezeigt und anschliessend mit

apt-get install WORDFILE

installiert werden.

Fazit:

Gut für Eindringlinge sind Accounts mit Account-Namen als Passwort, Gast- und Demoaccounts ohne Passwort oder Accounts mit voreingestellten Passwörtern. Es sollte zudem verhindert werden, daß die Passwortdatei von Unbefugten gelesen werden kann. Für die Auswahl eines Passworts gilt:

• keine Login-Namen

• keine anderen Namen

• keine Wörter oder Abkürzungen, die im Wörterbuch zu finden sind

• keine persönlichen Informationen (Geburtstag, Telefonnummer usw.)

• keine Variante der oben genannten schlechten Passwörter (z.B. rückwärts oder Großbuchstaben usw.)

• nicht nur Ziffern nutzen

Gut sind Passworte mit einer Mischung aus Groß- und Kleinbuchstaben, die mindestens 8 Zeichen lang sind und aus einer zufälligen Auswahl von Ziffern und Buchstaben bestehen (auch Sonderzeichen).

Wenn möglich, sollten Passwortdateien überprüft werden, ob die Passworte sicher sind und regelmäßig geändert werden (so oft wie möglich).

Quellen:

http://wikipedia.org/

http://www.netzmafia.de

Download john the ripper:

http://www.openwall.com/john/

Deamons/Dienste

Absichern laufener Dienste

Unnötige Abschalten

Firewall

iptables

Zusammenfassung/Fazit

Persönliche Werkzeuge