Was ist ein Portscanner und wie funktioniert er?

Datensicherheit

Portscanning-Techniken

Ein Portscanner ist ein Computerprogramm, das Netzwerk-Ports auf einen von drei möglichen Status überprüft – offen, geschlossen oder gefiltert. Portscanner sind nützliche Tools für die Diagnose von Netzwerk- und Verbindungsproblemen. Angreifer verwenden jedoch Portscanner, um mögliche Zugangspunkte für die Infiltration zu erkennen und zu ermitteln, welche Geräte in Ihrem Netzwerk vorhanden sind, etwa Firewalls, Proxy-Server oder VPN-Server. Im Folgenden finden Sie eine ausführliche Anleitung für Portscanner, einschließlich der folgenden Themen:

Funktionsweise von Portscannern

Ein Portscanner sendet eine Netzwerkanfrage zur Verbindung mit einem bestimmten TCP- oder UDP-Port auf einem Computer und zeichnet die Antwort auf. Das Programm sendet also ein Paket mit Netzwerkdaten an einen Port, um den aktuellen Status zu überprüfen. Wenn Sie überprüfen wollten, ob Ihr Webserver korrekt funktioniert, würden Sie den Status von Port 80 auf diesem Server überprüfen, um sicherzustellen, dass er offen ist und Daten empfängt (sog. „lauschen“). Der Status hilft Netzwerkingenieuren bei der Diagnose von Netzwerkproblemen oder Fehlern bei der Verbindung von Anwendungen – ebenso hilft er Angreifern, mögliche Ports zu finden, über die sie in Ihr Netzwerk eindringen können.

Was ist ein Port?

Kurz gesagt ist ein Port ein virtueller Ort, an dem die Netzwerkkommunikation beginnt und endet. Für eine tiefer gehende Erklärung müssen wir zunächst einige Hintergrundinformationen liefern. Es gibt zwei Arten von Netzwerkports auf jedem Computer (65.536 von beiden Arten und insgesamt 131.072 Netzwerkports):

  • TCP und UDP

Jeder Computer hat eine Internet-Protokoll-Adresse (IP-Adresse), anhand derer das Netzwerk ermittelt, an welchen Computer es Pakete senden soll. Wenn Sie ein Paket an die IP-Adresse senden, weiß der Computer aufgrund der Anwendung oder des Paketinhalts, an welchen Port er das Paket leiten soll. Jeder Dienst, der auf dem Computer läuft, muss an einem bestimmten Port „lauschen“. Die ersten 1023 TCP-Ports sind die bekannten Ports. Sie sind für Anwendungen wie FTP (21), HTTP (80) oder SSH (22) vorbehalten, und die Internet Assigned Numbers Authority (IANA) reserviert diese Punkte, damit sie standardgemäß funktionieren. Die TCP-Ports 1024 – 49151 stehen für die Nutzung durch Dienste oder Anwendungen zur Verfügung. Man kann sie bei der IANA registrieren lassen, damit sie als „semi-reserviert“ betrachtet werden. Alle Ports über 49152 sind frei nutzbar.

Portscanning-Grundlagen

Ein Portscanner sendet ein TCP- oder UDP-Netzwerkpaket und fragt den aktuellen Status des Ports ab. Die drei möglichen Antworten sind nachstehend aufgeführt:

  1. Offen, angenommen: Der Computer antwortet und fragt, was er tun kann.
  2. Geschlossen, nicht lauschend: Der Computer antwortet, dass „dieser Port aktuell genutzt wird und nicht verfügbar ist“.
  3. Gefiltert, gesperrt, blockiert: Der Computer macht sich nicht einmal die Mühe, zu antworten.

Portscans finden im Allgemeinen zu einem frühen Zeitpunkt in der Cyber Kill Chain statt, während der Erkundung und des Eindringens. Angreifer verwenden Portscans, um Ziele mit offenen und unbenutzten Ports aufzuspüren, die sie zur Infiltration, Steuerung und Kontrolle sowie zur Datenexfiltration missbrauchen können. Ebenso können sie so herausfinden, welche Anwendungen auf dem jeweiligen Computer laufen, um Schwachstellen in den entsprechenden Anwendungen auszunutzen.

