Kali Aufklärung mit Nmap und DNS

Kali LinuxKali LinuxBeginner
Jetzt üben

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

Einführung

In diesem Lab lernen Sie die Grundlagen der Aufklärung (Reconnaissance) mit Kali Linux, wobei der Schwerpunkt auf Netzwerk-Scanning und DNS-Abfragetechniken liegt. Diese praktische Erfahrung führt Sie durch die Identifizierung offener Ports und Dienste auf einem Zielsystem mit nmap, einem leistungsstarken Netzwerk-Scanning-Tool, und das Sammeln von DNS-Informationen mit dnsrecon. Dieses Lab wurde für Anfänger entwickelt und bietet Schritt-für-Schritt-Anleitungen in einer sicheren LabEx VM-Umgebung, die auf einem unabhängigen Cloud-Host läuft. Sie führen Port-Scans mit nmap durch, listen Dienste mithilfe von Skripten auf, fragen DNS-Einträge ab und speichern Ihre Ergebnisse zur Analyse. Wenn Sie das Terminal öffnen, werden Sie automatisch mit der Shell des Kali Linux-Containers verbunden und können sofort mit dem Üben beginnen, ohne den Container manuell starten oder betreten zu müssen.

Installation und Ausführung eines einfachen Nmap-Scans

In diesem ersten Schritt lernen Sie, wie Sie nmap, ein leistungsstarkes Tool für das Netzwerk-Scanning, installieren und verwenden, um offene Ports auf einem Zielsystem zu identifizieren. Das Port-Scanning ist eine grundlegende Fähigkeit in der Aufklärung (Reconnaissance) und hilft Ihnen, herauszufinden, welche Dienste auf einem Rechner laufen und potenziell Schwachstellen aufzudecken. Dieser Schritt ist für Anfänger konzipiert, und wir führen Sie durch jedes Detail.

Wenn Sie das Terminal in der LabEx VM-Umgebung öffnen, werden Sie automatisch mit der Shell des Kali Linux-Containers verbunden. Es ist nicht erforderlich, den Container manuell zu starten oder die Shell zu betreten; die Umgebung ist bereits für Sie eingerichtet.

Bevor wir beginnen, wollen wir verstehen, was nmap tut. nmap, kurz für Network Mapper, ist ein Tool, mit dem Hosts und Dienste in einem Netzwerk entdeckt werden, indem Pakete gesendet und Antworten analysiert werden. Offene Ports deuten oft auf laufende Dienste hin, wie z. B. Webserver oder SSH, die Einstiegspunkte für weitere Analysen sein können.

Lassen Sie uns nun nmap installieren und einen einfachen Scan durchführen. Befolgen Sie diese Anweisungen sorgfältig:

  1. Aktualisieren Sie zunächst die Paketliste, um sicherzustellen, dass Sie die neueste Version von nmap installieren können. Geben Sie den folgenden Befehl im Terminal ein und drücken Sie die Eingabetaste:

    apt update

    Dieser Befehl aktualisiert die Liste der verfügbaren Pakete. Es kann einige Sekunden dauern, und Sie sehen eine Ausgabe, die den Aktualisierungsprozess anzeigt.

  2. Installieren Sie als Nächstes nmap, indem Sie den folgenden Befehl eingeben und die Eingabetaste drücken:

    apt install -y nmap

    Das Flag -y bestätigt die Installation automatisch, ohne Sie aufzufordern. Warten Sie, bis die Installation abgeschlossen ist; es sollte nur kurze Zeit dauern. Sie sehen eine Ausgabe, die den Fortschritt der Installation anzeigt.

  3. Sobald nmap installiert ist, führen wir einen einfachen Scan auf localhost (Ihrem eigenen Container, IP-Adresse 127.0.0.1) durch, der ein sicheres Ziel zum Üben ist. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

    nmap localhost

    Dieser Befehl scannt die gängigsten Ports auf localhost. Nach einigen Sekunden sehen Sie eine Ausgabe ähnlich der folgenden (die tatsächliche Ausgabe kann variieren):

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    80/tcp   open  http
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

    In dieser Ausgabe bestätigt Host is up, dass das Ziel erreichbar ist. Die Tabelle listet offene Ports, ihren Status (open bedeutet zugänglich) und den zugehörigen Dienst (wie http auf Port 80) auf. Diese Informationen helfen Ihnen zu verstehen, welche Dienste auf dem System laufen.

