5 grundlegende Techniken zum Scannen von Ports

Ports

Stellen Sie sich einen langen Flur mit Türen auf beiden Seiten vor. Insgesamt gibt es 131.082 Türen. Die Türen rechts sind TCP, die links UDP. Einige dieser Türen sind markiert, die meisten aber nicht. An einigen gibt es Schlösser und Überwachungskameras, an den meisten aber nicht.
Dieser Anblick könnte sich einem Cyberkriminellen bieten, wenn er einen Ihrer Computer unter die Lupe nimmt – mit dem Unterschied, dass er sich viele Flure und alle Türen gleichzeitig anschaut. Und haben Sie selbst alle Türen im Blick? Vielleicht einige? Nutzen Sie dieselben Techniken für das Scannen von Ports, die auch ein Cyberkrimineller verwenden würde, um Sicherheitslücken bei Ihnen aufzuspüren? Das sollten Sie tun.

Was ist ein Port-Scanner?

Ein Port-Scanner ist ein einfaches Programm, dass all diese Türen – die wir ab jetzt Ports nennen werden – untersucht und in eine der drei möglichen Kategorien einordnet: Offen, Geschlossen oder Gefiltert.

Es gibt zwei Arten von Ports auf jedem Computer – TCP und UDP – und von beiden Arten jeweils 65.536 Stück.

Die ersten 1024 TCP-Ports sind allgemein bekannte Ports wie FTP(21), HTTP(80) oder SSH(22). Alles über 1024 ist für Dienste oder Anwendungen reserviert.

Cyberkriminelle verwenden einen Port-Scanner, um potenzielle Schwachstellen zu finden, die sie mit Malware oder einem Trojaner in diesem System ausnutzen oder über die sie diesen Computer mit anderen Systemen in Ihrem Netzwerk verbinden können.

Wie funktioniert Port-Scanning?

Das Scannen von Ports ist recht einfach: Der Port-Scanner sendet eine Verbindungsanfrage an einen Port eines Computers und zeichnet die Antwort auf.

ports scanning responses illustrated with descriptions

Es gibt drei mögliche Antworten:

  1. Open / Offen: Der Computer antwortet und fragt, was er für Sie tun kann.
  2. Closed / Geschlossen: Der Computer antwortet, dass „dieser Port aktuell genutzt wird und nicht verfügbar ist“.
  3. Filtered / Gefiltert (Blocked / Geblockt): Der Computer macht sich nicht einmal die Mühe, zu antworten. Er hat keine Zeit für Mätzchen.

Cyberkriminelle suchen nach offenen Ports, die sie als Kommunikationsrelais oder Eingangstüren in Ihr Netzwerk nutzen können. Jeder offene Port, den sie finden, ist ein potenzieller Angriffspunkt für die weitere Infiltration Ihres Netzwerks.

Wir wollen einen Blick auf in paar Unterschiedliche Techniken für das Scannen von Ports werfen.

Ping Scan

Die einfachsten Scans von Ports sind Ping Scans. Ein Ping ist ein Internet Control Message Protocol Echo Request – Sie suchen nach einer beliebigen ICMP-Antwort, die signalisiert, dass das Ziel aktiv ist. Ein Ping Scan entspricht dem massenhaften Absetzen von ICMP Echo Requests an unterschiedliche Ziele, um zu sehen, wer antwortet.

Administratoren deaktivieren Ping üblicherweise an der Firewall oder am Router. Das Abschalten dieser Funktion geht schnell und ist einfach, und danach kann das Netzwerk nicht mehr auf diese Weise ausspioniert werden. Ping ist allerdings auch ein gutes Werkzeug für die Fehlersuche, und es auszuschalten kann das Aufspüren von Netzwerkproblemen etwas komplizierter machen.

TCP halb-offen

Eine der am weitesten verbreiteten und beliebten Techniken für das Scannen von Ports ist das Scannen nach halb-offenen TCP-Ports, das 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. Der Scan ist schnell, weil der TCP Three-Way-Handshake nie vollständig vollzogen wird. Der Scanner sendet eine SYN-Nachricht und beobachtet einfach die SYN-ACK-Antworten. Er stellt die Verbindung gar nicht durch Senden des finalen ACK-Pakets her: er lässt das Ziel hängen.

Jede SYN-ACK-Antwort stellt eine Verbindungsmöglichkeit dar: die Antwort RST(reset) bedeutet, dass der Port geschlossen ist, aber dass es unter der Adresse einen aktiven Computer gibt. Das Ausbleiben einer Antwort deutet darauf hin, dass SYN im Netzwerk gefiltert ist. Alle SYN-ACK-Antworten stellen für Cyberkriminielle eine Methode dar, sich schnell das nächste potenzielle Opfer zu suchen.

TCP Connect

Dieses Port-Scanning-Verfahren entspricht im Grund dem Verfahren TCP halb-offen, aber anstatt das Ziel hängen zu lassen, stellt der Port-Scanner die TCP-Verbindung her.

Diese Technik ist nicht so beliebt wie TCP halb-offen. Erstens muss mehr als ein Paket pro Scan versendet werden, wodurch mehr Lärm im Netzwerk verursacht wird.* Und zweitens könnten Sie, weil die Verbindung zum Ziel wirklich hergestellt wird, einen Alarm auslösen, der beim Halb-offen-Scan still bleiben würde.