Portscanning-Techniken

Nmap ist eines der beliebtesten Open-Source-Tools für Portscanning. Nmap bietet eine Reihe verschiedener Portscanning-Techniken für unterschiedliche Szenarien.

Pingscanner

Am einfachsten lassen sich Portscans mit Pingscans durchführen. Ein Ping ist eine Echoanforderung gemäß Internet Control Message Protocol (ICMP) – man sucht dadurch nach einer beliebigen ICMP-Antwort, die signalisiert, dass das Ziel aktiv ist. Ein Pingscan entspricht dem massenhaften Absetzen von ICMP Echoanforderungen an unterschiedliche Ziele, um zu sehen, wer antwortet. Pingscans sind genau genommen keine Portscanning-Technik, da man darüber nur in Erfahrung bringen kann, ob sich am anderen Ende der Leitung ein Computer befindet. Allerdings gehört diese Aufgabe zum Portscanning und ist normalerweise der erste Arbeitsschritt vor einem Portscan. Administratoren deaktivieren in der Regel ICMP (Ping) entweder in der Firewall oder auf dem Router für externen Datenverkehr und lassen ihn innerhalb des Netzwerks geöffnet. Diese Funktion abzuschalten geht schnell und ist einfach. Anschließend kann das Netzwerk nicht mehr auf diese Weise ausspioniert werden. Ping ist allerdings auch ein gutes Werkzeug für die Fehlersuche; wenn man es deaktiviert, kann das Aufspüren von Netzwerkproblemen etwas komplizierter werden.

TCP halboffen

Eine der am weitesten verbreiteten und beliebtesten Techniken für Portscanning ist das Scannen nach halboffenen TCP-Ports, das oft auch als „SYN-Scan“ bezeichnet wird. Dabei handelt es sich um einen schnellen und raffinierten Scan, mit dem nach potenziell offenen Ports auf dem Zielcomputer gesucht wird. SYN-Pakete fordern eine Antwort von einem Computer an, und ein ACK-Paket ist eine Antwort. In einer gewöhnlichen TCP-Transaktion gibt es ein SYN, ein ACK vom Dienst und ein drittes ACK, das den Empfang der Nachricht bestätigt. Dieser Scan ist schnell und schwer zu erkennen, da er den TCP-Dreiwege-Handshake niemals vollständig abschließt. Der Scanner sendet eine SYN-Nachricht und beobachtet einfach die SYN-ACK-Antworten. Er stellt die Verbindung nicht durch Senden des finalen ACK-Pakets her: er lässt das Ziel hängen. Alle SYN-ACK-Antworten sind potenziell offene Ports. Eine RST-Antwort (Reset) bedeutet, dass der Port geschlossen ist, es jedoch einen aktiven Computer gibt. Das Ausbleiben einer Antwort deutet darauf hin, dass SYN im Netzwerk gefiltert ist. Ein „Keine Antwort“-ICMP (oder Ping) zählt ebenfalls als gefilterte Antwort. TCP-halboffen-Scans sind Standard-Scans in NMAP.

TCP Connect

Dieses Portscanning-Verfahren entspricht im Grunde dem Verfahren TCP halboffen. Anstatt jedoch das Ziel hängenzulassen, schließt der Portscanner die TCP-Verbindung ab. Diese Technik ist nicht so beliebt wie TCP halboffen. Erstens muss man pro Scan ein weiteres Paket senden, wodurch man bereits mehr Lärm im Netzwerk erzeugt. Zweitens könnte man, nachdem man die Verbindung zum Ziel hergestellt hat, einen Alarm auslösen, den ein Halboffen-Scan nicht ausgelöst hätte. Zielsysteme loggen zudem wahrscheinlich eine vollständige TCP-Verbindung, und Intrusion-Detection-Systeme (IDS) lösen ebenfalls eher einen Alarm aus, wenn mehrere TCP-Verbindungen vom selben Host kommen. Der Vorteil des TCP-Connect-Scans liegt darin, dass ein Benutzer nicht das gleiche Niveau an Berechtigungen für die Ausführung benötigt wie bei einem Halboffen-Scan. TCP-Connect-Scans verwenden die Verbindungsprotokolle, die jeder Benutzer für die Verbindung mit anderen Systemen benötigt.

