Scan-Ergebnisse in Nmap vergleichen

NmapNmapBeginner
Jetzt üben

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

Einführung

In diesem Labyrinth lernen Sie, wie Sie Scannen-Ergebnisse in Nmap vergleichen. Das Labyrinth umfasst das Ausführen sowohl von SYN- als auch von TCP-Scans gegen eine Ziel-IP-Adresse, das Speichern der Ausgaben in separate Dateien und das anschließende Vergleichen dieser Dateien mit dem Befehl diff. Sie werden auch detaillierte Scans erkunden und die Unterschiede, die in der Xfce-Konsole beobachtet werden, analysieren.

Der Prozess beginnt mit dem Ausführen eines SYN-Scans mit nmap -sS -oN syn.txt 192.168.1.1 und eines TCP-Scans mit nmap -sT -oN tcp.txt 192.168.1.1, wobei die Ergebnisse jeweils in syn.txt und tcp.txt gespeichert werden. Diese Dateien werden anschließend mit diff syn.txt tcp.txt verglichen. Darüber hinaus werden detaillierte Scans mit nmap -v -sS 127.0.0.1 und nmap -v -sT 127.0.0.1 durchgeführt, und die Vergleichsbemerkungen werden im Xfce-Texteditor gespeichert, um in der Xfce-Konsole analysiert zu werden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/tcp_connect_scan("Basic TCP Connect Scan") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") subgraph Lab Skills nmap/tcp_connect_scan -.-> lab-547091{{"Scan-Ergebnisse in Nmap vergleichen"}} nmap/save_output -.-> lab-547091{{"Scan-Ergebnisse in Nmap vergleichen"}} nmap/timing_performance -.-> lab-547091{{"Scan-Ergebnisse in Nmap vergleichen"}} nmap/verbosity -.-> lab-547091{{"Scan-Ergebnisse in Nmap vergleichen"}} nmap/syn_scan -.-> lab-547091{{"Scan-Ergebnisse in Nmap vergleichen"}} end

Führen Sie einen SYN-Scan aus und speichern Sie ihn mit nmap -sS -oN syn.txt 192.168.1.1

In diesem Schritt führen Sie einen SYN-Scan mit Nmap aus und speichern das Ergebnis in einer Datei. Ein SYN-Scan, auch bekannt als halboffener Scan, ist eine Art TCP-Portscan, bei dem versucht wird, den Zustand von TCP-Ports auf einem Zielsystem zu bestimmen. Er wird als "halboffen" bezeichnet, weil der scannende Host die TCP-Verbindungsabschlusshandlung nicht vollendet. Stattdessen sendet er ein SYN-Paket und analysiert die Antwort. Diese Technik ist heimlicher als ein vollständiger TCP-Verbindungs-Scan, da keine vollständige Verbindung hergestellt wird, was möglicherweise dazu führt, dass sie von einigen Firewalls und Intrusion Detection Systemen nicht entdeckt wird.

Hier ist eine Aufteilung des Befehls:

  • nmap: Der Nmap-Befehlszeilen-Scanner.
  • -sS: Gibt die SYN-Scan-Technik an.
  • -oN syn.txt: Gibt an, dass die Ausgabe im normalen (menschenlesbaren) Format in eine Datei namens syn.txt gespeichert werden soll.
  • 192.168.1.1: Die Ziel-IP-Adresse, die gescannt werden soll. Ersetzen Sie dies durch die tatsächliche IP-Adresse des Ziels, das Sie scannen möchten. Wenn Sie dieses Labyrinth in einer virtuellen Umgebung ausführen, können Sie 127.0.0.1 (localhost) als Ziel verwenden.

Lassen Sie uns den Befehl ausführen. Stellen Sie zunächst sicher, dass Sie sich im Verzeichnis ~/project befinden.

cd ~/project

Jetzt führen Sie den SYN-Scan aus:

sudo nmap -sS -oN syn.txt 192.168.1.1

Hinweis: Sie benötigen möglicherweise sudo-Rechte, um einen SYN-Scan durchzuführen, da dazu das Senden von rohen Paketen erforderlich ist. Wenn Sie eine andere Ziel-IP-Adresse verwenden, ersetzen Sie 192.168.1.1 durch die richtige IP. Wenn Sie localhost scannen, können Sie 127.0.0.1 verwenden.

