Port-Scanning (Grundlagen)

Auch wenn das Erkennen von Sicherheitslücken und Schwachstellen der häufigste Grund für das Port-Scanning ist, kann man damit auch sinnvolle Dinge tun. Zum Beispiel eine Inventur von Computern und der angebotenen Dienste. Weitere Anwendungen sind das Prüfen der Einhaltung von Richtlinien, Verfügbarkeitstests und ganz wichtig, die Fehlersuche im Netzwerk.

Im Vergleich zum Ping-Scanning geht es beim Port-Scanning nicht nur darum, ob und welche Hosts aktiv sind, sondern auch welche Anwendungen aktiv und erreichbar sind. Die Erreichbarkeit wird dabei über den Zustand der Ports bestimmt.

Was sind Ports?

Ports sind Software-Abstraktionen, um Kommunikationsverbindungen zwischen Anwendungen zu unterscheiden. Sie werden auf der Kommunikationsebene von den Protokollen TCP und UDP gleichermaßen verwendet.
Ports bilden die Schnittstelle zu den Services und Anwendungen, die auf einem Computer laufen. Sie bilden den Übergang von der paketorientierten Übertragung zum Datenstrom, der von und zu den Anwendungen fließt. Anhand der Port-Nummer weiß das System an welche Anwendung ein Datenpaket übergeben werden muss.
Während IP-Adressen unterschiedliche Rechner in einem Netzwerk adressieren, werden über Ports unterschiedliche Anwendungen adressiert. Als Vergleich: Die IP-Adresse stellt die Straße in einer Stadt dar. Und ein Port ist vergleichbar mit der Hausnummer in dieser Straße.

Die Port-Nummern reichen dabei von 0 bis 65.535. Sie sind allerdings nicht alle gleichwertig. Einige davon sind reserviert und bestimmten Dienste vorbehalten.
Die Port-Nummern von 1 bis 1.023 sind reservierte Ports, die als Well Known Ports oder Default-Ports bezeichnet werden. Sie sind für bestimmte Systemdienste reserviert. Beispiele sind die Ports 22, 25 und 80, für die Dienste SSH (Fernwartung), SMTP (Mail-Server) und HTTP (Web-Server).
Die Port-Nummern von 1.024 bis 49.151 sind ebenfalls reservierte Ports, die als Registered Ports bezeichnet werden. Diese Ports werden nicht so häufig gebraucht. Während normale Nutzer für die Nutzung der Default-Ports keine Berechtigung haben, können sich Benutzer-Anwendungen mit diesen Ports verbinden und Dienste nach außen anbieten.
Die Port-Nummern von 49.152 bis 65.535 sind für Anwendungen und Kommunikationsverbindungen gedacht, die kurzzeitig und dynamisch erfolgen. Beispielsweise bei ausgehenden Verbindungen oder proprietären Diensten innerhalb eines Netzwerks. Dafür werden dann diese Dynamic bzw. Private Ports verwendet.

TCP-Verbindungsaufbau / Drei-Wege-Handshake

Beim verbindungsorientierten Protokoll TCP ist es vorgesehen, dass die Verbindung aufgebaut und nach dem Datenaustausch wieder abgebaut wird. Um zu verstehen, was beim Port-Scanning passiert muss man wissen, wie der TCP-Verbindungsaufbau abläuft. Er wird auch als Drei-Wege-Handshake bezeichnet.

  1. SYN
  2. SYN+ACK
  3. ACK

Zum Verbindungsaufbau schickt der Initiator (z. B. ein Client) im Rahmen des Drei-Wege-Handshakes ein TCP-SYN-Paket an den entsprechenden Port zum Ziel. In der Regel ist das ein Server. Hört auf diesem Port eine Anwendung, dann bekommt der Initiator ein kombiniertes TCP-SYN/ACK-Paket als Bestätigung der Verbindungsaufnahme zurück. Um die Verbindung herzustellen wird sie dann vom Initiator mit einem TCP-ACK-Paket bestätigt. Anschließend kann der Datenaustausch stattfinden.
Zu diesem Zweck muss der Client das im Rahmen der Anwendung vorgesehene Protokoll und einige anwendungsspezifische Daten an die Gegenstelle schicken. Ein Browser wird zum Beispiel einen HTTP-Request senden und der Server wird mit einem HTTP-Response antworten.
Im Rahmen eines Port-Scans ist der anwendungsspezifische Datenaustausch wegen der enormen Vielfalt und dem enormen Zeitaufwand beim Scannen nicht realisierbar. Ein Port-Scan beschränkt sich deshalb nur auf einen Verbindungsversuch auf TCP-Verbindungsebene, der bei Erfolg sofort beendet wird.

Port-Zustände

Grob gesehen gibt es drei Arten von Zuständen:

  • OPEN (offen) bedeutet, dass auf diesem Port eine Anwendung oder ein Dienst lauscht und somit eine Verbindung möglich ist.
  • CLOSED (geschlossen) bedeutet, dass vom Host eine Verbindung auf diesen Port abgelehnt wurde. Dahinter lauscht keine Anwendung.
  • FILTERED/BLOCKED (gefiltert/blockiert) bedeutet, dass der Host auf Anfragen auf diesen Port nicht reagiert. Das heißt, die Verbindung wird weder bestätigt (OPEN) noch abgelehnt (CLOSED). Wenn der Host ansonsten erreichbar ist, dann findet eine Filterung (FILTERED) bzw. Blockierung (BLOCKED) durch eine Firewall statt. Das kann zum Beispiel ein vorgeschaltetes System oder ein Paketfilter auf dem Host sein.