* Technischer Jargon: „Lärm“ wird von Programmen verursacht, die große Mengen an Paketen im Netzwerk herumsenden. Eine andere Bezeichnung hierfür ist „chatty“, also „geschwätzig“ .

basic ports scanning techniques

UDP

UDP bildet die andere Seite unseres „Flurs“. Einige Standarddienste – z. B. DNS, SNMP und DHCP – nutzen UDP-Ports anstelle von TCP-Ports. Wenn Sie einen UDP-Port-Scan ausführen, senden Sie je nach Anwendungsziel entweder ein leeres Paket oder ein Paket mit unterschiedlichem Inhalt pro Port.

Das Besondere bei einem UDP-Scan besteht darin, dass Sie nur dann eine Antwort erhalten, wenn der Port geschlossen ist, wodurch Sie wissen, das an der Adresse ein Computer vorhanden ist. Abhängig davon, welcher Port geantwortet hat, wissen Sie möglicherweise, ob DNS oder SNMP auf ihm läuft, aber das war es eigentlich auch schon. Wenn keine Antwort kommt, ist der Port entweder offen oder gefiltert und sie müssen den Scan möglicherweise häufiger ausführen, bevor Sie etwas über das Ziel erfahren. Sie können eine ganze Weile auf eine Antwort warten, die niemals kommt.

Eine logischere Vorgehensweise für UDP-Scans ist, eine DNS-Abfrage an den UDP-Port 53 zu senden, um zu sehen, ob Sie eine DNS-Antwort erhalten. Wenn eine Antwort kommt, wissen Sie, dass auf dem Computer ein DNS-Server liegt. Ein UDP-Scan kann nützlich sein, um auf diese Weise nach aktiven Diensten zu suchen, und der nmap Port-Scanner ist vorkonfiguriert, 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 (IP)-Netzwerke. Transmission Control Protocol (TCP) ist ein schön geordnetes Transaktionsprotokoll: TCP sendet alle Pakete nacheinander, mit vollständiger Fehlerprüfung, Verifizierung und einem Three-Way-Handshake zur Bestätigung der erfolgreichen Übertragung des Pakets.

Das UDP hat keine Form der Fehlerprüfung, ist dafür aber schneller: Für Live-Streams und Online-Videospiele wird deshalb häufig UDP verwendet. Programme, die UDP nutzen, senden die Daten einfach – wenn ein Paket verloren geht, ist es nicht wieder herstellbar.

Bei der Abwägung zwischen TCP und UDP kommt es darauf an, was Sie brauchen – müssen die Daten vollständig sein oder muss die Übertragung schnell gehen? Wenn Vollständigkeit wichtig ist, verwenden Sie TCP, wenn Sie Geschwindigkeit priorisieren und einen gewissen Datenverlust tolerieren können, ist UDP die Wahl.

Stealth-Scanning

Manchmal möchte ein Hacker (Whitehat oder Blackhat) einen Port-Scan durchführen, der noch stiller und unauffälliger ist als die anderen Scan-Methoden. Dafür bietet TCP einige Flags, die genau das ermöglichen.

Wenn Sie einen Port-Scan mit einem Paket und dem FIN-Flag senden, wird das Paket verschickt, ohne dass eine Antwort erwartet wird. Wenn Sie eine RST-Rückmeldung erhalten, können Sie davon ausgehen, dass der Port geschlossen ist. Wenn Sie nichts erhalten, deutet das darauf hin, dass der Port offen ist. Firewalls achten auf SYN-Pakete, FIN-Pakete können hingegen unbemerkt durchschlüpfen.

Der X-MAS Scan sendet ein Paket, bei dem die Flags FIN, URG und PUSH gesetzt sind. Er verlangt eine RST- oder gar keine Rückmeldung, genau wie der FIN-Scan. Dieser Scan hat keinen besonderen praktischen Nutzen, das Paket sieht dabei aber aus wie ein Weihnachtsbaum, was ja auch etwas ist.
Sie können auch Pakete ohne Flags senden, sogenannte NULL-Pakete, und die Antwort ist entweder RST oder gar nichts.

Der Vorteil – für den Hacker – bei diesen Scans ist, dass sie üblicherweise in keiner Protokolldatei auftauschen. Aktuellere 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.

Port-Scanning und Penetrationstests sind wichtige Bestandteile der Cyber-Kill-Chain, die zu Einbrüchen in das Netzwerk, Exploits, Berechtigungseskalationen und weiteren Schäden führen kann. Port-Scanning ist häufig nur ein Teil des Gesamtbildes bei einem Cyber-Angriff.

Wenn Sie Datensicherheitsverletzungen untersuchen, ist der Kontext das entscheidende Element: Die Ergänzung mit detaillierten Standortinformationen bei Dateiaktivitäten kann Ihnen zum Beispiel helfen, zu entscheiden, ob auf die Dateien von einem bekannten oder unbekannten Ort zugegriffen wird. Varonis Edge ergänzt die Server-, E-Mail- und AD-Überwachungsdaten von Varonis DatAdvantage mit Kontextinformationen von Perimetergeräten. Das kann den entscheidenen Unterschied bei der Unterscheidung zwischen anormalem – aber zulässigem – Benutzerverhalten und einem laufenden Cyber-Angriff ausmachen.

Lassen Sie sich mit einer individuellen 1:1-Demonstration zeigen, wie Varonis Ihre Datensicherheitsuntersuchungen mit Kontextinformationen verbessern und zum Schutz auf jeder Stufe der Kill-Chain beitragen kann.

Ports Scanning