Nmap Grundlagen für Netzwerk-Scans lernen

NmapNmapBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden Sie die Grundlagen des Netzwerkscannings mit Nmap lernen, einem äußerst beliebten und vielseitigen Netzwerksicherheitstool. Nmap, kurz für Network Mapper, ist ein Open - Source - Werkzeug zur Netzwerkermittlung und Sicherheitsüberprüfung. Es hilft, Hosts und Dienste in einem Computernetzwerk zu identifizieren, was für IT - Sicherheitsfachleute unerlässlich ist, um potenzielle Sicherheitslücken zu entdecken und die Systemicherheit zu gewährleisten.

Im Laufe dieses Labs werden Sie lernen, grundlegende Hostermittlungen durchzuführen, offene Ports zu identifizieren und laufende Dienste zu erkennen. Diese Fähigkeiten sind für Netzwerkadministratoren und Sicherheitsfachleute von entscheidender Bedeutung, um die Netzwerkinfrastruktur zu überwachen, potenzielle Sicherheitsrisiken zu finden und die ordnungsgemäße Systemschutzmaßnahmen sicherzustellen. Am Ende werden Sie eine solide Grundlage für die Verwendung von Nmap zum Netzwerkscannen und zur Hostermittlung haben.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 94.59% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-415922{{"Nmap Grundlagen für Netzwerk-Scans lernen"}} nmap/port_scanning -.-> lab-415922{{"Nmap Grundlagen für Netzwerk-Scans lernen"}} nmap/host_discovery -.-> lab-415922{{"Nmap Grundlagen für Netzwerk-Scans lernen"}} nmap/target_specification -.-> lab-415922{{"Nmap Grundlagen für Netzwerk-Scans lernen"}} nmap/service_detection -.-> lab-415922{{"Nmap Grundlagen für Netzwerk-Scans lernen"}} end

Grundlagen von Nmap und Einrichtung der Umgebung

Was ist Nmap?

Nmap, kurz für Network Mapper, ist ein kostenloses und Open - Source - Tool. Es wird hauptsächlich zur Netzwerkermittlung und Sicherheitsüberprüfung eingesetzt. Für viele System- und Netzwerkadministratoren ist Nmap ein sehr nützliches Werkzeug. Hier sind einige häufige Aufgaben, bei denen Nmap hilfreich ist:

  • Netzwerkbestandsaufnahme und Verwaltung des Service - Upgrade - Zeitplans: Nmap kann Ihnen helfen, herauszufinden, welche Geräte in Ihrem Netzwerk vorhanden sind und welche Dienste sie ausführen. Diese Informationen sind entscheidend für die Planung der Upgrades dieser Dienste.
  • Überwachung der Verfügbarkeit von Hosts oder Diensten: Sie können Nmap verwenden, um zu prüfen, ob ein bestimmter Host oder Dienst aktiv ist. Dies ist wichtig, um die Zuverlässigkeit Ihres Netzwerks sicherzustellen.
  • Entdeckung offener Ports auf Zielsystemen: Offene Ports können potenzielle Einstiegspunkte für Angreifer sein. Mit Nmap können Sie herausfinden, welche Ports auf einem Zielsystem geöffnet sind, um sie bei Bedarf zu sichern.
  • Sicherheitsüberprüfung und Identifizierung von Sicherheitslücken: Nmap kann Ihnen auch helfen, Sicherheitslücken in Ihrem Netzwerk zu identifizieren. Es kann feststellen, ob es Schwachstellen gibt, die Angreifer ausnutzen könnten.

Einrichtung Ihrer Testumgebung

Bevor wir beginnen, Nmap zum Durchführen von Scans zu verwenden, benötigen wir ein Ziel, das wir scannen können. In diesem Fall werden wir einen einfachen HTTP - Server mit den integrierten Funktionen von Python einrichten.

Zunächst müssen wir in unser Projektverzeichnis wechseln. Hier werden alle Dateien, die sich auf dieses Experiment beziehen, gespeichert. Dazu verwenden wir den cd - Befehl im Terminal. Der cd - Befehl steht für "change directory" (Verzeichnis wechseln). Hier ist der Befehl:

cd /home/labex/project

