Einen grundlegenden DNS-Subdomain-Scan in Gobuster durchführen

Beginner
Jetzt üben

Einleitung

Im Bereich der Cybersicherheit und des Penetrationstestings ist die Entdeckung von Subdomains ein entscheidender Schritt bei der Aufklärung (Reconnaissance). Subdomains hosten oft unterschiedliche Anwendungen, Dienste oder Entwicklungsumgebungen, die zusätzliche Angriffsflächen oder Schwachstellen aufweisen können, die auf der Hauptdomain nicht vorhanden sind. Gobuster ist ein beliebtes Werkzeug, das zum Brute-Forcing von URIs (Verzeichnisse und Dateien), DNS-Subdomains, Amazon S3 Buckets und virtuellen Hostnamen verwendet wird.

Dieses Lab führt Sie durch den Prozess der Durchführung eines grundlegenden DNS-Subdomain-Scans mit Gobuster. Sie lernen, wie Sie ein Ziel auswählen, eine effektive Wortliste (wordlist) auswählen, den Gobuster-Befehl mit den notwendigen Flags erstellen, den Scan ausführen und die Ergebnisse interpretieren, um aktive Subdomains zu identifizieren. Am Ende dieses Labs werden Sie ein grundlegendes Verständnis dafür haben, wie Sie Gobuster für die Subdomain-Enumeration nutzen können, eine wichtige Fähigkeit für jeden Sicherheitsexperten oder Enthusiasten.

Ziel-Domain auswählen

In diesem Schritt wählen Sie eine Ziel-Domain für Ihren Subdomain-Scan aus. Zu Bildungszwecken verwenden wir scanme.nmap.org als unser Ziel. Diese Domain wird von Nmap zu Testzwecken bereitgestellt und ist sicher zu scannen.

Stellen Sie zunächst sicher, dass Gobuster installiert ist. Falls nicht, können Sie es mit apt installieren.

sudo apt update
sudo apt install -y gobuster

Nach der Installation können Sie die Installation überprüfen, indem Sie die Version abfragen:

gobuster -v

Sie sollten eine Ausgabe ähnlich dieser sehen, die anzeigt, dass Gobuster installiert ist:

gobuster v3.x

Bestätigen wir nun unsere Ziel-Domain. Wir werden scanme.nmap.org verwenden.

echo "Unsere Ziel-Domain ist: scanme.nmap.org"

Dieser Befehl gibt einfach die Ziel-Domain in Ihrem Terminal aus und bestätigt Ihre Auswahl.

Eine Wortliste für Subdomains auswählen

In diesem Schritt wählen Sie eine geeignete Wortliste für Ihren Subdomain-Scan aus. Eine Wortliste ist eine Datei, die eine Liste gängiger Subdomain-Namen enthält (z. B. www, mail, dev, admin). Gobuster versucht, jeden Namen in der Wortliste in Kombination mit Ihrer Ziel-Domain aufzulösen (z. B. www.scanme.nmap.org, mail.scanme.nmap.org).

Für dieses Lab verwenden wir eine gängige Wortliste, die oft in Penetrationstest-Distributionen zu finden ist, oder wir können eine herunterladen. Wir verwenden die Wortliste dns.txt aus dem SecLists-Projekt, die eine gute Allzweckliste für die DNS-Enumeration ist.

Stellen Sie zunächst sicher, dass wir das SecLists-Repository geklont haben oder eine ähnliche Wortliste verfügbar ist. Falls nicht, können wir eine spezifische Wortliste herunterladen.

wget -nc https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/DNS/dns.txt -P ~/project/

Das Flag -nc stellt sicher, dass wget die Datei nicht erneut herunterlädt, falls sie bereits existiert, was nützlich ist, wenn Sie den Befehl mehrmals ausführen. Das Flag -P ~/project/ gibt das Verzeichnis an, in dem die Datei gespeichert werden soll.

Überprüfen Sie nach dem Herunterladen, ob die Wortlistendatei in Ihrem Verzeichnis ~/project/ vorhanden ist:

ls -l ~/project/dns.txt

Sie sollten eine Ausgabe ähnlich dieser sehen, die die Anwesenheit der Datei bestätigt:

-rw-r--r-- 1 labex labex XXXX Month Day HH:MM ~/project/dns.txt

Dies bestätigt, dass dns.txt als unsere Wortliste verwendet werden kann.

Den grundlegenden gobuster dns Befehl erstellen

In diesem Schritt erstellen Sie den grundlegenden Gobuster-Befehl für die Durchführung eines DNS-Subdomain-Scans. Gobuster verwendet verschiedene Modi für unterschiedliche Arten von Brute-Force-Angriffen. Für die DNS-Subdomain-Enumeration verwenden wir den Modus dns.

Die wesentlichen Flags für einen DNS-Scan sind:

  • -d: Gibt die Ziel-Domain an.
  • -w: Gibt den Pfad zur Wortliste an.