UDP

UDP-Scans sind langsamer als TCP-Scans, aber es gibt viele UDP-Dienste, die Angreifer ausnutzen können, z. B. DNS-Exfiltration. Verteidiger müssen ihre UDP-Ports ähnlich intensiv schützen wie ihre TCP-Ports. UDP-Scans funktionieren am besten, wenn man bestimmte Nutzdaten an das Ziel schickt. Wenn man zum Beispiel wissen möchte, ob ein DNS-Server aktiv ist, schickt man eine DNS-Anfrage. Bei anderen UDP-Ports wird das Paket leer gesendet. Eine „Nicht erreichbar“-ICMP-Antwort bedeutet, dass der Port geschlossen oder gefiltert ist. Wenn ein Dienst ausgeführt wird, erhalten Sie möglicherweise eine UDP-Antwort, was bedeutet, dass der Port offen ist. Keine Antwort könnte bedeuten, dass der Port offen oder gefiltert ist. Eine logischere Vorgehensweise für UDP-Scans ist, eine DNS-Abfrage an den UDP-Port 53 zu senden, um zu sehen, ob man eine DNS-Antwort erhält. Wenn eine Antwort kommt, wissen Sie, dass sich ein DNS-Server auf dem Computer befindet. Ein UDP-Scan kann nützlich sein, um nach aktiven Diensten zu suchen, und der Nmap-Portscanner ist voreingestellt, um Anfragen für zahlreiche Standarddienste zu versenden.

Der Unterschied zwischen TCP und UDP

TCP und UDP sind die zwei am weitesten verbreiteten Protokolle für Internet-Protocol-Netzwerke (IP). Transmission Control Protocol (TCP) ist ein ordentliches Transaktionsprotokoll: TCP sendet alle Pakete nacheinander, mit vollständiger Fehlerprüfung, Verifizierung und einem Dreiwege-Handshake zur Bestätigung der erfolgreichen Übertragung des Pakets. UDP bietet keine Fehlerprüfung, ist aber tendenziell schneller. Aus diesem Grund wird UDP häufig für Live-Streaming und Online-Videospiele verwendet. UDP ist ein verbindungsloses Protokoll, und Programme, die UDP verwenden, senden nur die Daten – wenn man ein Paket verpasst, bekommt man es nicht erneut.

Stealth-Scanning

Einige Portscans sind leichter zu erkennen als andere, daher müssen Verteidiger diese TCP-Flags kennen, mit denen Angreifer ihre Portscans tarnen. Wenn man einen Portscan mit einem Paket und dem FIN-Flag sendet, wird das Paket verschickt, ohne dass eine Antwort erwartet wird. Wenn man eine RST-Antwort erhält, kann man davon ausgehen, dass der Port geschlossen ist. Wenn man keine Antwort erhält, deutet das darauf hin, dass der Port offen ist. Firewalls achten auf SYN-Pakete, FIN-Pakete können also unbemerkt durchkommen. Der X-MAS Scan sendet ein Paket, bei dem die Flags FIN, URG und PUSH gesetzt sind. Er erwartet eine RST- oder gar keine Antwort, genau wie der FIN-Scan. Dieser Scan hat keinen besonderen praktischen Nutzen, das Paket sieht dabei aber aus wie ein Weihnachtsbaum, was ja auch schön ist. Man kann Pakete auch ohne Flags senden, sogenannte NULL-Pakete. Die Antwort ist entweder RST oder gar nichts. Der Vorteil – für Hacker – bei diesen Scans ist, dass sie üblicherweise in keiner Log-Datei auftauschen. Neuere Intrusion Detection Software (IDS) und natürlich WireShark können diese Scans erfassen. Die schlechte Nachricht ist, dass Sie nur geschlossene Ports sehen werden, wenn das Ziel mit einem Microsoft-Betriebssystem läuft – aber wenn Sie einen offenen Port finden, können Sie davon ausgehen, dass es sich nicht um einen Windows-Rechner handelt. Der größte Vorteil der Arbeit mit diesen Flags ist, dass sie sich an der Firewall vorbeimogeln können, was die Ergebnisse aussagekräftiger macht.