Dieser Schritt hat Sie in die Installation und Verwendung von nmap für das grundlegende Port-Scanning eingeführt. Sie haben den ersten Schritt in der Aufklärung (Reconnaissance) unternommen, indem Sie offene Ports auf einem sicheren Ziel identifiziert haben. Im nächsten Schritt werden wir darauf aufbauen, indem wir die Scan-Ergebnisse für weitere Analysen speichern. Stellen Sie sicher, dass Sie mit der Ausführung des nmap-Befehls vertraut sind, bevor Sie fortfahren.

Speichern von Nmap-Scanergebnissen in einer Datei

Nachdem Sie einen einfachen Scan mit nmap durchgeführt haben, lernen wir nun, wie Sie die Ausgabe Ihres Scans zur späteren Bezugnahme in einer Datei speichern. Das Speichern von Ergebnissen ist eine wesentliche Fähigkeit in der Aufklärung (Reconnaissance), die es Ihnen ermöglicht, Ergebnisse zu dokumentieren und später zu analysieren, ohne Scans erneut ausführen zu müssen. Dieser Schritt baut direkt auf dem vorherigen auf. Stellen Sie daher sicher, dass Sie den grundlegenden nmap-Scan abgeschlossen haben, bevor Sie fortfahren.

Die Ausgabeumleitung (Output redirection) in Linux ermöglicht es Ihnen, die Ergebnisse eines Befehls in einer Datei zu speichern, anstatt sie im Terminal anzuzeigen. Dies geschieht mit dem Symbol >, das die Ausgabe in eine angegebene Datei schreibt und diese überschreibt, falls sie bereits vorhanden ist. Wir speichern die Ergebnisse im Verzeichnis /root innerhalb des Kali Linux-Containers, Ihrem Standardarbeitsbereich.

Befolgen Sie diese Anweisungen, um Ihre nmap-Scanergebnisse zu speichern:

  1. Führen Sie einen weiteren nmap-Scan auf localhost durch und leiten Sie die Ausgabe in eine Datei namens nmap_scan.txt im Verzeichnis /root um. Geben Sie den folgenden Befehl im Terminal ein und drücken Sie die Eingabetaste:

    nmap localhost > /root/nmap_scan.txt

    Das Symbol > leitet die Ausgabe des Befehls nmap localhost in die Datei /root/nmap_scan.txt um. Sie sehen die Scanergebnisse nicht im Terminal, da sie in der Datei gespeichert werden. Warten Sie einige Sekunden, bis der Scan abgeschlossen ist.

  2. Um zu bestätigen, dass die Ausgabe erfolgreich gespeichert wurde, zeigen Sie den Inhalt der Datei an, indem Sie den folgenden Befehl eingeben und die Eingabetaste drücken:

    cat /root/nmap_scan.txt

    Sie sollten eine Ausgabe ähnlich der folgenden sehen (die tatsächliche Ausgabe kann variieren):

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    80/tcp   open  http
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

    Dies bestätigt, dass die Scanergebnisse erfolgreich in /root/nmap_scan.txt gespeichert wurden. Das Speichern von Ausgaben in Dateien ist eine praktische Möglichkeit, Ihre Ergebnisse während der Aufklärung (Reconnaissance) zu verfolgen.

In diesem Schritt haben Sie gelernt, wie Sie die nmap-Ausgabe zur Dokumentation in eine Datei umleiten. Diese Fähigkeit wird nützlich sein, wenn wir im nächsten Schritt zu fortgeschritteneren Scan-Techniken übergehen. Stellen Sie sicher, dass Sie die gespeicherten Ergebnisse in der Datei sehen können, bevor Sie fortfahren.

Auflisten von Diensten mit Nmap-Skripten

Aufbauend auf Ihren grundlegenden Scan-Fähigkeiten führt dieser Schritt die Dienstauflistung (service enumeration) mithilfe von nmap-Skripten ein, um detaillierte Informationen über Dienste zu sammeln, die auf offenen Ports ausgeführt werden. Die Dienstauflistung ist ein kritischer Bestandteil der Aufklärung (Reconnaissance), da sie hilft, spezifische Versionen von Diensten zu identifizieren, die möglicherweise bekannte Schwachstellen aufweisen. Dieser Schritt setzt voraus, dass Sie nmap installiert haben und die vorherigen Scans abgeschlossen haben.