Jetzt, da wir im richtigen Verzeichnis sind, werden wir eine einfache HTML - Datei erstellen. Diese Datei wird von unserem Webserver ausgeliefert. Wir verwenden den echo - Befehl, um den HTML - Inhalt zu erstellen, und den > - Operator, um diesen Inhalt in eine Datei namens index.html umzuleiten. Die Datei index.html ist ein üblicher Name für die Hauptseite einer Website. Hier ist der Befehl:

echo "<html><body><h1>Test Web Server for Nmap Scanning</h1></body></html>" > index.html

Um sicherzustellen, dass die Datei korrekt erstellt wurde, können wir ihren Inhalt mit dem cat - Befehl anzeigen. Der cat - Befehl ist kurz für "concatenate" (zusammenfügen) und wird oft verwendet, um den Inhalt einer Datei anzuzeigen. Hier ist der Befehl:

cat index.html

Wenn alles gut gegangen ist, sollten Sie den folgenden HTML - Inhalt sehen:

<html><body><h1>Test Web Server for Nmap Scanning</h1></body></html>

Jetzt sind wir bereit, unseren einfachen HTTP - Server zu starten. Wir verwenden das integrierte http.server - Modul von Python, um einen Server auf Port 8000 zu starten. Das & am Ende des Befehls ist wichtig. Es lässt den Server im Hintergrund laufen, was bedeutet, dass wir das Terminal weiterhin für andere Befehle verwenden können, während der Server läuft. Hier ist der Befehl:

python3 -m http.server 8000 &

Nachdem Sie diesen Befehl ausgeführt haben, sollten Sie eine Ausgabe ähnlich der folgenden sehen:

[1] 1234
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

Jetzt haben wir einen Webserver, der auf Port 8000 läuft. Dieser Server läuft auf Ihrem lokalen Rechner mit der IP - Adresse 127.0.0.1. Dieser lokale Server wird unser Ziel für die Nmap - Scans sein.

Grundlegende Hostermittlung mit Nmap

Hostermittlungstechniken

Die Hostermittlung, auch als Ping - Scanning bekannt, ist ein grundlegender Prozess in der Netzwerksicherheit. Sie hilft uns zu ermitteln, welche Hosts derzeit im Netzwerk aktiv sind. Stellen Sie sich vor, es sei eine Möglichkeit, zu überprüfen, ob es irgendwelche Geräte gibt, die aktiv mit dem Netzwerk verbunden sind. Nmap, ein leistungsstarkes Tool zur Netzwerkexploration und Sicherheitsüberprüfung, bietet mehrere Methoden zur Hostermittlung:

  • ICMP Echo - Anfragen (Ping): Dies ist wie das Senden einer einfachen "Hallo" - Nachricht an einen Host und das Warten auf eine Antwort. Wenn der Host aktiv ist, wird er antworten und uns damit signalisieren, dass er erreichbar ist.
  • TCP SYN - Scanning an bestimmte Ports: Diese Methode sendet ein SYN - Paket an bestimmte Ports auf einem Host. Wenn der Host antwortet, bedeutet dies, dass der Port geöffnet ist und der Host wahrscheinlich aktiv ist.
  • TCP ACK - Scanning: Ähnlich wie das TCP SYN - Scanning, aber es verwendet ACK - Pakete anstelle von SYN - Paketen. Es kann in bestimmten Netzwerkumgebungen nützlich sein.
  • UDP - Scanning: UDP ist ein anderer Typ von Netzwerkprotokoll. Das UDP - Scanning prüft, ob UDP - Ports auf einem Host geöffnet sind, was uns auch helfen kann, zu bestimmen, ob der Host aktiv ist.

In diesem Schritt beginnen wir mit einem einfachen Ping - Scan, um zu überprüfen, ob unser lokaler Host aktiv ist. Der lokale Host ist das Gerät, auf dem wir derzeit arbeiten, und seine IP - Adresse ist 127.0.0.1.

Durchführung eines Ping - Scans

Führen wir einen einfachen Ping - Scan mit Nmap durch. Wir verwenden den -sn - Schalter, der eine wichtige Option in Nmap ist. Dieser Schalter teilt Nmap mit, nur die Hostermittlung durchzuführen und den Port - Scanning - Prozess zu überspringen. Das Port - Scanning kann zeitaufwendig sein, insbesondere in großen Netzwerken. Daher hilft uns dieser Schalter, schnell zu überprüfen, ob ein Host erreichbar ist.

