Informationsbeschaffung mit Nmap durchführen

NmapBeginner
Jetzt üben

Einführung

Im Prozess eines Penetrationstests ist die Phase der Informationsbeschaffung einer der wichtigsten Schritte. Dieses Lab konzentriert sich auf die Einführung von Werkzeugen zur Informationsgewinnung. Je mehr Informationen Sie über den Ziel-Host sammeln, desto höher ist die Erfolgsquote des Penetrationstests. Im Kali-System sind einige Penetrationswerkzeuge vorinstalliert. Durch die Verwendung dieser Tools werden Sie schrittweise mit den grundlegenden Schritten der Informationsbeschaffung vertraut gemacht.

Dieser Kurs ist ein praktisches Lab-Tutorial. Um das Verständnis für einige Abläufe im Lab zu erleichtern, werden theoretische Inhalte zur Informationssicherheit ergänzt und die wertvollsten Artikel empfohlen, die Sie während des Übens lesen können.

Offene Ports auf dem Ziel-Host scannen

In diesem Schritt stellen wir vor, wie Sie Werkzeuge verwenden, um die offenen Ports auf dem Ziel-Host zu scannen.

Im Penetrationstest-Prozess ist es notwendig, die offenen Ports auf dem Ziel-Host zu verstehen. In Kali Linux stehen zwei Standard-Port-Scan-Tools zur Verfügung: Nmap und Zenmap. Wir werden hauptsächlich die Verwendung dieser beiden Tools vorstellen.

Starten wir zunächst die Lab-Umgebung. Der Host-Rechner ist Ubuntu (der Desktop, mit dem Sie derzeit verbunden sind), auf dem Docker- und QEMU-Virtualisierungsumgebungen installiert sind. Diese bieten Plattformunterstützung für den Kali Linux-Container bzw. die Metasploitable2-Zielmaschine.

Starten Sie auf dem LabEx-Host-Rechner Metasploitable2, indem Sie auf 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.

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

ping 192.168.122.102

Starten Sie nun den Kali-Container, rufen Sie die Bash-Schnittstelle auf und führen Sie den Ping-Vorgang aus, um die Netzwerkkonnektivität zu überprüfen:

docker run -ti --network host b5b709a49cd5 bash

Nun können wir den Ping-Vorgang ausführen, um die Netzwerkkonnektivität zu überprüfen (drücken Sie Strg-C, um den Ping-Vorgang zu beenden):

ping 192.168.122.102

Beide Lab-Umgebungen sind nun gestartet und wir können mit dem Penetrationstest beginnen.

Hinweis: Wenn Sie die aktuelle Bash versehentlich verlassen, stoppt der Kali-Container automatisch. Sie können den Befehl docker run -ti --network host b5b709a49cd5 bash erneut auf dem Host-Rechner ausführen, um einen neuen Kali-Container zu starten und die Bash aufzurufen, um mit den Lab-Arbeiten fortzufahren.

TCP-Port-Scan-Tool: Nmap

Nmap ist ein Programm zur Netzwerkerkundung und Sicherheitsüberprüfung. Systemadministratoren und Einzelpersonen können diese Software verwenden, um große Netzwerke zu scannen und Informationen darüber zu erhalten, welche Hosts aktiv sind und welche Dienste sie bereitstellen.

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

Nmap umfasst vier grundlegende Funktionen:

  • Host-Erkennung
  • Port-Scan
  • Versionserkennung
  • Betriebssystemerkennung

Verwenden Sie das nmap-Tool und geben Sie den folgenden Befehl ein, um einen Port-Scan 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 wurde 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. Häufige Vorgänge können als Profile gespeichert werden, und Benutzer können während des Scannens ein Profil auswählen, was den Vergleich verschiedener Scan-Ergebnisse erleichtert. Es bietet auch eine grafische Darstellung der Netzwerktopologie.

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

Grundlegende Informationen über den Ziel-Host abrufen

In diesem Schritt üben wir, wie man Werkzeuge verwendet, um grundlegende Informationen über den Ziel-Host zu erhalten, wie zum Beispiel das Betriebssystem.