Die Dienstauflistung geht über das bloße Auffinden offener Ports hinaus; sie zielt darauf ab, die genaue Software und Version zu identifizieren, die auf diesen Ports ausgeführt wird. nmap bietet eine Skript-Engine namens NSE (Nmap Scripting Engine), die vorgefertigte Skripte enthält, um Dienstdetails und potenzielle Probleme zu erkennen. Wir werden in diesem Schritt das Flag -sV für die Versionserkennung (version detection) verwenden.

Lassen Sie uns die Dienste auf localhost anhand der folgenden Anweisungen auflisten:

  1. Führen Sie einen nmap-Scan mit Versionserkennung auf localhost aus. Geben Sie den folgenden Befehl im Terminal ein und drücken Sie die Eingabetaste:

    nmap -sV localhost

    Das Flag -sV weist nmap an, offene Ports auf detaillierte Dienst- und Versionsinformationen zu untersuchen. Warten Sie, bis der Scan abgeschlossen ist; es kann einige Sekunden länger dauern als der einfache Scan. Sie sollten eine Ausgabe ähnlich der folgenden sehen (die tatsächliche Ausgabe kann variieren):

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE VERSION
    80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
    ...
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

    In dieser Ausgabe können Sie die Version des Dienstes sehen, der auf Port 80 ausgeführt wird, z. B. Apache httpd 2.4.41. Diese Information ist wertvoll, da bestimmte Versionen bekannte Schwachstellen aufweisen können, die weiter untersucht werden können.

  2. Speichern Sie die Ergebnisse dieses Versionserkennungs-Scans in einer Datei namens service_scan.txt im Verzeichnis /root. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

    nmap -sV localhost > /root/service_scan.txt

    Wie zuvor leitet das Symbol > die Ausgabe in die angegebene Datei um. Sie sehen die Ergebnisse nicht im Terminal, da sie direkt in /root/service_scan.txt gespeichert werden.

  3. Bestätigen Sie, dass die Ausgabe gespeichert wurde, indem Sie den Dateiinhalt anzeigen. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

    cat /root/service_scan.txt

    Sie sollten die gleiche detaillierte Ausgabe wie oben sehen, die jetzt zur späteren Bezugnahme in der Datei gespeichert ist.

Dieser Schritt hat Ihnen gezeigt, wie Sie nmap für die Dienstauflistung (service enumeration) verwenden können, um tiefere Einblicke in die Dienste zu erhalten, die auf einem Ziel ausgeführt werden. Im nächsten Schritt werden wir die DNS-Aufklärung (DNS reconnaissance) mit einem anderen Tool untersuchen. Stellen Sie sicher, dass Sie verstehen, wie Sie Versionserkennungs-Scans ausführen und die Ausgabe speichern, bevor Sie fortfahren.

Installieren und Abfragen von DNS mit dnsrecon

In diesem Schritt verlagern wir den Fokus auf die DNS-Aufklärung (DNS reconnaissance) mit dnsrecon, einem Tool zum Sammeln von DNS-Informationen über eine Domain. Die DNS-Enumeration (DNS enumeration) hilft bei der Identifizierung von Subdomains, Mailservern und anderen Infrastrukturdetails, die für das Verständnis der Online-Präsenz eines Ziels von entscheidender Bedeutung sind. Dieser Schritt ist für Anfänger konzipiert und setzt voraus, dass Sie innerhalb der Kali Linux-Container-Shell arbeiten.

DNS, oder Domain Name System, übersetzt Domainnamen wie example.com in IP-Adressen, die Computer zur Kommunikation verwenden. DNS-Einträge enthalten Informationen wie IP-Adressen für Hosts (A records), Mailserver (MX records) und mehr. dnsrecon ist ein Tool, das diese Einträge abfragt, um Details über die Einrichtung einer Domain aufzudecken. Für dieses Lab verwenden wir example.com als sicheres Ziel zum Üben.