nmap -sn 127.0.0.1

Wenn Sie diesen Befehl ausführen, sollten Sie eine Ausgabe ähnlich der folgenden sehen:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-15 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

Die Ausgabe zeigt, dass unser lokaler Host (127.0.0.1) aktiv ist. Der Latenzwert (0.000097s) gibt an, wie lange es dauert, bis der Host auf unsere Ping - Anfrage antwortet. Ein niedrigerer Latenzwert bedeutet, dass der Host schnell geantwortet hat.

Es ist eine gute Praxis, die Ergebnisse unseres Scans für die Zukunft zu speichern. Wir können dies tun, indem wir die Ausgabe des Nmap - Befehls in eine Datei umleiten.

nmap -sn 127.0.0.1 > /home/labex/project/host_scan.txt

Das > - Symbol wird verwendet, um die Ausgabe des Befehls auf der linken Seite in die Datei auf der rechten Seite umzuleiten. In diesem Fall werden die Ergebnisse unseres Ping - Scans in der Datei host_scan.txt gespeichert.

Lassen Sie uns den Inhalt der Datei anzeigen, um sicherzustellen, dass die Scanergebnisse korrekt gespeichert wurden.

cat /home/labex/project/host_scan.txt

Der cat - Befehl wird verwendet, um den Inhalt einer Datei anzuzeigen. Wenn Sie diesen Befehl ausführen, sollten Sie eine ähnliche Ausgabe wie zuvor im Terminal sehen.

Dieser Typ von Scan ist sehr nützlich. Er ermöglicht es uns, schnell aktive Hosts in einem Netzwerk zu identifizieren, ohne Zeit für detaillierte Port - Scans zu verbringen. Dies kann besonders hilfreich sein, wenn es um große Netzwerke geht, in denen das Port - Scanning jedes Hosts viel Zeit in Anspruch nehmen würde.

Port-Scanning und Diensterkennung

Grundlagen des Port-Scannings

Port-Scanning ist eine grundlegende Technik in der Netzwerksicherheit. In einem Netzwerk sind Ports wie Türen, durch die verschiedene Dienste kommunizieren. Jeder Dienst, wie ein Webserver, E-Mail-Server oder Dateiübertragungsdienst, nutzt einen bestimmten Port, um Daten zu senden und zu empfangen. Port-Scanning ist eine Methode, um zu bestimmen, welche Ports in einem Netzwerk geöffnet sind und möglicherweise Dienste ausführen. Diese Informationen sind aus mehreren Gründen von entscheidender Bedeutung:

  • Identifizierung der auf einem System laufenden Dienste: Indem Sie wissen, welche Ports geöffnet sind, können Sie herausfinden, welche Dienste auf einem bestimmten System verfügbar sind. Beispielsweise bedeutet ein geöffneter Port 80 normalerweise, dass ein Webserver läuft.
  • Entdeckung potenzieller Sicherheitslücken: Geöffnete Ports können ein Sicherheitsrisiko darstellen, wenn sie nicht richtig konfiguriert sind. Einige Dienste können bekannte Sicherheitslücken aufweisen, und durch das Scannen von Ports können Sie diese potenziellen Schwachstellen identifizieren.
  • Überprüfung der Firewall-Konfiguration: Firewalls werden verwendet, um den Netzwerkverkehr zu steuern. Port-Scanning kann Ihnen helfen, zu überprüfen, ob Ihre Firewall richtig konfiguriert ist, um bestimmte Ports zu blockieren oder zuzulassen.
  • Netzwerkfehlerbehebung: Wenn Sie Netzwerkprobleme haben, kann Port-Scanning Ihnen helfen, festzustellen, ob ein bestimmter Dienst nicht erreichbar ist, weil der entsprechende Port geschlossen ist.

Grundlegendes Port-Scanning

Führen wir ein einfaches Port-Scanning auf unserem lokalen Host durch. Der lokale Host ist Ihr eigener Computer, und er wird durch die IP-Adresse 127.0.0.1 repräsentiert. Wir werden uns speziell auf Port 8000 konzentrieren, auf dem unser HTTP-Server läuft. Dazu verwenden wir den nmap-Befehl, ein leistungsstarkes Tool zur Netzwerkexploration und Sicherheitsüberprüfung.

nmap -p 8000 127.0.0.1