Nach Abschluss des Scans können Sie den Inhalt der Datei syn.txt mit einem Texteditor oder dem Befehl cat anzeigen:

cat syn.txt

Die Ausgabe zeigt die offenen Ports und andere Informationen, die während des Scans gesammelt wurden. Die genaue Ausgabe hängt vom Zielsystem und seiner Konfiguration ab.

Beispielausgabe (die spezifische Ausgabe variiert):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Diese Ausgabe zeigt an, dass die Ports 22, 80 und 443 auf dem Zielsystem offen sind. Die "gefüllten" Ports bedeuten, dass Nmap aufgrund von Firewall-Regeln oder Netzwerkbedingungen nicht bestimmen konnte, ob diese Ports offen oder geschlossen sind.

Führen Sie einen TCP-Scan aus und speichern Sie ihn mit nmap -sT -oN tcp.txt 192.168.1.1

In diesem Schritt führen Sie einen TCP-Verbindungs-Scan mit Nmap aus und speichern das Ergebnis in einer Datei. Ein TCP-Verbindungs-Scan, der durch die Option -sT angegeben wird, ist eine grundlegende Form des TCP-Scans, bei dem Nmap versucht, eine vollständige TCP-Verbindung zu jedem Port des Zielhosts herzustellen. Dies umfasst das Ausführen der dreistufigen Handshake (SYN, SYN-ACK, ACK). Während diese Methode zuverlässig ist, ist sie auch leicht zu entdecken, da das Zielsystem die Verbindung protokolliert.

Hier ist eine Aufteilung des Befehls:

  • nmap: Der Nmap-Befehlszeilen-Scanner.
  • -sT: Gibt die TCP-Verbindungs-Scan-Technik an.
  • -oN tcp.txt: Gibt an, dass die Ausgabe im normalen (menschenlesbaren) Format in eine Datei namens tcp.txt gespeichert werden soll.
  • 192.168.1.1: Die Ziel-IP-Adresse, die gescannt werden soll. Ersetzen Sie dies durch die tatsächliche IP-Adresse des Ziels, das Sie scannen möchten. Wenn Sie dieses Labyrinth in einer virtuellen Umgebung ausführen, können Sie 127.0.0.1 (localhost) als Ziel verwenden.

Lassen Sie uns den Befehl ausführen. Stellen Sie zunächst sicher, dass Sie sich im Verzeichnis ~/project befinden.

cd ~/project

Jetzt führen Sie den TCP-Verbindungs-Scan aus:

sudo nmap -sT -oN tcp.txt 192.168.1.1

Hinweis: Während sudo für einen TCP-Verbindungs-Scan nicht streng erforderlich ist, ist es eine gute Praxis, ihn für Konsistenz zu verwenden und um potenzielle Berechtigungsprobleme zu vermeiden. Wenn Sie eine andere Ziel-IP-Adresse verwenden, ersetzen Sie 192.168.1.1 durch die richtige IP. Wenn Sie localhost scannen, können Sie 127.0.0.1 verwenden.

Nach Abschluss des Scans können Sie den Inhalt der Datei tcp.txt mit einem Texteditor oder dem Befehl cat anzeigen:

cat tcp.txt

Die Ausgabe zeigt die offenen Ports und andere Informationen, die während des Scans gesammelt wurden. Die genaue Ausgabe hängt vom Zielsystem und seiner Konfiguration ab.

Beispielausgabe (die spezifische Ausgabe variiert):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Diese Ausgabe zeigt an, dass die Ports 22, 80 und 443 auf dem Zielsystem offen sind. Die "geschlossenen" Ports bedeuten, dass Nmap in Antwort auf sein SYN-Paket ein RST (zurücksetzen) -Paket erhalten hat, was darauf hindeutet, dass der Port geschlossen ist.

Vergleichen Sie Dateien mit diff syn.txt tcp.txt

In diesem Schritt werden Sie die Dateien syn.txt und tcp.txt, die Sie in den vorherigen Schritten erstellt haben, mit dem Befehl diff vergleichen. Der diff-Befehl ist ein leistungsstarkes Tool zum Identifizieren von Unterschieden zwischen zwei Dateien. Er vergleicht die Dateien Zeile für Zeile und hebt alle Hinzufügungen, Löschungen oder Änderungen hervor.

