Einführung
Die Informationsbeschaffung über das Domain Name System (DNS) ist ein entscheidender erster Schritt in der Aufklärungsphase der Cybersicherheit. DNS fungiert als das Telefonbuch des Internets und übersetzt für Menschen lesbare Domainnamen in IP-Adressen. Durch das Abfragen von DNS-Datensätzen können Sicherheitsexperten eine Fülle von Informationen über die Infrastruktur eines Ziels aufdecken, einschließlich Mailservern, Subdomains und Sicherheitskonfigurationen.
DNS ist bei der Aufklärung besonders wertvoll, da es Infrastrukturbeziehungen offenlegt und nicht nur einen einzelnen Endpunkt. Eine einzige Domain kann Sie auf Webserver, E-Mail-Anbieter, Validierungs-Token, Aliase und manchmal sogar auf vergessene Umgebungen hinweisen. Aus diesem Grund erweitert die DNS-Aufklärung den Umfang einer Sicherheitsüberprüfung oft drastisch.
In diesem Lab lernen Sie, wie Sie zwei leistungsstarke Befehlszeilentools, host und dig, für die DNS-Aufklärung einsetzen. Wir verwenden die bewusst anfällige Domain zonetransfer.me, die von Sicherheitsforschern speziell dafür entwickelt wurde, DNS-Abfragen und Zonentransfers sicher zu üben. Sie lernen, wie Sie grundlegende IP-Datensätze, Details zu Mailservern und Textdatensätze extrahieren und sogar einen vollständigen Zonentransfer versuchen, um den gesamten DNS-Fußabdruck des Ziels abzubilden.
Abfrage grundlegender IP-Datensätze (A/AAAA)
In diesem Schritt lernen Sie, wie Sie die grundlegendsten DNS-Datensätze abrufen: A- und AAAA-Datensätze. Ein A-Datensatz ordnet einen Domainnamen einer IPv4-Adresse zu, während ein AAAA-Datensatz ihn einer IPv6-Adresse zuordnet. Das Auffinden dieser IP-Adressen ist unerlässlich, da es Ihnen genau zeigt, wo der Haupt-Webserver des Ziels gehostet wird.
Dies ist eine Erinnerung daran, dass Domains und Hosts nicht dasselbe Konzept sind. Ein Domainname ist eine Bezeichnung im DNS. Eine IP-Adresse ist der Ort, an den der Datenverkehr letztendlich geleitet wird. Aufklärung beginnt oft damit, zwischen diesen beiden Ansichten zu übersetzen.
Wir beginnen mit dem Befehl host, einem einfachen Dienstprogramm für DNS-Lookups. Stellen Sie sicher, dass Sie sich in Ihrem Standard-Arbeitsverzeichnis ~/project befinden.
Führen Sie den folgenden Befehl aus, um eine grundlegende Abfrage für unsere Zieldomain durchzuführen:
host zonetransfer.me
Sie sollten eine Ausgabe ähnlich der folgenden sehen, die die IPv4-Adresse und die mit der Domain verknüpften Mailserver anzeigt:
zonetransfer.me has address 5.196.105.14
zonetransfer.me mail is handled by 10 alt2.aspmx.l.google.com.
zonetransfer.me mail is handled by 20 aspmx2.googlemail.com.
zonetransfer.me mail is handled by 10 alt1.aspmx.l.google.com.
zonetransfer.me mail is handled by 20 aspmx3.googlemail.com.
zonetransfer.me mail is handled by 0 aspmx.l.google.com.
zonetransfer.me mail is handled by 20 aspmx4.googlemail.com.
zonetransfer.me mail is handled by 20 aspmx5.googlemail.com.
Während host gut für schnelle Überprüfungen geeignet ist, bietet der Befehl dig (Domain Information Groper) eine wesentlich detailliertere Ausgabe und Flexibilität. Lassen Sie uns dig verwenden, um gezielt nach dem A-Datensatz zu fragen. Wir verwenden das Flag +short, um die Ausgabe übersichtlich zu halten und nur die IP-Adresse anzuzeigen.
Um unsere Aufklärungsdaten für eine spätere Analyse zu speichern, leiten wir die Ausgabe unseres dig-Befehls in eine Textdatei namens a_records.txt um. Führen Sie den folgenden Befehl aus:
dig A zonetransfer.me +short > ~/project/a_records.txt
Sie können den Inhalt der soeben erstellten Datei mit dem Befehl cat anzeigen:
cat ~/project/a_records.txt
Die Ausgabe zeigt die IPv4-Adresse der Zieldomain an. Das Speichern Ihrer Ergebnisse ist eine entscheidende Gewohnheit bei der Informationsbeschaffung, da es Ihnen ermöglicht, im Laufe der Zeit ein umfassendes Profil Ihres Ziels zu erstellen.
5.196.105.14
Abfrage von Mail- und Textdatensätzen (MX, TXT)
In diesem Schritt tauchen wir tiefer in die Infrastruktur des Ziels ein, indem wir Mail Exchange (MX) und Text (TXT) Datensätze abfragen.
MX-Datensätze geben die Mailserver an, die für den Empfang von E-Mails im Namen einer Domain verantwortlich sind. Die Identifizierung dieser Server kann aufdecken, welche E-Mail-Anbieter von Drittanbietern das Ziel verwendet (wie Google Workspace oder Microsoft 365) oder ob sie ihre eigene Mail-Infrastruktur hosten.
TXT-Datensätze sind ähnlich wertvoll, da sie oft Vertrauensbeziehungen beschreiben, z. B. welche Systeme E-Mails senden dürfen oder welche externen Dienste für die Domain verifiziert wurden.
Lassen Sie uns die MX-Datensätze für unsere Zieldomain mit dig abfragen:
dig MX zonetransfer.me +short
Sie sehen eine Liste von Mailservern zusammen mit ihren Prioritätsnummern (niedrigere Zahlen bedeuten eine höhere Priorität):
20 aspmx5.googlemail.com.
10 alt1.aspmx.l.google.com.
10 alt2.aspmx.l.google.com.
20 aspmx2.googlemail.com.
20 aspmx3.googlemail.com.
0 aspmx.l.google.com.
20 aspmx4.googlemail.com.
Als Nächstes betrachten wir TXT-Datensätze. Administratoren verwenden TXT-Datensätze, um beliebigen Text zum DNS einer Domain hinzuzufügen. In der Cybersicherheit sind TXT-Datensätze äußerst wertvoll, da sie oft Sender Policy Framework (SPF)-Regeln, DomainKeys Identified Mail (DKIM)-Konfigurationen und verschiedene Website-Verifizierungs-Token enthalten. Diese können interne IP-Bereiche aufdecken, die zum Senden von E-Mails autorisiert sind, oder Dienste von Drittanbietern, die in die Domain integriert sind.
Lassen Sie uns die TXT-Datensätze abfragen und die Ausgabe in einer Datei namens txt_records.txt in Ihrem Arbeitsverzeichnis speichern:
dig TXT zonetransfer.me +short > ~/project/txt_records.txt
Zeigen Sie den Inhalt der Datei an, um zu sehen, welche Informationen die Administratoren in den TXT-Datensätzen hinterlassen haben:
cat ~/project/txt_records.txt
Möglicherweise bemerken Sie Einträge, die mit v=spf1 beginnen, welche die E-Mail-Versandrichtlinien definieren, oder verschiedene Verifizierungs-Strings. Diese Informationen helfen dabei, die Vertrauensbeziehungen abzubilden, die die Zieldomain mit anderen Diensten hat.
"google-site-verification=tyP28J7JAUHA9fw2sHXMgcCC0I6XBmmoVi04VlMewxA"
Entdecken von Subdomains (CNAME)
In diesem Schritt lernen Sie Canonical Name (CNAME)-Datensätze kennen. Ein CNAME-Datensatz wird verwendet, um einen Aliasnamen einem echten oder kanonischen Domainnamen zuzuordnen. Zum Beispiel könnte www.example.com ein CNAME sein, der auf example.com verweist.
Das Entdecken von Subdomains ist ein entscheidender Teil der Erweiterung Ihrer Angriffsfläche. Oft sichern Organisationen ihre Hauptwebsite, vergessen aber, ältere, vergessene Subdomains (wie dev.target.com oder testing.target.com) zu aktualisieren oder abzusichern.
Lassen Sie uns eine spezifische Subdomain abfragen, von der bekannt ist, dass sie auf unserem Übungsziel existiert, um zu sehen, wie sich CNAME-Datensätze verhalten. Wir fragen testing.zonetransfer.me ab und speichern die Ergebnisse.
Führen Sie den folgenden Befehl aus, um den CNAME-Datensatz abzufragen und in cname_records.txt zu speichern:
dig CNAME testing.zonetransfer.me +short > ~/project/cname_records.txt
Überprüfen Sie nun die Datei, die Sie gerade erstellt haben:
cat ~/project/cname_records.txt
Sie sollten eine Ausgabe wie www.zonetransfer.me. sehen. Dies sagt uns, dass testing.zonetransfer.me eigentlich nur ein Alias ist, der auf eine ganz andere Domain verweist. Das Finden dieser Beziehungen kann einen Sicherheitsforscher dazu führen, Hosting-Anbieter von Drittanbietern oder versteckte Infrastrukturen zu entdecken, die zum Ziel gehören.
Versuch eines DNS-Zonentransfers
In diesem letzten Schritt versuchen Sie einen DNS-Zonentransfer. Ein Zonentransfer (speziell unter Verwendung des Abfragetyps AXFR) ist ein Mechanismus, den DNS-Server verwenden, um DNS-Datenbanken über mehrere Server hinweg zu replizieren.
Zonentransfers sind ein klassisches Beispiel für eine legitime administrative Funktion, die zu einem Sicherheitsproblem wird, wenn die Zugriffskontrolle schwach ist. Der Mechanismus selbst ist normal. Die Fehlkonfiguration besteht darin, beliebigen Außenstehenden zu erlauben, die vollständigen Daten anzufordern.
Wenn ein DNS-Server falsch konfiguriert ist, erlaubt er möglicherweise jedem anonymen Benutzer, eine vollständige Kopie der Zonendatei anzufordern. Dies ist eine massive Sicherheitslücke, da sie dem Angreifer sofort eine vollständige Karte jeder einzelnen Subdomain, IP-Adresse und jedes Datensatzes liefert, die mit der Domain verknüpft sind, ohne dass Subdomains erraten oder per Brute-Force ermittelt werden müssen.
Um einen Zonentransfer zu versuchen, müssen wir zuerst die autoritativen Nameserver (NS) für die Domain kennen. Lassen Sie uns die NS-Datensätze abfragen:
dig NS zonetransfer.me +short
Sie sollten eine Ausgabe sehen, die die Nameserver auflistet, wie zum Beispiel:
nsztm1.digi.ninja.
nsztm2.digi.ninja.
Nachdem wir nun den Nameserver (nsztm1.digi.ninja) haben, können wir ihn direkt um einen vollständigen Zonentransfer unter Verwendung des axfr-Datentyps bitten. Die Syntax für dig erfordert, dass wir die Zieldomain und den spezifischen Nameserver, den wir abfragen (unter Verwendung des @-Symbols), angeben.
Führen Sie den folgenden Befehl aus, um den Zonentransfer zu versuchen und die riesige Menge an Ausgabe in zone_transfer.txt zu speichern:
dig axfr zonetransfer.me @nsztm1.digi.ninja > ~/project/zone_transfer.txt
Sobald der Befehl abgeschlossen ist, zeigen Sie die ersten Zeilen der Datei mit dem Befehl head an:
head -n 20 ~/project/zone_transfer.txt
Sie sehen einen vollständigen Dump der DNS-Datensätze der Domain, einschließlich versteckter Subdomains, interner IP-Adressen und verschiedener Textnotizen, die von Administratoren hinterlassen wurden. In einem realen Szenario ist das Finden eines offenen Zonentransfers ein kritisches Ergebnis, das die Aufklärungsphase erheblich beschleunigt.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab zur DNS-Informationsbeschaffung erfolgreich abgeschlossen.
In diesem Lab haben Sie gelernt, wie Sie die Befehle host und dig nutzen, um eine passive Aufklärung einer Zieldomain durchzuführen. Sie haben untersucht, wie man grundlegende IPv4-Adressen (A-Datensätze) extrahiert, die Mail-Infrastruktur identifiziert (MX-Datensätze) und Sicherheitsrichtlinien sowie Integrationen von Drittanbietern aufdeckt (TXT-Datensätze). Sie haben auch gelernt, wie man Domain-Aliase (CNAME-Datensätze) verfolgt, um versteckte Subdomains zu entdecken. Schließlich haben Sie erfolgreich einen DNS-Zonentransfer (AXFR) gegen einen falsch konfigurierten Nameserver durchgeführt und damit demonstriert, wie eine einzige Schwachstelle die gesamte externe Netzwerktopologie einer Organisation offenlegen kann.
Diese Fähigkeiten bilden die Grundlage für die externe Netzwerkkartierung und sind für jeden Cybersicherheitsexperten, der Penetrationstests oder Schwachstellenbewertungen durchführt, unerlässlich.



