Das Kommandozeilenwerkzeug host
dient der einfachen DNS-Abfrage.
In der Welt der Sicherheitsforschung und des ethischen Hackings stellt die DNS-Enumeration den ersten Schritt bei der Informationsgewinnung über ein Ziel dar. Hierbei werden sämtliche potenziellen DNS-Einträge eines Nameservers abgefragt, einschließlich Informationen zu Nameservern, IP-Adressen, Mail-Exchangern, TTL-Werten und mehr.
Angreifer können diese DNS-Informationen nutzen, um Einblicke in interne Netzwerke zu erhalten.
Obwohl es viele Online-Tools für DNS-Aufklärung und -Enumeration gibt, kann die DNS-Enumeration problemlos mit einem einzigen Kommandozeilenwerkzeug durchgeführt werden. Dieses Werkzeug ist host
.
In diesem Artikel werden wir uns einige nützliche Beispiele für den host
-Befehl ansehen, um DNS-Details abzufragen.
Legen wir los!
Installation
Der Befehl host
ist nicht immer standardmäßig auf einem neu installierten Computer vorhanden. Daher kann eine manuelle Installation erforderlich sein. Der Installationsprozess ist unkompliziert.
Sämtliche DNS-bezogene Befehle, wie nslookup
, dig
und host
, sind in der Bibliothek „bind-utils“ enthalten. Installieren Sie diese mit folgendem Befehl im Terminal:
sudo apt-get install dnsutils -y
Der host
-Befehl funktioniert sowohl unter macOS als auch unter Linux.
Verwendung
Allgemeine Syntax: Der Befehl host
zeigt die allgemeine Syntax des Befehls, seine Argumente und eine kurze Beschreibung jedes Arguments an.
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time] [-R number] [-m flag] [-p port] hostname [server] -a is equivalent to -v -t ANY -A is like -a but omits RRSIG, NSEC, NSEC3 -c specifies query class for non-IN data -C compares SOA records on authoritative nameservers -d is equivalent to -v -l lists all hosts in a domain, using AXFR -m set memory debugging flag (trace|record|usage) -N changes the number of dots allowed before root lookup is done -p specifies the port on the server to query -r disables recursive processing -R specifies number of retries for UDP packets -s a SERVFAIL response should stop query -t specifies the query type -T enables TCP/IP mode -U enables UDP mode -v enables verbose output -V print version number and exit -w specifies to wait forever for a reply -W specifies how long to wait for a reply -4 use IPv4 query transport only -6 use IPv6 query transport only
Die IP-Adresse einer Domain ermitteln
Um die IP-Adresse einer bestimmten Domain herauszufinden, geben Sie den Namen der Zieldomain als Argument nach dem Befehl host
an.
host Zieldomain
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host wdzwdz.com wdzwdz.com hat die Adresse 104.27.118.115 wdzwdz.com hat die Adresse 104.27.119.115 wdzwdz.com hat die IPv6-Adresse 2606:4700:20::681b:7673 wdzwdz.com hat die IPv6-Adresse 2606:4700:20::681b:7773 Die E-Mails für wdzwdz.com werden von 1 aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 5 alt1.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 5 alt2.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 10 alt3.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 10 alt4.aspmx.l.google.com verarbeitet.
Für eine detailliertere Suche im ausführlichen Modus verwenden Sie die Option -a
oder -v
.
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host -a wdzwdz.com Trying "wdzwdz.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24690 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;wdzwdz.com. IN ANY ;; ANSWER SECTION: wdzwdz.com. 3789 IN HINFO "RFC8482" "" wdzwdz.com. 3789 IN RRSIG HINFO 13 2 3789 20220307065004 20220305045004 34505 wdzwdz.com. HW0Lfr5HazPMaACSBHmFqs94usKUljX+kONW/8Q2jwQ1QoAO9DEMjwDX rIQKODGtGnEizj2SzBF98mC2uQr7hQ== Received 161 bytes from 192.168.1.1#53 in 64 ms
Die Option -a
wird verwendet, um alle Domain-Einträge und Zoneninformationen zu finden. Außerdem wird die lokale DNS-Serveradresse angezeigt, die für die Suche verwendet wurde.
Reverse-Lookup durchführen
Dieser Befehl führt eine umgekehrte Suche nach der IP-Adresse durch und gibt den Host- oder Domainnamen aus.
Die Syntax lautet beispielsweise:
host Ziel-IP-Adresse
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host dnsleaktest.com dnsleaktest.com hat die Adresse 23.239.16.110 ┌──(wdzwdz㉿kali)-[~] └─$ host 23.239.16.110 110.16.239.23.in-addr.arpa domain name pointer li685-110.members.linode.com.
Wenn Sie die Pointer-Adresse (li685-110.members.linode.com.) kopieren und in einen Webbrowser einfügen, werden Sie zur entsprechenden Website weitergeleitet.
Domain-Nameserver ermitteln
Verwenden Sie die Option -t
, um die Domain-Nameserver abzurufen. Diese Option wird verwendet, um den Abfragetyp anzugeben.
Hier wird das Argument -t
verwendet, um die Nameserver einer bestimmten Domain zu ermitteln.
Der NS-Eintrag gibt die autoritativen Nameserver an.
host -t ns Zieldomain
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host -t ns wdzwdz.com wdzwdz.com nameserver olga.ns.cloudflare.com. wdzwdz.com nameserver todd.ns.cloudflare.com.
Bestimmte Domain-Nameserver abfragen
Um Details zu einem bestimmten autoritativen Nameserver zu erfragen, verwenden Sie den folgenden Befehl:
host Zieldomain [Nameserver]
Beispielausgabe:
┌──(root💀kali)-[/home/geekflare] └─# host wdzwdz.com olga.ns.cloudflare.com. 1 ⨯ Using domain server: Name: olga.ns.cloudflare.com. Address: 173.245.58.137#53 Aliases: wdzwdz.com hat die Adresse 104.27.118.115 wdzwdz.com hat die Adresse 104.27.119.115 wdzwdz.com hat die IPv6-Adresse 2606:4700:20::681b:7773 wdzwdz.com hat die IPv6-Adresse 2606:4700:20::681b:7673 Die E-Mails für wdzwdz.com werden von 1 aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 5 alt1.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 5 alt2.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 10 alt3.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 10 alt4.aspmx.l.google.com verarbeitet.
Domain-MX-Einträge ermitteln
Um eine Liste der MX-Einträge (Mail Exchanger) einer Domain zu erhalten:
host -t MX Zieldomain
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host -t mx wdzwdz.com Die E-Mails für wdzwdz.com werden von 1 aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 5 alt1.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 5 alt2.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 10 alt3.aspmx.l.google.com verarbeitet. Die E-Mails für wdzwdz.com werden von 10 alt4.aspmx.l.google.com verarbeitet.
Dieser MX-Eintrag ist dafür zuständig, E-Mails an einen Mailserver weiterzuleiten.
Domain-TXT-Einträge ermitteln
Um eine Liste der TXT-Einträge einer Domain zu erhalten (vom Menschen lesbare Informationen über einen Domainserver):
host -t txt Zieldomain
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host -t txt wdzwdz.com wdzwdz.com beschreibender Text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A" wdzwdz.com beschreibender Text "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM" wdzwdz.com beschreibender Text "yandex-verification: 42f25bad396e79f5" wdzwdz.com beschreibender Text "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all" wdzwdz.com beschreibender Text "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0" wdzwdz.com beschreibender Text "ca3-7fbfaa573ba248ddb17a618e5b46ca01"
Den SOA-Eintrag der Domain ermitteln
Um eine Liste des SOA-Eintrags (Start of Authority) einer Domain abzurufen:
host -t soa Zieldomain
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host -t soa wdzwdz.com wdzwdz.com hat SOA-Eintrag olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
Verwenden Sie den folgenden Befehl, um die SOA-Einträge aller autoritativen Nameserver für eine bestimmte Zone (den spezifischen Teil des DNS-Namensraums) zu vergleichen.
host -C Zieldomain
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host -C wdzwdz.com 2 ⨯ Nameserver 173.245.58.137: wdzwdz.com hat SOA-Eintrag olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
Domain-CNAME-Einträge ermitteln
CNAME steht für Canonical Name Record. Dieser DNS-Eintrag ist dafür verantwortlich, eine Domain auf eine andere umzuleiten, d.h. er ordnet den ursprünglichen Domainnamen einem Alias zu.
Verwenden Sie den folgenden Befehl, um die CNAME-DNS-Einträge der Domain herauszufinden.
host -t cname Zieldomain
Beispielausgabe:
┌──(wdzwdz㉿kali)-[~] └─$ host -t cname wdzwdz.com wdzwdz.com hat keinen CNAME-Eintrag
Wenn die Zieldomain CNAME-Einträge enthält, werden diese nach Ausführung des Befehls angezeigt.
Domain-TTL-Informationen ermitteln
TTL steht für Time to Live. Es ist ein Teil des Domain Name Servers. Sie wird automatisch von einem autoritativen Nameserver für jeden DNS-Eintrag festgelegt.
Vereinfacht ausgedrückt bezieht sich TTL darauf, wie lange ein DNS-Server einen Datensatz zwischenspeichert, bevor die Daten aktualisiert werden. Verwenden Sie den folgenden Befehl, um die TTL-Informationen eines Domainnamens anzuzeigen.
host -v -t a Zieldomain
Beispielausgabe:
┌──(root💀kali)-[/home/geekflare] └─# host -v -t a wdzwdz.com 1 ⨯ Trying "wdzwdz.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2479 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;wdzwdz.com. IN A ;; ANSWER SECTION: wdzwdz.com. 30 IN A 104.27.119.115 wdzwdz.com. 30 IN A 104.27.118.115 Received 63 bytes from 192.168.1.1#53 in 60 ms
Fazit
Ich hoffe, dieser Artikel war hilfreich, um einige nützliche Beispiele für den host
-Befehl zur Abfrage von DNS-Details kennenzulernen.
Möglicherweise interessiert es Sie auch, mehr über kostenlose Online-Tools zu erfahren, mit denen Sie DNS-Einträge eines Domainnamens überprüfen können.