Bevor Sie den diff-Befehl ausführen, ist es wichtig zu verstehen, warum die Ausgaben des SYN-Scans (-sS) und des TCP-Verbindungs-Scans (-sT) unterschiedlich sein können. Der SYN-Scan ist ein "halboffener" Scan, was bedeutet, dass er die volle TCP-Handshake nicht abschließt. Dies kann ihn heimlicher machen, aber auch in einigen Fällen weniger zuverlässig, da Firewalls oder Netzwerkeinrichtungen das ursprüngliche SYN-Paket oder die Antwort blockieren können. Der TCP-Verbindungs-Scan dagegen vollendet die volle TCP-Handshake, was ihn zuverlässiger macht, aber auch leichter zu entdecken.

Um die Dateien zu vergleichen, verwenden Sie folgenden Befehl:

diff syn.txt tcp.txt

Dieser Befehl wird die Dateien syn.txt und tcp.txt vergleichen und alle Unterschiede in der Konsole anzeigen.

Beispielausgabe (die spezifische Ausgabe variiert je nach Zielsystem und Netzwerkbedingungen):

2,4c2,4
< Nmap scan report for 192.168.1.1
< Host is up (0.00020s latency).
< Not shown: 997 filtered ports
---
> Nmap scan report for 192.168.1.1
> Host is up (0.00020s latency).
> Not shown: 997 closed ports
5c5
< 22/tcp  open  ssh
---
> 22/tcp  open  ssh
6c6
< 80/tcp  open  http
---
> 80/tcp  open  http
7c7
< 443/tcp open  https
---
> 443/tcp open  https
10c10
< Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds
---
> Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

In diesem Beispiel zeigt die Ausgabe, dass der Hauptunterschied zwischen den beiden Dateien die Zeile "Not shown" ist. Der SYN-Scan (syn.txt) zeigt "997 filtered ports", während der TCP-Verbindungs-Scan (tcp.txt) "997 closed ports" zeigt. Dies deutet darauf hin, dass der SYN-Scan aufgrund von Filterung nicht den Zustand einiger Ports bestimmen konnte, während der TCP-Verbindungs-Scan feststellen konnte, dass diese Ports geschlossen waren.

Die diff-Ausgabe verwendet folgende Symbole:

  • <: Gibt eine Zeile an, die nur in der ersten Datei (syn.txt) existiert.
  • >: Gibt eine Zeile an, die nur in der zweiten Datei (tcp.txt) existiert.
  • c: Gibt an, dass die Zeilen unterschiedlich sind und geändert werden müssen, um die Dateien identisch zu machen.

Durch die Analyse der diff-Ausgabe können Sie Einblicke in die Unterschiede zwischen den beiden Scan-Typen und wie sie das Zielsystem wahrnehmen gewinnen.

Führen Sie detaillierte Scans mit nmap -v -sS 127.0.0.1 und nmap -v -sT 127.0.0.1 aus

In diesem Schritt führen Sie sowohl SYN- als auch TCP-Verbindungs-Scans gegen localhost (127.0.0.1) mit der detaillierten Option aktiviert aus. Die Option -v in Nmap erhöht das Ausführlichkeitsniveau und liefert detailliertere Informationen über den Scanprozess. Dies kann hilfreich sein, um zu verstehen, wie Nmap funktioniert, und um Probleme zu beheben.

Zunächst führen wir den detaillierten SYN-Scan aus:

sudo nmap -v -sS 127.0.0.1

Dieser Befehl führt einen SYN-Scan auf localhost durch und zeigt die detaillierte Ausgabe in der Konsole an. Sie werden mehr Informationen über den Fortschritt des Scans erhalten, einschließlich der Ports, die gescannt werden, der Zeitdauer des Scans und aller Fehler oder Warnungen, die auftreten.