Die grundlegende Befehlsstruktur lautet also gobuster dns -d <ziel_domain> -w <wortlisten_pfad>.

Fügen wir den Befehl mit unserem gewählten Ziel scanme.nmap.org und der Wortliste ~/project/dns.txt zusammen.

echo "Der Gobuster-Befehl lautet: gobuster dns -d scanme.nmap.org -w ~/project/dns.txt"

Dieser Befehl gibt den vollständigen Gobuster-Befehl aus, den Sie ausführen werden. Das Verständnis des Befehls vor der Ausführung ist entscheidend für die effektive Nutzung jedes Werkzeugs.

Den Scan mit den Flags -d und -w ausführen

In diesem Schritt führen Sie den Gobuster DNS-Subdomain-Scan mit dem im vorherigen Schritt erstellten Befehl aus. Dies initiiert den Brute-Force-Prozess, bei dem Gobuster versucht, jeden Eintrag in der Wortliste als Subdomain der Ziel-Domain aufzulösen.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

gobuster dns -d scanme.nmap.org -w ~/project/dns.txt

Während des Scans zeigt Gobuster die erfolgreich aufgelösten Subdomains an. Die Ausgabe zeigt die aufgelösten Subdomains zusammen mit ihren IP-Adressen.

Beispielausgabe:

===============================================================
Gobuster v3.x
===============================================================
[+] Url: scanme.nmap.org
[+] Threads: 10
[+] Wordlist: /home/labex/project/dns.txt
[+] Status codes: 200,204,301,302,307,401,403,405,500
[+] Timeout: 10s
===============================================================
2024/01/01 12:00:00 Starting gobuster in DNS mode
===============================================================
Found: www.scanme.nmap.org (XXX.XXX.XXX.XXX)
Found: test.scanme.nmap.org (XXX.XXX.XXX.XXX)
Found: mail.scanme.nmap.org (XXX.XXX.XXX.XXX)
...

Der Scan kann je nach Größe der Wortliste und Netzwerkbedingungen einige Zeit dauern. Lassen Sie ihn abschließen, um eine umfassende Liste der gefundenen Subdomains zu erhalten.

Die Liste der gefundenen Subdomains analysieren

In diesem letzten Schritt analysieren Sie die Ausgabe des Gobuster-Scans. Die Zeilen mit Found: in der Ausgabe kennzeichnen erfolgreich aufgelöste Subdomains. Dies sind die Subdomains, die existieren und entsprechende DNS-Einträge haben.

Überprüfen Sie die Ausgabe aus dem vorherigen Schritt. Suchen Sie nach Zeilen, die mit Found: beginnen, gefolgt von einer Subdomain und ihrer IP-Adresse.

Sie könnten zum Beispiel sehen:

  • Found: www.scanme.nmap.org (XXX.XXX.XXX.XXX)
  • Found: test.scanme.nmap.org (XXX.XXX.XXX.XXX)
  • Found: mail.scanme.nmap.org (XXX.XXX.XXX.XXX)

Jede dieser Zeilen stellt einen potenziellen Einstiegspunkt oder ein interessantes Asset im Zusammenhang mit der Ziel-Domain dar. In einem realen Szenario würden Sie diese Subdomains weiter untersuchen, vielleicht indem Sie sie in einem Webbrowser aufrufen, Port-Scans durchführen oder nach Web-Schwachstellen suchen.

Um zu bestätigen, dass Sie die Ausgabe analysiert haben, suchen wir nach einer gängigen Subdomain wie www.

echo "Suchen Sie in der Gobuster-Ausgabe nach 'www.scanme.nmap.org'."

Dieser Schritt unterstreicht die Bedeutung der Überprüfung der Ergebnisse Ihrer Aufklärungswerkzeuge. Die Rohausgabe von Gobuster liefert wertvolle Informationen, die Ihre nachfolgenden Sicherheitsbewertungen leiten können.

Zusammenfassung

In diesem Lab haben Sie erfolgreich einen grundlegenden DNS-Subdomain-Scan mit Gobuster durchgeführt. Sie haben gelernt, wie Sie:

  • Eine Ziel-Domain auswählen (scanme.nmap.org).
  • Eine geeignete Wortliste auswählen und herunterladen (dns.txt).
  • Den Gobuster-Befehl im dns-Modus mit den Flags -d (domain) und -w (wordlist) erstellen.
  • Den Scan ausführen und die Echtzeit-Ausgabe der entdeckten Subdomains beobachten.
  • Die Ergebnisse analysieren, um aktive Subdomains zu identifizieren und ihre Bedeutung zu verstehen.

Diese grundlegende Fähigkeit ist entscheidend für die Aufklärung in der Cybersicherheit und ermöglicht es Ihnen, Ihr Verständnis der Angriffsfläche eines Ziels zu erweitern. Sie können Ihre Gobuster-Scans weiter verbessern, indem Sie mit verschiedenen Wortlisten experimentieren, die Anzahl der Threads (-t) erhöhen oder benutzerdefinierte DNS-Server (--resolver) angeben.