Informationsbeschaffung mit Nmap durchführen

NmapNmapBeginner
Jetzt üben

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

Einführung

Im Prozess eines Penetrationstests ist die Phase der Informationsbeschaffung eine der wichtigsten Phasen. Dieser Lab (Übungsumgebung) konzentriert sich auf die Einführung in die Verwendung von Tools zur Informationsbeschaffung. Je mehr Informationen Sie über den Zielhost sammeln, desto höher ist die Erfolgsrate des Penetrationstests. Im Kali-System sind einige Penetrationstools bereits voreingestellt. Durch die Verwendung dieser Tools werden Sie allmählich mit den grundlegenden Schritten der Informationsbeschaffung vertraut werden.

Dieser Kurs ist ein praktischer Lab-Tutorial. Um einige Operationen im Lab besser zu verstehen, werden einige Inhalte aus der Theorie der Informationssicherheit hinzugefügt, und die wertvollsten Artikel werden Ihnen empfohlen, während Sie üben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/os_version_detection("OS and Version Detection") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/port_scanning -.-> lab-416118{{"Informationsbeschaffung mit Nmap durchführen"}} nmap/target_specification -.-> lab-416118{{"Informationsbeschaffung mit Nmap durchführen"}} nmap/syn_scan -.-> lab-416118{{"Informationsbeschaffung mit Nmap durchführen"}} nmap/os_version_detection -.-> lab-416118{{"Informationsbeschaffung mit Nmap durchführen"}} nmap/service_detection -.-> lab-416118{{"Informationsbeschaffung mit Nmap durchführen"}} end

Scannen von offenen Ports auf dem Zielhost

In diesem Schritt werden wir zeigen, wie Sie Tools verwenden können, um die offenen Ports auf dem Zielhost zu scannen.

Im Penetrationstestprozess ist es wichtig, die offenen Ports auf dem Zielhost zu kennen. In Kali Linux werden zwei Standard-Portscanning-Tools bereitgestellt: Nmap und Zenmap. Wir werden hauptsächlich die Verwendung dieser beiden Tools vorstellen.

Zunächst starten wir die Lab-Umgebung. Der Hostrechner ist ein Ubuntu-System (der Desktop, mit dem Sie derzeit verbunden sind), auf dem Docker und QEMU virtuelle Umgebungen installiert sind. Sie bieten Plattformunterstützung für den Kali Linux-Container und die Metasploitable2-Zielmaschine.

Auf dem LabEx-Hostrechner starten Sie die Metasploitable2, indem Sie das xfce-Terminal auf dem Desktop doppelklicken und den folgenden Befehl im Terminal eingeben:

sudo virsh start Metasploitable2

Warten Sie, bis die Zielmaschine gestartet ist. Dies kann 1 - 3 Minuten dauern.

Ping die Zielmaschine, um sicherzustellen, dass sie läuft (drücken Sie Ctrl-C, um den Ping-Vorgang zu beenden):

ping 192.168.122.102

Jetzt starten wir den Kali-Container und geben die bash-Schnittstelle ein. Führen Sie den Ping-Vorgang aus, um die Netzwerkverbindung zu überprüfen:

docker run -ti --network host b5b709a49cd5 bash

Jetzt können wir den Ping-Vorgang ausführen, um die Netzwerkverbindung zu überprüfen (drücken Sie Ctrl-C, um den Ping-Vorgang zu beenden):

ping 192.168.122.102

Nun sind beide Lab-Umgebungen gestartet, und wir können mit dem Penetrationstest beginnen.

Hinweis: Wenn Sie versehentlich die aktuelle bash-Sitzung verlassen, wird der Kali-Container automatisch beendet. Sie können den Befehl docker run -ti --network host b5b709a49cd5 bash erneut auf dem Hostrechner ausführen, um einen neuen Kali-Container zu starten und die bash-Schnittstelle zu öffnen, um mit den Lab-Operationen fortzufahren.

TCP-Portscanning-Tool: Nmap

Nmap ist ein Programm zur Netzwerkexploration und Sicherheitsüberprüfung. Systemadministratoren und Privatpersonen können diese Software verwenden, um große Netzwerke zu scannen und Informationen darüber zu erhalten, welche Hosts laufen und welche Dienste sie anbieten.

Nmap unterstützt viele Scanning-Techniken, wie UDP, TCP Connect(), TCP SYN (Halboffenes Scanning), FTP-Proxy (Bounce-Angriff), Idle-Scan, ICMP, FIN, ACK-Scan, Xmas Tree, SYN-Scan und Null-Scan.

Nmap umfasst vier grundlegende Funktionen:

  • Host-Discovery
  • Port-Scanning
  • Version-Detektion
  • Betriebssystem-Detektion

Verwenden Sie das nmap-Tool und geben Sie den folgenden Befehl ein, um einen Portscan durchzuführen und Informationen über die offenen Ports auf der Zielmaschine zu erhalten:

nmap 192.168.122.102

Zenmap: Eine grafische Benutzeroberfläche für Nmap

Zenmap ist eine offizielle grafische Benutzeroberfläche, die auf Nmap basiert und vom Nmap-Projekt entwickelt wurde. Zenmap ist eine quelloffene und kostenlose grafische Oberfläche, die in Python geschrieben ist und auf verschiedenen Betriebssystemplattformen (Windows/Linux/Unix/Mac OS usw.) ausgeführt werden kann. Zenmap zielt darauf ab, eine einfachere Bedienungsmethode für Nmap bereitzustellen. Übliche Operationen können als Profile gespeichert werden, und Benutzer können ein Profil während des Scans auswählen, was es einfach macht, verschiedene Scanergebnisse zu vergleichen. Es bietet auch eine grafische Darstellung der Netzwerktopologie.