Beispielausgabe (die spezifische Ausgabe variiert):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan
Scanning 127.0.0.1 [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:15, 2.50s elapsed (1000 total ports)
Nmap scan report for 127.0.0.1
Host is up (0.000020s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Als nächstes führen wir den detaillierten TCP-Verbindungs-Scan aus:

sudo nmap -v -sT 127.0.0.1

Dieser Befehl führt einen TCP-Verbindungs-Scan auf localhost durch und zeigt die detaillierte Ausgabe an.

Beispielausgabe (die spezifische Ausgabe variiert):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:16 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Connect Scan
Scanning 127.0.0.1 [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed Connect Scan at 10:16, 3.00s elapsed (1000 total ports)
Nmap scan report for 127.0.0.1
Host is up (0.000020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

Beobachten Sie die Unterschiede in der Ausgabe. Die detaillierte Ausgabe liefert mehr Details über den Scanprozess, wie z. B. den Typ des Scans ("SYN Stealth Scan" oder "Connect Scan"), die Anzahl der gescannten Ports und die Zeit, die der Scan benötigt, um abzuschließen. Sie können auch die Ports sehen, die als offen entdeckt wurden.

Durch das Vergleich der detaillierten Ausgabe der SYN- und TCP-Verbindungs-Scans können Sie einen besseren Überblick über die Funktionsweise jedes Scan-Typs und über die Interaktion mit dem Zielsystem erhalten.

Speichern Sie Vergleichsnotizen im Xfce-Texteditor

In diesem Schritt verwenden Sie den Xfce-Texteditor, um Ihre Beobachtungen und Vergleiche aus den vorherigen Schritten zu speichern. Dies ist ein entscheidender Schritt, um Ihre Ergebnisse zu dokumentieren und die Unterschiede zwischen den Nmap-Scantypen zu verstehen.

Öffnen Sie zunächst den Xfce-Texteditor. Sie können dies tun, indem Sie nach "Text Editor" im Xfce-Anwendungsmenü suchen oder indem Sie folgenden Befehl in der Konsole ausführen:

mousepad notes.txt

Dieser Befehl öffnet den Xfce-Texteditor (Mousepad) und erstellt eine neue Datei namens notes.txt im Verzeichnis ~/project.

Nun schreiben Sie in den Texteditor Ihre Beobachtungen über die Unterschiede zwischen dem SYN-Scan und dem TCP-Verbindungs-Scan. Berücksichtigen Sie die folgenden Punkte:

  • Geschwindigkeit: Welcher Scantyp war schneller?
  • Genauigkeit: Identifizierten beide Scantypen die gleichen offenen Ports? Wenn nicht, warum könnte das sein?
  • Verdecktheit: Welcher Scantyp wird als versteckter angesehen und warum?
  • Firewall-Evasion: Wie könnten Firewalls die beiden Scantypen unterschiedlich behandeln?
  • Detaillierte Ausgabe: Welche zusätzlichen Informationen haben Sie aus den detaillierten Scans gewonnen?

Hier ist ein Beispiel dafür, wie Ihre Notizen aussehen könnten:

Nmap Scan Vergleichsnotizen:

SYN Scan (-sS):
- Schneller als der TCP-Verbindungs-Scan.
- Kann aufgrund von gefilterten Ports weniger genau sein.
- Wird als versteckter angesehen, da er die volle TCP-Handshake nicht abschließt.
- Firewalls können SYN-Pakete blockieren, was zu ungenauen Ergebnissen führt.

TCP-Verbindungs-Scan (-sT):
- Langsammer als der SYN-Scan.
- Zuverlässiger, da er die volle TCP-Handshake abschließt.
- Weniger versteckt, da er leicht zu entdecken ist.
- Weniger wahrscheinlich, dass er von Firewalls blockiert wird, was genauere Ergebnisse liefert.

Detaillierte Ausgabe (-v):
- Liefert detailliertere Informationen über den Scanprozess.
- Hilfreich für das Verständnis von Nmap und das Beheben von Problemen.
- Zeigt den Typ des Scans und die Anzahl der gescannten Ports.

Beobachtete Unterschiede:
- Der SYN-Scan meldete "gefilterte" Ports, während der TCP-Verbindungs-Scan "geschlossene" Ports meldete.
- Dies deutet darauf hin, dass einige Ports gefiltert wurden, was den SYN-Scan daran hindert, ihren Zustand zu bestimmen.

Nachdem Sie Ihre Notizen geschrieben haben, speichern Sie die Datei, indem Sie auf "Datei" -> "Speichern" im Texteditor klicken oder indem Sie Strg+S drücken.

Diese notes.txt-Datei wird im nächsten Schritt verwendet, um die Unterschiede in der Xfce-Konsole zu analysieren.

Analysieren Sie die Unterschiede in der Xfce-Konsole

In diesem Schritt verwenden Sie die Xfce-Konsole, um die Unterschiede zwischen dem SYN- und dem TCP-Verbindungs-Scan weiter zu analysieren, ausgehend von den Notizen, die Sie im vorherigen Schritt gespeichert haben. Sie verwenden Befehlszeilentools, um nach bestimmten Mustern zu suchen und die Scanergebnisse zu vergleichen.

Öffnen Sie zunächst die Xfce-Konsole.

Nun verwenden wir den Befehl cat, um den Inhalt der Dateien syn.txt und tcp.txt anzuzeigen, die die Nmap-Scanergebnisse aus den ersten beiden Schritten enthalten:

cat syn.txt
cat tcp.txt

Untersuchen Sie die Ausgabe beider Befehle. Achten Sie auf die Unterschiede in den Scanergebnissen, wie die gemeldeten Portzustände (offen, geschlossen, gefiltert) und die Zeit, die der Scan benötigt, um abzuschließen.

Als nächstes verwenden Sie den Befehl grep, um nach bestimmten Schlüsselwörtern in den Scanergebnissen zu suchen. Beispielsweise können Sie nach dem Wort "open" in beiden Dateien suchen:

grep "open" syn.txt
grep "open" tcp.txt

Vergleichen Sie die Ausgabe dieser Befehle. Melden beide Scans die gleichen offenen Ports? Wenn nicht, was sind die Unterschiede?

Sie können auch nach anderen Schlüsselwörtern wie "closed" oder "filtered" suchen, um die Scanergebnisse weiter zu analysieren.

Nun verwenden wir erneut den Befehl diff, um die Dateien syn.txt und tcp.txt zu vergleichen:

diff syn.txt tcp.txt

Überprüfen Sie die Ausgabe des diff-Befehls. Dies wird die Zeilen hervorheben, die zwischen den beiden Dateien unterschiedlich sind. Achten Sie auf die Zeilen, die Unterschiede in den gemeldeten Portzuständen anzeigen.

Schließlich verwenden Sie den Befehl cat, um den Inhalt Ihrer notes.txt-Datei anzuzeigen, die Ihre Beobachtungen aus dem vorherigen Schritt enthält:

cat notes.txt

Reflektieren Sie über Ihre Beobachtungen und vergleichen Sie sie mit den Scanergebnissen und der Ausgabe des diff-Befehls. Stimmen Ihre Beobachtungen mit den Scanergebnissen überein? Können Sie die Abweichungen erklären?

Indem Sie die Xfce-Konsole und Befehlszeilentools verwenden, um die Nmap-Scanergebnisse zu analysieren, können Sie einen tieferen Einblick in die Unterschiede zwischen dem SYN- und dem TCP-Verbindungs-Scan und in die Art und Weise gewinnen, wie sie mit dem Zielsystem interagieren. Diese Analyse wird Ihnen helfen, informierte Entscheidungen darüber zu treffen, welchen Scantyp Sie in verschiedenen Situationen verwenden sollten.

Zusammenfassung

In diesem Lab haben wir begonnen, indem wir einen SYN-Scan auf eine Ziel-IP-Adresse (192.168.1.1 oder localhost) mit Nmap mit dem Befehl nmap -sS -oN syn.txt 192.168.1.1 durchgeführt haben. Dies hat das Verständnis des Zwecks eines SYN-Scans als versteckteren "halbgeöffneten" TCP-Port-Scan erfordert, der das Herstellen einer vollständigen Verbindung vermeidet. Die Ausgabe des Scans wurde in normalem Format in eine Datei namens syn.txt gespeichert.

Der wichtigste Lernpunkt war, wie man einen SYN-Scan mit Nmap ausführt, die Parameter des Befehls interpretiert (-sS für SYN-Scan, -oN für normale Ausgabe in eine Datei) und das potenzielle Bedürfnis an sudo-Rechten aufgrund der Verwendung von Rohpaketen versteht. Wir haben auch gelernt, wie man die Scanergebnisse mit cat syn.txt anzeigt.