In dieser Phase müssen wir so viele grundlegende Informationen wie möglich über das Betriebssystem des Ziel-Hosts sammeln. Dies erhöht die Erfolgsquote des Penetrationstests. Informationsbeschaffung bezieht sich auf Fingerprinting sowie aktive Fingerprinting-Tools wie die Parameter -O und -sV in Nmap. Fingerprinting klingt zwar fortgeschritten, bedeutet aber lediglich die Identifizierung der Betriebssystemversion und der Anwendungsversion des Ziel-Hosts, um uns bei der weiteren Erkennung von Schwachstellen auf Betriebssystem- und Anwendungsebene zu unterstützen.

Aktive Fingerprinting-Tools

Um das Betriebssystem des Ziel-Hosts zu ermitteln, verwenden Sie den folgenden Befehl:

nmap -O 192.168.122.102

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

Um die Port-Dienstinformationen des Ziel-Hosts zu erhalten, verwenden Sie den folgenden Befehl:

nmap -sV 192.168.122.102

Passive Fingerprinting-Tools

Passive Fingerprinting-Tools wie p0f senden keine spezifischen Sondierungsdaten 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, Lastverteilung (Load Balancing), Anwendungsproxys und mehr verwendet werden.

Die wichtigsten von p0f identifizierten Informationen umfassen:

  • Betriebssystemtyp, Port
  • Ob der Betrieb im NAT-Modus erfolgt
  • Ob der Betrieb hinter einer Firewall erfolgt
  • Ob der Betrieb im Lastverteilungsmodus erfolgt

Führen Sie im Kali-Terminal den folgenden Befehl aus, um p0f zur Beobachtung des Ziel-Hosts zu verwenden. Das Schlüsselwort host ist erforderlich, da p0f einen gültigen Paketfilterausdruck erwartet:

p0f host 192.168.122.102

Stealth-Scan (TCP-Halboffener Scan)

Führen Sie im Kali-Terminal den Befehl aus, um einen Stealth-Scan durchzuführen:

nmap -sS 192.168.122.102

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

TCP-Connect-Scan

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

nmap -sT 192.168.122.102

Diese Art von Scan wird von den meisten Systemen aufgezeichnet, kann aber mehr Informationen liefern als ein Stealth-Scan.

Netzwerkdienstinformationen der Zielseite abrufen

In diesem Schritt rufen wir die Netzwerkdienstinformationen ab, die von der Zielseite bereitgestellt werden.

Netzwerkdienstinformationen abrufen

Das Sammeln weiterer Informationen über die Netzwerkdienste des Ziel-Hosts trägt dazu bei, die Erfolgsquote 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, sehen Sie Folgendes:

Startseite der LabEx-Zielseite

Spezifische Ports auf dem Ziel-Host mit amap scannen

amap wird verwendet, um spezifische Ports auf einem Host zu scannen. Geben Sie im LabEx-Kali-Terminal den Befehl ein, um Port 21 auf dem Ziel-Host zu scannen:

amap -bqv 192.168.122.102 21

Benutzeraufzählung mit smtp-user-enum

Das Tool smtp-user-enum wird hauptsächlich für die SMTP-Benutzeraufzählung verwendet. Geben Sie im LabEx-Kali-Terminal den Befehl ein, um SMTP-Benutzer aufzuzählen:

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

Zusammenfassung

In diesem Lab haben wir die Verwendung verschiedener gängiger Sicherheitswerkzeuge geübt, um Informationen über den Ziel-Host zu sammeln, und dabei folgende Wissenspunkte abgedeckt:

  • Verwendung von Werkzeugen zum Scannen der offenen Ports auf dem Ziel-Host
  • Abrufen grundlegender Informationen über den Ziel-Host, wie zum Beispiel das Betriebssystem
  • Abrufen von Netzwerkdienstinformationen, die von der Zielseite bereitgestellt werden
  • Analyse der gesammelten Informationen zur Identifizierung potenzieller Angriffsvektoren

Während des gesamten Labs haben wir gelernt, wie man verschiedene Werkzeuge zur Informationsbeschaffung einsetzt, was ein entscheidender Schritt im Penetrationstest-Prozess ist. Durch die Beherrschung dieser Werkzeuge und Techniken können wir die Erfolgsquote des Penetrationstests erhöhen, indem wir wertvollere Informationen über den Ziel-Host sammeln.