In diesem Befehl wird die -p-Option verwendet, um den Port anzugeben, den wir scannen möchten. Wir sagen also nmap, Port 8000 auf dem lokalen Host zu scannen.

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-15 12:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).

PORT     STATE SERVICE
8000/tcp open  http-alt

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

Die Ausgabe zeigt, dass Port 8000 geöffnet ist und einen Dienst ausführt, den Nmap als "http-alt" (alternativer HTTP-Port) identifiziert. Dies bedeutet, dass auf Port 8000 ein Dienst läuft, der einem HTTP-Dienst ähnelt.

Speichern wir die Ergebnisse in einer Datei. Das Speichern der Ergebnisse ist nützlich, da Sie sich später darauf beziehen oder sie mit anderen teilen können. Um die Ergebnisse zu speichern, verwenden wir den >-Operator, der die Ausgabe eines Befehls in eine Datei umleitet.

nmap -p 8000 127.0.0.1 > /home/labex/project/service_scan.txt

Lassen Sie uns nun den Inhalt der Datei anzeigen. Wir können den cat-Befehl verwenden, der zum Anzeigen des Inhalts einer Datei dient.

cat /home/labex/project/service_scan.txt

Dienstversionserkennung

Verwenden wir nun die Dienstversionserkennungsfunktion von Nmap, um mehr Informationen über den auf Port 8000 laufenden Dienst zu erhalten. Die Kenntnis der Version eines Dienstes ist wichtig, da verschiedene Versionen unterschiedliche Sicherheitslücken aufweisen können.

nmap -p 8000 -sV 127.0.0.1

Das -sV-Flag teilt Nmap mit, geöffnete Ports zu untersuchen, um Dienst- und Versionsinformationen zu ermitteln. Wenn Sie diesen Befehl ausführen, sendet Nmap spezielle Pakete an den geöffneten Port, um herauszufinden, welcher Dienst läuft und welche Version er hat.

Sie könnten eine Ausgabe wie die folgende sehen:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-15 12:10 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).

PORT     STATE SERVICE VERSION
8000/tcp open  http    Python http.server 3.10.6 (Python 3.10.6)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.08 seconds

Diese Ausgabe liefert detailliertere Informationen und zeigt, dass der Dienst auf Port 8000 ein Python-HTTP-Server ist, der auf Python 3.10.6 läuft. Diese Art von Informationen ist für Sicherheitsbewertungen wertvoll, da verschiedene Versionen bekannte Sicherheitslücken aufweisen können. Beispielsweise können Sie Schritte unternehmen, um eine Sicherheitslücke in Python 3.10.6 zu beheben oder auf eine sicherere Version zu aktualisieren.

Fortgeschrittene Nmap-Scanning-Techniken

Grundlagen der fortgeschrittenen Scanning-Optionen

Nmap ist ein leistungsstarkes Tool, das viele fortgeschrittene Scanning-Optionen bietet. Diese Optionen ermöglichen es Ihnen, tiefere Einblicke in die Zielsysteme zu gewinnen. In diesem Schritt werden wir drei wichtige Aspekte des fortgeschrittenen Scannings untersuchen:

  1. Betriebssystemerkennung: Dies ist der Prozess der Identifizierung des auf dem Zielsystem laufenden Betriebssystems. Die Kenntnis des Betriebssystems kann Ihnen helfen, die potenziellen Sicherheitslücken und -merkmale des Zielcomputers zu verstehen.
  2. Umfassendes Scanning: Dies beinhaltet die Kombination mehrerer Scanning-Techniken, um eine detailliertere und vollständige Ansicht des Ziels zu erhalten. Durch die gemeinsame Verwendung verschiedener Scanning-Methoden können Sie mehr Informationen über die offenen Ports, Dienste und das Betriebssystem des Ziels aufdecken.
  3. Ausgabeformatierung: Das Speichern der Scanergebnisse in verschiedenen Formaten ist für die Analyse von entscheidender Bedeutung. Verschiedene Formate eignen sich für verschiedene Analysetools und -zwecke. Beispielsweise ist das XML-Format ideal für die weitere Verarbeitung mit Programmiersprachen, während ein von grep lesbares Format für eine schnelle textbasierte Analyse nützlich ist.

Betriebssystemerkennung

