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:

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.