Befolgen Sie diese Anweisungen, um dnsrecon zu installieren und zu verwenden:

  1. Aktualisieren Sie die Paketliste, um sicherzustellen, dass Sie die neueste Version von dnsrecon installieren können. Geben Sie den folgenden Befehl im Terminal ein und drücken Sie die Eingabetaste:

    apt update

    Dies aktualisiert die Paketliste. Warten Sie, bis der Vorgang abgeschlossen ist; Sie sehen eine Ausgabe, die den Fortschritt der Aktualisierung anzeigt.

  2. Installieren Sie dnsrecon, indem Sie den folgenden Befehl eingeben und die Eingabetaste drücken:

    apt install -y dnsrecon

    Das Flag -y bestätigt die Installation automatisch. Warten Sie, bis die Installation abgeschlossen ist; es sollte nur wenige Sekunden dauern. Sie sehen eine Ausgabe, die den Fortschritt der Installation anzeigt.

  3. Führen Sie nach der Installation eine grundlegende DNS-Enumeration auf example.com aus. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

    dnsrecon -d example.com

    Die Option -d gibt die abzufragende Domain an. Nach dem Ausführen des Befehls sehen Sie eine Ausgabe ähnlich der folgenden (die tatsächliche Ausgabe kann variieren):

    [*] Performing General Enumeration of Domain: example.com
    [*] DNSSEC is not configured for example.com
    [*] SOA ns.icann.org 199.4.138.53
    [*] NS ns.icann.org 199.4.138.53
    [*] A example.com 93.184.216.34
    [*] AAAA example.com 2606:2800:220:1:248:1893:25c8:1946
    [*] MX example.com 0 .
    [*] TXT example.com "v=spf1 -all"
    [*] Enumeration Complete.

    Diese Ausgabe zeigt verschiedene DNS-Einträge für example.com und gibt Einblick in die Konfiguration:

    • SOA (Start of Authority): Enthält administrative Informationen über die Zone.
    • NS (Name Server): Listet die für die Domain autoritativen Server auf.
    • A (Address): Ordnet den Domainnamen einer IPv4-Adresse zu.
    • AAAA (IPv6 Address): Ordnet den Domainnamen einer IPv6-Adresse zu.
    • MX (Mail Exchanger): Gibt die Mailserver an, die für die Annahme von E-Mails für die Domain verantwortlich sind.
    • TXT (Text): Enthält beliebigen Text, der häufig für Verifizierungszwecke wie SPF (Sender Policy Framework) verwendet wird, das hier angezeigt wird (v=spf1 -all).
  4. Speichern Sie die DNS-Enumerationsergebnisse in einer Datei namens dns_results.txt im Verzeichnis /root. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

    dnsrecon -d example.com > /root/dns_results.txt

    Das Symbol > leitet die Ausgabe in die angegebene Datei um. Sie sehen die Ergebnisse nicht im Terminal, da sie direkt in /root/dns_results.txt gespeichert werden.

  5. Bestätigen Sie, dass die Ausgabe gespeichert wurde, indem Sie den Dateiinhalt anzeigen. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

    cat /root/dns_results.txt

    Sie sollten die gleichen DNS-Enumerationsergebnisse wie oben sehen, die jetzt in der Datei gespeichert sind.

Dieser Schritt hat Sie in die DNS-Aufklärung (DNS reconnaissance) mit dnsrecon eingeführt und gezeigt, wie Sie wichtige Domaininformationen sammeln können. Im nächsten Schritt werden wir alle Ihre Ergebnisse in einer einzigen Zusammenfassungsdatei zusammenfassen. Stellen Sie sicher, dass Sie die gespeicherten DNS-Ergebnisse sehen können, bevor Sie fortfahren.

Zusammenfassung

In diesem Lab haben Sie grundlegende Aufklärungstechniken (reconnaissance techniques) mit Kali Linux-Tools erlernt, um Informationen über ein Zielsystem zu sammeln. Sie begannen mit der Installation und Verwendung von nmap, um grundlegende Portscans auf einem sicheren lokalen Ziel (localhost) durchzuführen und offene Ports und zugehörige Dienste wie den von uns installierten Apache-Webserver zu identifizieren. Anschließend haben Sie diese Ergebnisse zur Dokumentation in einer Datei gespeichert. Als Nächstes haben Sie die Dienstauflistung (service enumeration) mit nmap-Skripten untersucht, um detaillierte Versionsinformationen aufzudecken, gefolgt von der DNS-Aufklärung (DNS reconnaissance) mit dnsrecon, um Domain-Einträge für example.com abzufragen. Diese grundlegenden Fähigkeiten im Bereich Netzwerk-Scanning und Informationsbeschaffung sind entscheidend für Penetrationstests und Netzwerk-Sicherheitsaudits.