Zusätzliche Scantechniken

Die hier besprochenen Scans sind die gängigsten, diese Liste ist jedoch nicht vollständig. Im Folgenden finden Sie weitere Scans und ihre Vorteile:

  • TCP-ACK-Scan: zum Zuordnen von Firewall-Regelsätzen
  • TCP-Window-Scan: Kann offene Ports von geschlossenen Ports unterscheiden, funktioniert aber nur bei wenigen Systemen
  • –scanflags: Fortschrittliche Benutzer, die ihre benutzerdefinierten TCP-Flags in einem Scan senden möchten, können das in Nmap tun.

Portscan-Tools

  1. Nmap
  2. Advanced Port Scanner
  3. Netcat
  4. Advanced Port Scanner
  5. NetScan Tools

Erkennen von Portscannern

Es gibt verschiedene Methoden zur Erkennung von Portscans, mit denen Ihr Netzwerk auf Schwachstellen gescannt wird. Eine Möglichkeit besteht darin, eine dedizierte Softwarelösung zur Erkennung von Portscans zu verwenden, beispielsweise PortSentry oder ScanlogdNetcat bietet Portscanning-Funktionen sowie die Möglichkeit, einen einfachen Chat-Server zu erstellen oder verschiedene Pakete zu Testzwecken zu programmieren. Intrusion-Detection-Systeme (IDS) sind eine weitere Möglichkeit, Portscans zu erkennen. Suchen Sie nach einem IDS, das eine Vielzahl von Regeln verwendet, um verschiedene Arten von Portscans zu erkennen, die sich nicht anhand einfacher Schwellenwerte feststellen lassen.

Warum Sie einen Portscan durchführen sollten

Vorsorgliche Portscans sind ein empfohlenes Mittel, um verschiedene Schwachstellen zu erkennen und zu sichern, die Angreifer ausnutzen könnten. Vorsorgliche Portscans sind eine gute Gewohnheit und sollten regelmäßig wiederholt werden. Prüfen und auditen Sie auch alle offenen Ports, um sicherzustellen, dass diese korrekt verwendet werden und dass alle Anwendungen, die offene Ports verwenden, sicher und vor bekannten Schwachstellen geschützt sind.

Auswirkungen von Portscans

Hier sind einige Bemerkungen zur Durchführung von Portscans. Bestimmte Dienste oder Computer können durch Portscans ausfallen. Dies gilt eher für interne Systeme als für Systeme, die mit dem Internet verbunden sind, es kann jedoch vorkommen. Portscans ohne Autorisierung können als aggressive Handlung betrachtet werden. Wenn Sie sich in einem gemeinsam genutzten Netzwerk befinden, scannen Sie möglicherweise ein System, das nicht unter Ihrer Kontrolle steht – und das ist nicht gut. Portscans sind ein wichtiger Teil beim Aufbau einer guten Verteidigung gegen Cyberangriffe. Angreifer nutzen ebenfalls Portscans. Man muss ihnen zuvorkommen, so mögliche Angriffsvektoren eliminieren und ihnen das Leben so schwer wie möglich machen. Der Schutz des Perimeters ist jedoch nur ein Teil des Kampfes. Sie müssen Ihre Daten mit derselben Wachsamkeit schützen und überwachen wie Ihre Ports Die Varonis Data Security Platform hilft Ihnen, Ihre Daten zu schützen, indem sie interne Barrieren für Ihre sensibelsten Daten aufbaut und dann alle Aktivitäten überwacht, die sich auf diese Daten auswirken könnten. Werfen Sie einen Blick auf unser Live-Labor für Cyberangriffe, um zu erfahren, wie Varonis Daten vor verschiedenen Angriffen schützt.

Jeff Petters

Jeff Petters

Jeff has been working on computers since his Dad brought home an IBM PC 8086 with dual disk drives. Researching and writing about data security is his dream job.

 

Möchten Sie Varonis in Aktion erleben?

Vereinbaren Sie eine Demo oder wenden Sie sich an unseren Vertrieb unter +49 89 3803 7990