Nmap kann versuchen, das auf einem Zielcomputer laufende Betriebssystem zu bestimmen. Dazu verwenden wir den -O-Schalter. Diese Operation erfordert jedoch administrative Berechtigungen, da sie eine tiefere Untersuchung des Zielsystems umfasst.

sudo nmap -O 127.0.0.1

Wenn Sie diesen Befehl ausführen, könnten Sie eine Ausgabe ähnlich der folgenden sehen:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-15 12:15 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
8000/tcp open  http-alt
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.81 seconds

Diese Ausgabe liefert wertvolle Informationen über das Betriebssystem. In diesem Fall wird uns mitgeteilt, dass die wahrscheinliche Version von Linux, die auf dem System läuft, zwischen 4.15 und 5.6 liegt.

Umfassendes Scanning

Führen wir nun einen umfassenderen Scan durch, der mehrere Nmap-Funktionen kombiniert. Dies wird uns ein detaillierteres Bild des Zielsystems geben.

sudo nmap -sS -sV -O -p 1-1000 127.0.0.1

Dieser Befehl enthält mehrere wichtige Optionen:

  • -sS: Dies ist ein TCP SYN-Scan, auch als versteckter Scan bekannt. Er wird als versteckt bezeichnet, weil er die vollständige TCP-Verbindung nicht herstellt, was es unwahrscheinlicher macht, von Intrusion-Detection-Systemen erkannt zu werden.
  • -sV: Diese Option aktiviert die Diensteversionserkennung. Sie versucht, die Version der auf den offenen Ports laufenden Dienste zu bestimmen, was für die Identifizierung potenzieller Sicherheitslücken nützlich sein kann.
  • -O: Wie wir zuvor gesehen haben, ist dies für die Betriebssystemerkennung.
  • -p 1-1000: Dies gibt an, dass wir Ports von 1 bis 1000 scannen möchten.

Nachdem Sie diesen umfassenden Scan durchgeführt haben, ist es eine gute Idee, die Ergebnisse für eine spätere Analyse zu speichern.

sudo nmap -sS -sV -O -p 1-1000 127.0.0.1 > /home/labex/project/comprehensive_scan.txt

Um den Inhalt der gespeicherten Datei anzuzeigen, können Sie den folgenden Befehl verwenden:

cat /home/labex/project/comprehensive_scan.txt

Ausgabeformatierung

Nmap ermöglicht es Ihnen, die Scanergebnisse in verschiedenen Formaten auszugeben, was die Datenanalyse erleichtert. Beginnen wir damit, unsere Scanergebnisse im XML-Format zu speichern.

sudo nmap -sS -sV -p 8000 127.0.0.1 -oX /home/labex/project/scan_results.xml

Der -oX-Schalter wird verwendet, um Nmap anzuweisen, die Ergebnisse im XML-Format zu speichern. XML ist ein strukturiertes Format, das von Programmiersprachen und anderen Tools für die weitere Analyse leicht geparst werden kann.

Wir können die Ergebnisse auch in einem Format speichern, das mit grep und anderen Textverarbeitungstools leicht lesbar ist.

sudo nmap -sS -sV -p 8000 127.0.0.1 -oG /home/labex/project/scan_results.grep

Um den Inhalt der grep-fähigen Ausgabe anzuzeigen, können Sie den folgenden Befehl verwenden:

cat /home/labex/project/scan_results.grep

Dieses Format ist sehr nützlich für die Analyse der Ergebnisse mit Skripten und Befehlszeilentools, da es Ihnen ermöglicht, schnell nach bestimmten Informationen zu suchen.

Analyse und Interpretation von Scanergebnissen

Grundlagen der Nmap-Ausgabe

Wenn Sie Nmap verwenden, um ein Netzwerk zu scannen, liefert es in seiner Ausgabe viele detaillierte Informationen. Um das Beste aus der Netzwerküberwachung und Sicherheitsbewertung zu machen, müssen Sie verstehen, was diese Ergebnisse tatsächlich bedeuten. Lassen Sie uns die wichtigsten Teile der Nmap-Ausgabe aufschlüsseln.

Portzustände

