Mobile-Menu

Offene Ports und Schwachstellen in Netzwerk identifizieren Masscan: Netzwerke in kurzer Zeit effektiv scannen

Von Thomas Joos 5 min Lesedauer

Masscan ist ein Netzwerk-Scanning-Tool, das für die schnelle Erkundung von Netzwerken eingesetzt wird. Es arbeitet ähnlich wie Nmap, fokussiert sich jedoch auf sehr hohe Scan-Geschwindigkeiten. Der Beitrag zeigt die Möglichkeiten des Tools.

Zur Absicherung von Netzwerken gehört auch der regelmäßige Check auf offene Ports. Das Tool Masscan kann hier helfen.(Bild:  bitano - stock.adobe.com / KI-generiert)
Zur Absicherung von Netzwerken gehört auch der regelmäßige Check auf offene Ports. Das Tool Masscan kann hier helfen.
(Bild: bitano - stock.adobe.com / KI-generiert)

Masscan kann Millionen von IP-Adressen innerhalb kurzer Zeit scannen, was es für große Netzwerke oder das Auffinden von offenen Ports in globalen IP-Bereichen geeignet macht. Es sendet rohe Pakete direkt über den Netzwerkstack und nutzt asynchrone Scanning-Methoden, um eine hohe Effizienz zu erzielen. Das Tool lässt sich manuell installieren, steht aber auch in Kali direkt zur Verfügung.

Bildergalerie

Verwendung von Masscan

Ein typisches Anwendungsbeispiel für Masscan ist das Scannen eines bestimmten IP-Bereichs auf offene Ports. Dies wird wie folgt durchgeführt:

masscan -p80,443 192.168.1.0/24

Dieser Befehl scannt das gesamte Subnetz 192.168.1.0/24 auf offene Ports 80 und 443. Das Tool gibt für jede gefundene offene Verbindung die IP-Adresse und den offenen Port aus. Die Ausführung muss mit Root-Rechten erfolgen.

Masscan bietet umfassende Möglichkeiten zur Steuerung der Scan-Geschwindigkeit. Dies ist insbesondere bei Netzwerken mit begrenzter Bandbreite oder bei der Vermeidung von Überlastungen wichtig. Der folgende Befehl zeigt, wie die Scan-Rate eingestellt werden kann:

masscan -p22 10.0.0.0/8 --rate 1000

Dieser Scan führt 1000 Pakete pro Sekunde aus, was eine moderate Geschwindigkeit darstellt. Ohne eine explizite Rate-Einstellung scannt Masscan mit der maximal möglichen Geschwindigkeit, was in vielen Netzwerken jedoch zu Paketverlusten führen kann.

Ausgaben von Masscan speichern und IP-Bereiche ausschließen

Masscan erlaubt die Ausgabe in verschiedenen Formaten, zu Beispiel im XML-Format, um die Ergebnisse später weiterzuverarbeiten:

masscan -p80 192.168.1.0/24 -oX output.xml

In diesem Beispiel werden die Scan-Ergebnisse in eine XML-Datei gespeichert. Ein weiteres häufiges Anwendungsszenario ist der Ausschluss bestimmter IP-Bereiche, um Fehlalarme oder den Scan von unerwünschten Zielen zu vermeiden:

masscan -p80 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.10

Dieser Befehl schließt die IP-Adressen 192.168.1.5 und 192.168.1.10 aus dem Scan aus.

Masscan ermöglicht zudem den Scan von TCP-Flags, um spezifische Zustände von Hosts zu identifizieren. Ein Beispiel dafür ist der Scan auf SYN-ACK-Flags:

masscan -p80 192.168.1.0/24 --banners

Dieser Befehl ermöglicht es, neben dem einfachen Scan auch zusätzliche Informationen, wie zum Beispiel Banner oder Dienstversionen, zu erhalten.

Masscan ermöglicht es auch, einen Scan zeitlich zu limitieren. Dies ist nützlich, wenn nur eine bestimmte Zeit für die Netzwerkerkundung zur Verfügung steht oder wenn die Netzwerkbelastung in einem eng definierten Zeitrahmen minimiert werden soll. Das Zeitlimit kann wie folgt gesetzt werden:

masscan -p22 10.0.0.0/8 --max-rate 10000 --scan-time 3600

Hier wird ein Netzwerk mit einem Adressbereich von 10.0.0.0/8 auf SSH-Port 22 gescannt. Die maximale Geschwindigkeit beträgt 10.000 Pakete pro Sekunde, und der Scan stoppt nach genau einer Stunde (3600 Sekunden).

Vermeidung von Erkennungen durch IDS/IPS-Systeme

Masscan erlaubt es, die Paketrate auf ein Maß zu drosseln, das von Intrusion Detection Systemen (IDS) oder Intrusion Prevention Systemen (IPS) schwieriger zu erkennen ist. Das folgende Beispiel zeigt, wie eine geringe Rate für diesen Zweck eingestellt wird:

masscan -p80,443 192.168.0.0/16 --rate 100 --randomize-hosts

Dieser Befehl scannt das Netzwerk 192.168.0.0/16 auf Ports 80 und 443, jedoch mit einer reduzierten Geschwindigkeit von 100 Paketen pro Sekunde. Die Option --randomize-hosts sorgt dafür, dass die Hosts zufällig statt sequenziell gescannt werden, was die Wahrscheinlichkeit verringert, dass die Scans durch Abwehrsysteme erkannt werden.

In Netzwerken mit aktiven Intrusion Detection oder Prevention Systemen kann die Erkennung von Scans durch fragmentierte Pakete erschwert werden. Masscan erlaubt es, Pakete zu fragmentieren, um solche Systeme zu umgehen:

masscan -p80 192.168.1.0/24 --fragment

Durch die Option --fragment werden die Pakete in kleinere Teile aufgeteilt, was es IDS- und IPS-Systemen erschwert, die Scan-Aktivitäten zu erkennen.

Scannen mit mehreren IP-Adressen als Quell-IP

Für erweiterte Szenarien, in denen die Quell-IP beim Scan verändert werden soll, um nicht als einzelner Absender erkannt zu werden, kann Masscan so konfiguriert werden, dass es unterschiedliche Quell-IP-Adressen verwendet:

masscan -p80 192.168.1.0/24 --source-ip 192.168.2.1 --source-port 60000

Dieser Befehl setzt die Quell-IP-Adresse des Scans auf 192.168.2.1 und verwendet den Quellport 60000. Diese Funktion ist nützlich, um Lasten gleichmäßig zu verteilen oder Sicherheitsmechanismen zu umgehen, die auf bestimmte Quelladressen oder Ports fokussiert sind.

Masscan ermöglicht das gleichzeitige Scannen mehrerer Ports bei unterschiedlichen Geschwindigkeiten, indem für jeden Port individuelle Ratenbeschränkungen festgelegt werden. So kann man kritische Ports langsamer scannen, während weniger riskante Ports schneller gescannt werden:

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Netzwerktechnik, IP-Kommunikation und UCC

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung
masscan -p80,22,25 192.168.0.0/16 --rate 1000 --rate 22=100 --rate 25=500

Dieser Befehl scannt das Netzwerk 192.168.0.0/16 auf Port 80 mit 1000 Paketen pro Sekunde, auf Port 22 mit 100 Paketen pro Sekunde und auf Port 25 mit 500 Paketen pro Sekunde. Dies erlaubt es, die Netzwerklast für kritische Ports zu minimieren, während andere Ports schneller gescannt werden.

Verwendung von spezifischen Netzwerk-Interfaces

In komplexen Netzwerken mit mehreren Netzwerkschnittstellen kann Masscan so konfiguriert werden, dass es ein bestimmtes Interface verwendet. Dies ist nützlich, um sicherzustellen, dass der Scan über das richtige Netzwerksegment durchgeführt wird:

masscan -p22 10.0.0.0/8 --interface eth1

Dieser Befehl scannt den Port 22 im Netzwerk 10.0.0.0/8 unter Verwendung der Netzwerkschnittstelle eth1. Dies ist besonders in Umgebungen relevant, in denen mehrere Netzwerkschnittstellen vorhanden sind, etwa in DMZs oder bei Multi-Homed-Servern.