Hinweis: Die LabEx-Umgebung verwendet den Kali-Container, daher kann die grafische Oberfläche derzeit nicht verwendet werden.

Erhalt von Grundinformationen über den Zielhost

In diesem Schritt üben wir, wie man Tools verwendet, um Grundinformationen über den Zielhost, wie z. B. das Betriebssystem, zu erhalten.

In dieser Phase müssen wir so viele Grundinformationen wie möglich über das Betriebssystem des Zielhosts sammeln. Dies erhöht die Erfolgsrate des Penetrationstests. Die Informationsbeschaffung bezieht sich auf das Fingerprinting und auf aktive Fingerprinting-Tools wie die -O- und -sV-Parameter in Nmap. Fingerprinting, obwohl es fortschrittlich klingt, bedeutet einfach die Identifizierung der Betriebssystemversion und der Anwendungsversion des Zielhosts, um uns bei der weiteren Erkennung von Sicherheitslücken auf Betriebssystem- und Anwendungsebene zu helfen.

Aktive Fingerprinting-Tools

Um das Betriebssystem des Zielhosts zu erhalten, verwenden Sie den folgenden Befehl:

nmap -O 192.168.122.102

Führen Sie in der Kali-Terminal den Befehl aus, um die Informationen der Zielmaschine anzuzeigen. Die IP-Adresse der Zielmaschine ist 192.168.122.102:

Um die Portdienstinformationen des Zielhosts zu erhalten, verwenden Sie den folgenden Befehl:

nmap -sV 192.168.122.102

Passive Fingerprinting-Tools

Passive Fingerprinting-Tools wie p0f senden keine spezifischen Prüfdaten an das Ziel, sondern empfangen und analysieren Daten passiv. Sie sind im Allgemeinen nicht erkennbar.

p0f ist leistungsstark in der Netzwerkanalyse und kann zur Analyse von NAT, Lastenausgleich, Anwendungs-Proxy und mehr verwendet werden.

Die von p0f identifizierten Hauptinformationen umfassen:

  • Betriebssystemtyp, Port
  • Ob es im NAT-Modus läuft
  • Ob es hinter einer Firewall läuft
  • Ob es im Lastenausgleichsmodus läuft

Führen Sie in der Kali-Terminal den Befehl aus, um p0f zu verwenden und den Zielhost anzuzeigen:

p0f 192.168.122.102

Heimliches Scannen (TCP-Halboffenes Scannen)

Führen Sie in der Kali-Terminal den Befehl aus, um ein heimliches Scannen durchzuführen:

nmap -sS 192.168.122.102

Der Vorteil dieser Methode ist, dass sie schwer zu erkennen ist und eine hohe Heimlichkeit aufweist. Sie hinterlässt im Allgemeinen keine Spuren auf dem Zielcomputer.

TCP Connect-Scan

Führen Sie in der Kali-Terminal den Befehl aus, um einen TCP Connect-Scan durchzuführen:

nmap -sT 192.168.122.102

Dieser Scan-Typ wird von den meisten Systemen aufgezeichnet, kann aber mehr Informationen liefern als ein heimliches Scannen.

Erhalt von Netzwerkdienstinformationen der Zielseite

In diesem Schritt werden wir die von der Zielseite angebotenen Netzwerkdienstinformationen erhalten.

Erhalt von Netzwerkdienstinformationen

Das Sammeln von mehr Informationen über die Netzwerkdienste des Zielhosts wird dazu beitragen, die Erfolgsrate des Penetrationstests zu erhöhen.

Öffnen Sie den Firefox-Browser und geben Sie http://192.168.122.102 in die Adressleiste ein. Wenn alles gut geht, werden Sie Folgendes sehen:

LabEx Zielseiten-Homepage

Scannen von bestimmten Ports auf dem Zielhost mit amap

amap wird verwendet, um bestimmte Ports auf einem Host zu scannen. Geben Sie in der LabEx Kali-Terminal den Befehl ein, um Port 21 auf dem Zielhost zu scannen:

amap -bqv 192.168.122.102 21

Benutzerenumeration mit smtp-user-enum

Das smtp-user-enum-Tool wird hauptsächlich für die SMTP-Benutzerenumeration verwendet. Geben Sie in der LabEx Kali-Terminal den Befehl ein, um SMTP-Benutzer zu enumerieren:

smtp-user-enum -M VRFY -u root -t 192.168.122.102

Zusammenfassung

In diesem Lab (Übungsumgebung) haben wir die Verwendung verschiedener gängiger Sicherheitstools geübt, um Informationen über den Zielhost zu sammeln. Dabei wurden die folgenden Wissenspunkte abgedeckt:

  • Verwenden von Tools zum Scannen der offenen Ports auf dem Zielhost
  • Erhalten von Grundinformationen über den Zielhost, wie z. B. das Betriebssystem
  • Erhalten von Netzwerkdienstinformationen, die von der Zielseite angeboten werden
  • Analysieren der gesammelten Informationen, um potenzielle Angriffsvektoren zu identifizieren

Im Laufe des Labs haben wir gelernt, wie man verschiedene Tools zur Informationsbeschaffung einsetzt. Dies ist ein entscheidender Schritt im Penetrationstestprozess. Indem wir diese Tools und Techniken beherrschen, können wir die Erfolgsrate des Penetrationstests erhöhen, indem wir mehr wertvolle Informationen über den Zielhost sammeln.