Beim Port-Scan interessiert uns eigentlich nur, ob ein Port offen oder geschlossen ist. Der gefilterte Zustand ist ärgerlich, weil er weitere Untersuchungen in Form weitere Port-Scans nach sich zieht.

Rechtliche Fragen beim Port-Scanning

Die Frage ist, ob ein Port-Scan bzw. die Nutzung eines Port-Scanners gegen ein Gesetz verstößt. Die rechtlichen Konsequenzen hängen im wesentlichen davon ab, welches Gesetz in genau der Situation gilt, in der der Port-Scan angewendet wird.
Es gibt da das Beispiel eines 17-jährigen Jugendlichen in Finnland, der dort wegen versuchten Computer-Einbruchs verurteilt wurde, angeblich weil er nur einen Port-Scan auf eine Bank durchgeführt hatte.
Klar sollte sein, dass es sich dabei nicht einfach nur um einen Port-Scan gehandelt haben muss. Wenn man hochsensible Systeme und Netze mit Port-Scans "belästigt", dann darf man sich nicht wundern, wenn die dahinterstehende Organisation "aktiv" wird.
Die Erkenntnis sollte sein, dass man erstens einen legitimen Grund für einen Port-Scan haben sollte und zweitens sicherstellen sollte, wen und was man scannt, um rechtliche Konsequenzen zu vermeiden.

Man sollte sich darüber im Klaren sein, dass System- und Netzwerk-Administratoren die schwierige Aufgabe haben, Systeme und Netze zu schützen und sie so zu betreiben, dass sie böswillige Absichten durch die Analyse von Paketdaten zuverlässig erkennen und abwehren können. Bei manchen werden die Alarmglocken schon bei einem simplen Port-Scan angehen. Einfach deshalb, weil in der Vergangenheit einem Hackerangriff in der Regel ein Port-Scan vorausging. Wenn der Sicherheitslevel hoch oder die Paranoia groß genug ist, dann kann im Umkehrschluss gelten, dass einem Port-Scan ein Hackerangriff folgen muss. Weshalb ein simpler Port-Scan, auch ohne böswillige Absicht, als Hacker-Angriff gewertet wird. Natürlich mit den entsprechenden Konsequenzen für den Verursacher/Täter.

Dabei sollte man berücksichtigen, dass vorhergehende und nachfolgende Handlungen als Beweis für böswillige Absichten gewertet werden können. Ein einfacher Port-Scan mag noch nicht als Angriff gewertet werden. Folgt dem Port-Scan allerdings ein Exploit-Versuch, dann ist die Absicht eindeutig und unmissverständlich. Da helfen keine Ausreden mehr. Exploit-Versuche sind keine Dumme-Jungen-Streiche. Das ist ein Einbruch in ein System oder Netzwerk, und damit strafbar.

Vor dem unbedachten Einsatz von Port-Scans wird auch deshalb gewarnt, weil manche Systeme ziemlich heftig auf Port-Scans reagieren können. Beispielsweise durch einen Systemabsturz. Dazu kann man sagen, dass solche schlecht implementierten und getesteten Systeme nur selten ein Problem darstellen. In feindlichen Umgebung, wie dem Internet, würden solche Systeme nicht lange überleben. Anders sieht es natürlich bei internen Systemen aus, die keinen aktiven Internet-Verbindungen ausgesetzt sind. Die sind meist empfindlicher. Da sollte man vorsichtig sein.
Berichte von Systemen, die durch Port-Scans abgestürzt sind, waren vermutlich schon vorher instabil. Der Port-Scan hat ihnen dann den Rest gegeben oder sie sind zufällig abgestürzt.
Auch reproduzierbare Fälle werden immer mit instabilen Anwendungen und Betriebssystemen zu tun haben. Ein Fall, bei dem ein System wegen eines Port-Scans abstürzt, gehört abgeschaltet oder ersetzt und nicht vor einen Richter.

Rechtliche Konsequenzen wegen eines einfachen Port-Scans sind eher nicht zu erwarten. Doch trotzdem sollte man sich mit der Frage beschäftigen, ob man bei einem Port-Scan gegen die AGB des eigenen Internet-Providers verstößt. Man kann davon ausgehen, dass der eine oder andere Provider in seiner AGB irgendeine Anti-Hacker-Klausel enthält.
Wenn man ein Zielnetzwerk mit Port-Scans flutet, dann wird vielleicht eine Beschwerde an den eigenen ISP erfolgen, der dann tätig wird. Unter Umständen verliert man dadurch seinen Internet-Zugang. Wenn man in einer Region wohnt, wo es nicht so viel Auswahl an Anbietern gibt, sollte man sich überlegen, ob man seinen Internet-Zugang auf diese Weise aufs Spiel setzen will.

Port-Scanning in der Praxis

Weitere verwandte Themen:

Teilen:

Produktempfehlungen

Netzwerktechnik-Fibel

Netzwerktechnik-Fibel

Das will ich haben!