Scannen mit angepasster TTL (Time to Live)

Masscan erlaubt es, die TTL (Time to Live) für die gesendeten Pakete anzupassen, was zur Manipulation von Paketwegen oder zur Analyse von Netzwerkgeräten genutzt werden kann:

masscan -p80 192.168.1.0/24 --ttl 128

Dieser Befehl setzt die TTL der Pakete auf 128, was bedeutet, dass Pakete maximal 128 Hops durchlaufen können, bevor sie verworfen werden. Durch die Anpassung der TTL kann man gezielt untersuchen, wie weit Pakete in einem Netzwerk gelangen oder wie Netzwerkgeräte auf Pakete mit bestimmten TTL-Werten reagieren.

Scannen bestimmter IP-Protokolle

Neben dem Scannen von TCP-Ports unterstützt Masscan auch das Scannen von IP-Protokollen, was nützlich ist, um Netzwerkgeräte und deren Reaktion auf spezielle Protokolle zu testen:

masscan --protocols 1,6,17 192.168.1.0/24

In diesem Beispiel wird das Subnetz 192.168.1.0/24 auf die IP-Protokolle ICMP (1), TCP (6) und UDP (17) gescannt. Dies ist hilfreich, um herauszufinden, welche Protokolle in einem Netzwerk erlaubt sind oder blockiert werden.

Broadcast-Scanning für lokale Netze

In einem LAN kann Masscan auch verwendet werden, um Broadcast-Adressen zu scannen und so Geräte zu identifizieren, die auf Broadcast-Anfragen reagieren:

masscan -p67,68 255.255.255.255 --interface eth0 --rate 100

Dieser Befehl scannt die Broadcast-Adresse auf den Ports 67 und 68 (DHCP), um zu prüfen, welche Geräte im Netzwerk auf DHCP-Anfragen reagieren. Die Verwendung von Broadcast-Scanning kann zur Identifizierung von Netzwerkgeräten ohne explizite IP-Zuweisung genutzt werden.

Scannen mit IP- und Port-Range

Masscan erlaubt die Kombination von IP- und Port-Bereichen, um gezielte Scans über mehrere Netzwerke und Portgruppen hinweg durchzuführen. Dies ist nützlich in Umgebungen, in denen sowohl große Adressbereiche als auch viele Ports gleichzeitig gescannt werden müssen:

masscan -p20-25,80,443 192.168.0.0-192.168.255.255

Dieser Befehl scannt den gesamten Adressbereich von 192.168.0.0 bis 192.168.255.255 auf die Ports 20 bis 25, 80 und 443. Diese Art von Scan eignet sich für Netzwerke mit dynamisch vergebenen IP-Adressen, bei denen eine umfassende Port-Erkundung durchgeführt werden muss.

Scannen mit angepasster MTU (Maximum Transmission Unit)

In bestimmten Netzwerken kann es notwendig sein, die MTU zu verringern, um eine bessere Kompatibilität mit Netzwerkswitches oder Routern zu gewährleisten, die Pakete über einer bestimmten Größe fragmentieren. Masscan unterstützt das Anpassen der MTU:

masscan -p80 192.168.1.0/24 --mtu 1200

Dieser Befehl reduziert die maximale Paketgröße (MTU) auf 1200 Bytes. Masscan erlaubt es auch, Scans mit einer definierten Verzögerung zu starten, was in Situationen sinnvoll ist, in denen der Scan zu einem späteren Zeitpunkt oder nicht zu Lastspitzenzeiten beginnen soll:

masscan -p22 192.168.1.0/24 --wait 3600

In diesem Beispiel wird der Scan nach einer Verzögerung von einer Stunde (3600 Sekunden) gestartet. Diese Funktion ist praktisch, wenn die Scan-Aktivitäten zu einem bestimmten Zeitpunkt durchgeführt werden müssen, etwa nach Wartungsfenstern oder außerhalb der Geschäftszeiten.

(ID:50239732)