Ports sind wie Türen in einem Netzwerk. Sie ermöglichen es verschiedenen Arten von Netzwerkverkehr, ein Gerät zu betreten und zu verlassen. Nmap meldet mehrere mögliche Zustände für Ports:

  • open: Dies bedeutet, dass eine Anwendung auf dem Zielgerät aktiv darauf wartet, Verbindungen auf diesem Port anzunehmen. Beispielsweise könnte ein Webserver auf Port 80 oder 443 lauschen.
  • closed: Der Port ist erreichbar, aber derzeit lauscht keine Anwendung darauf. Es ist wie eine Tür, die nicht abgeschlossen ist, aber niemand drinnen ist, um zu antworten.
  • filtered: Eine Firewall oder ein anderes Netzwerkhindernis blockiert den Port. Es ist, als ob es einen Wachmann gäbe, der Ihnen den Zugang zur Tür verweigert.
  • unfiltered: Der Port ist erreichbar, aber Nmap kann nicht feststellen, ob er geöffnet oder geschlossen ist. Es ist wie durch ein beschlagenes Fenster blicken und nicht zu wissen, ob jemand drinnen ist.
  • open|filtered: Nmap kann nicht bestimmen, ob der Port geöffnet oder gefiltert ist. Es ist eine Art Unsicherheitszone.
  • closed|filtered: Ebenso kann Nmap nicht feststellen, ob der Port geschlossen oder gefiltert ist.

Dienstinformationen

Wenn Sie die Diensterkennungsoption (-sV) mit Nmap verwenden, versucht es herauszufinden, welcher Dienst auf jedem offenen Port läuft. Dies umfasst Details wie den Namen der Software und ihre Version. Die Kenntnis des Dienstes und seiner Version ist wichtig, da es Ihnen helfen kann, potenzielle Sicherheitslücken zu identifizieren.

Betriebssystemerkennung

Wenn Sie die Betriebssystemerkennungsoption (-O) verwenden, macht Nmap seine beste Schätzung über das auf dem Zielgerät laufende Betriebssystem. Diese Informationen können nützlich sein, um die allgemeine Sicherheitslage des Ziels zu verstehen, da verschiedene Betriebssysteme unterschiedliche Sicherheitsmerkmale und -lücken aufweisen.

Erstellung eines Zusammenfassungsberichts

Nachdem wir die Nmap-Ausgabe verstanden haben, erstellen wir einen Zusammenfassungsbericht über unsere Ergebnisse. Zunächst müssen wir unser lokales Netzwerkschnittstellen scannen, um interessantere Ergebnisse zu erhalten.

ip addr show | grep "inet " | grep -v "127.0.0.1"

Dieser Befehl zeigt alle Ihre Netzwerkschnittstellen zusammen mit ihren IP-Adressen an. Sie müssen Ihre Hauptschnittstelle finden, die normalerweise mit 192.168.x.x oder 10.x.x.x beginnt. Dies ist wichtig, da wir diese Informationen verwenden werden, um das richtige Netzwerk für unseren Scan anzusteuern.

Sobald wir die erforderlichen Informationen haben, können wir einen einfachen Zusammenfassungsbericht erstellen. Die folgenden Befehle erstellen eine Markdown-Datei mit der Zusammenfassung unseres Scans.

echo "## Network Scan Summary Report" > /home/labex/project/scan_summary.md
echo "### Date: $(date)" >> /home/labex/project/scan_summary.md
echo "### Target: 127.0.0.1" >> /home/labex/project/scan_summary.md
echo -e "\n#### Open Ports and Services" >> /home/labex/project/scan_summary.md
echo "Port 8000: HTTP service (Python HTTP Server)" >> /home/labex/project/scan_summary.md
echo -e "\n#### Security Recommendations" >> /home/labex/project/scan_summary.md
echo "1. Ensure all services are necessary and up-to-date" >> /home/labex/project/scan_summary.md
echo "2. Consider implementing firewall rules to restrict access to sensitive services" >> /home/labex/project/scan_summary.md
echo "3. Regularly scan for new open ports that might indicate unauthorized services" >> /home/labex/project/scan_summary.md

Nachdem wir den Bericht erstellt haben, lassen Sie uns ihn ansehen, um zu sehen, was wir dokumentiert haben.

cat /home/labex/project/scan_summary.md

Best Practices für das Netzwerkscanning

Wenn Sie Netzwerkscans durchführen, ist es wichtig, einige Best Practices zu befolgen, um sicherzustellen, dass Sie dies sicher und verantwortungsbewusst tun.

Erhalten Sie die Erlaubnis

Holen Sie sich immer die Erlaubnis, bevor Sie Netzwerke scannen, die Sie nicht besitzen. Das Scannen ohne Erlaubnis kann illegal und unethisch sein, da es als Einbruch angesehen werden kann.

Begrenzen Sie die Scanhäufigkeit und -intensität

Zu häufiges oder intensives Scannen kann Netzwerkdienste stören. Sie möchten keine Probleme für das Netzwerk verursachen, das Sie scannen, also seien Sie sich bewusst, wie oft und wie aggressiv Sie scannen.

Halten Sie die Scanergebnisse vertraulich

Scanergebnisse können sensible Informationen über die Infrastruktur eines Netzwerks enthüllen, wie offene Ports, laufende Dienste und das Betriebssystem. Halten Sie diese Ergebnisse privat, um unbefugten Zugang zu diesen Informationen zu verhindern.

Greifen Sie auf die gefundenen Probleme zu

Sobald Sie in einem Scan Sicherheitslücken identifiziert haben, ergreifen Sie Maßnahmen, um sie zu beheben. Dies könnte das Patchen von Software, das Ändern von Konfigurationen oder die Implementierung von Sicherheitsmaßnahmen umfassen.

Dokumentieren Sie Ihre Scans

Es ist wichtig, eine Aufzeichnung Ihrer Scans zu führen, einschließlich wann Sie gescannt haben, warum Sie gescannt haben und was Sie gescannt haben. Diese Dokumentation ist nützlich für Sicherheitsüberprüfungen und die Einhaltung von Vorschriften.

Lassen Sie uns unsere Scanningaktivitäten in einer Protokolldatei dokumentieren.

echo "Scan Log - $(date)" > /home/labex/project/scan_log.txt
echo "Purpose: Learning Nmap host discovery techniques" >> /home/labex/project/scan_log.txt
echo "Target: 127.0.0.1" >> /home/labex/project/scan_log.txt
echo "Scans performed:" >> /home/labex/project/scan_log.txt
echo "1. Basic ping scan: nmap -sn 127.0.0.1" >> /home/labex/project/scan_log.txt
echo "2. Port scan on port 8000: nmap -p 8000 127.0.0.1" >> /home/labex/project/scan_log.txt
echo "3. Service version detection: nmap -p 8000 -sV 127.0.0.1" >> /home/labex/project/scan_log.txt
echo "4. Comprehensive scan: nmap -sS -sV -O -p 1-1000 127.0.0.1" >> /home/labex/project/scan_log.txt

Lassen Sie uns unser Scanprotokoll überprüfen, um zu sehen, was wir aufgezeichnet haben.

cat /home/labex/project/scan_log.txt

Dieses Protokoll hilft Ihnen, eine Aufzeichnung Ihrer Scanningaktivitäten zu führen, was für die Sicherheitsdokumentation und -überprüfung von entscheidender Bedeutung ist.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen des Netzwerkscannings und der Host-Discovery mithilfe von Nmap gelernt, einem leistungsstarken Tool aus dem Arsenal eines Cybersicherheitsprofessionals. Sie haben begonnen, indem Sie Nmap kennengelernt und eine Testumgebung mit einem einfachen HTTP-Server eingerichtet haben. Anschließend haben Sie verschiedene Scanning-Techniken erkundet, von der grundlegenden Host-Discovery über fortgeschrittenes Port-Scanning bis hin zur Diensterkennung.

Insbesondere haben Sie gelernt, eine Testumgebung einzurichten, eine grundlegende Host-Discovery durchzuführen, offene Ports und Dienste zu identifizieren, fortgeschrittene Scanning-Techniken anzuwenden, Scanergebnisse zu speichern, Zusammenfassungsberichte zu erstellen und Best Practices für verantwortungsbewusstes Scannen zu befolgen. Diese Fähigkeiten bilden eine solide Grundlage für die Netzwerksicherheitsbewertung und -überwachung. Wenn Sie in Ihrem Cybersicherheits-Weg voranschreiten, können Sie auf diesen Grundlagen aufbauen, um ausgefeiltere Strategien zu entwickeln. Denken Sie daran, dass Netzwerkscanning immer verantwortungsbewusst und ethisch eingesetzt werden sollte, mit entsprechender Genehmigung und in Übereinstimmung mit den Vorschriften.

OSZAR »