Der Befehl HOST ist ein einfaches Dienstprogramm für die Befehlszeilenschnittstelle zur Durchführung einer DNS-Aufzählung.
In der Sicherheitsforschung und beim ethischen Hacking ist die DNS-Enumeration die erste Phase der Informationsbeschaffung über ein Ziel. Dabei werden alle potenziellen DNS-Einträge eines Domänennamenservers abgefragt, z. B. Details zum Namenserver, IP-Adressen, Details zum Mail-Exchanger, TTLs und mehr.
Angreifer können diese DNS-Aufzählungsinformationen nutzen, um interne Netzwerkeinträge zu untersuchen.
Im Internet gibt es zahlreiche DNS-Aufklärungs- und Online-Enumerationstools. Die DNS-Aufzählung kann jedoch ganz einfach mit einem einzigen Befehlszeilenprogramm durchgeführt werden. Das ist “HOST”.
In diesem Artikel sehen wir uns einige nützliche Beispiele für Host-Befehle zur Abfrage von DNS-Details an.
Fangen wir an!
Installation
Der Befehl “HOST” ist auf einem neu installierten Rechner manchmal nicht standardmäßig verfügbar. Daher müssen Sie ihn manuell auf dem System installieren. Der Installationsvorgang ist recht einfach.
Alle DNS-bezogenen Befehle wie nslookup
, dig
und host
sind in der Bibliothek “bind-utils” enthalten. Geben Sie dazu einfach den folgenden Befehl in das Terminal ein.
sudo apt-get install dnsutils -y
Dieser HOST-Befehl funktioniert sowohl unter MAC als auch unter Linux.
Verwendung
Allgemeine Syntax: Der allgemeine Befehl “host” gibt die allgemeine Syntax des Befehls und die Argumente aus, die mit ihm verwendet werden können, sowie eine kurze Beschreibung jedes Arguments.
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host
Verwendung: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
[-R nummer] [-m flag] [-p port] hostname [server]
-a ist gleichbedeutend mit -v -t ANY
-A ist wie -a, lässt aber RRSIG, NSEC, NSEC3 aus
-c gibt die Abfrageklasse für Nicht-IN-Daten an
-C vergleicht SOA-Einträge auf autoritativen Nameservern
-d ist äquivalent zu -v
-l listet alle Hosts in einer Domäne auf, unter Verwendung von AXFR
-m setzt das Speicher-Debugging-Flag (trace|record|usage)
-N ändert die Anzahl der erlaubten Punkte, bevor die Root-Suche durchgeführt wird
-p gibt den Port des Servers an, der abgefragt werden soll
-r schaltet die rekursive Verarbeitung aus
-R gibt die Anzahl der Wiederholungsversuche für UDP-Pakete an
-s eine SERVFAIL-Antwort sollte die Abfrage beenden
-t spezifiziert den Abfragetyp
-T aktiviert den TCP/IP-Modus
-U aktiviert den UDP-Modus
-v aktiviert die ausführliche Ausgabe
-V gibt die Versionsnummer aus und beendet sich
-w gibt an, ewig auf eine Antwort zu warten
-W legt fest, wie lange auf eine Antwort gewartet werden soll
-4 nur IPv4-Abfragetransport verwenden
-6 nur IPv6-Abfragetransport verwenden
So finden Sie die IP-Adresse der Domain
Um die IP-Adresse einer bestimmten Domain zu ermitteln, übergeben Sie einfach den Namen der Zieldomain als Argument nach dem Befehl host.
host Ziel-Domäne
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host geekflare.com/de
geekflare.com/de hat die Adresse 104.27.118.115
geekflare.com/de hat die Adresse 104.27.119.115
geekflare.com/de hat die IPv6-Adresse 2606:4700:20::681b:7673
geekflare.com/de hat die IPv6 Adresse 2606:4700:20::681b:7773
geekflare.com/de Mail wird von 1 aspmx.l.google.com bearbeitet.
geekflare.com/de mail wird von 5 alt1.aspmx.l.google.com verwaltet.
geekflare.com/de mail wird bearbeitet von 5 alt2.aspmx.l.google.com.
geekflare.com/de mail wird bearbeitet von 10 alt3.aspmx.l.google.com.
geekflare.com/de mail wird bearbeitet von 10 alt4.aspmx.l.google.com.
Für eine umfassende Suche im ausführlichen Modus verwenden Sie die Flag-Option -a
oder -v
.
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host -a geekflare.com/de
Versucht "geekflare.com/de"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24690
;; Flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; FRAGEABSCHNITT:
;geekflare.com/de. IN JEDEM
;; ANTWORT-ABSCHNITT:
geekflare.com/de. 3789 IN HINFO "RFC8482" ""
geekflare.com/de. 3789 IN RRSIG HINFO 13 2 3789 20220307065004 20220305045004 34505 geekflare.com/de. HW0Lfr5HazPMaACSBHmFqs94usKUljX kONW/8Q2jwQ1QoAO9DEMjwDX rIQKODGtGnEizj2SzBF98mC2uQr7hQ==
Empfangen von 161 Bytes von 192.168.1.1#53 in 64 ms
Diese (-a) Option wird verwendet, um alle Domäneneinträge und Zoneninformationen zu finden. Sie können sich auch die Adresse des lokalen DNS-Servers anzeigen lassen, der für den Lookup verwendet wird.
So führen Sie einen Reverse Lookup durch
Dieser Befehl führt eine umgekehrte Suche nach der IP-Adresse durch und zeigt den Hostnamen oder den Domänennamen an.
Die Syntax lautet zum Beispiel wie folgt:
host ziel-ip-adresse
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host dnsleaktest.com
dnsleaktest.com hat die Adresse 23.239.16.110
┌──(geekflare㉿kali)-[~]
└─$ host 23.239.16.110
110.16.239.23.in-addr.arpa Domainname Zeiger li685-110.members.linode.com.
Wenn Sie die Zeigeradresse ( li685-110.members.linode.com.) in den Webbrowser kopieren, werden Sie auf die Website weitergeleitet.
So finden Sie Domain Name Server
Verwenden Sie die Option -t, um die Domain Name Server zu ermitteln. Sie wird verwendet, um den Abfragetyp anzugeben.
Hier übergebe ich das Argument -t, um die Nameserver eines bestimmten Domainnamens zu finden.
Der NS-Eintrag gibt die autorisierenden Nameserver an.
host -t ns Ziel-Domäne
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host -t ns geekflare.com/de
geekflare.com/de Nameserver olga.ns.cloudflare.com.
geekflare.com/de Nameserver todd.ns.cloudflare.com.
So fragen Sie bestimmte Domain-Nameserver ab
Um Details über einen bestimmten autoritativen Domain-Nameserver abzufragen, verwenden Sie den folgenden Befehl.
host ziel-domäne [name-server]
Beispielhafte Ausgabe:
┌──(root💀kali)-[/home/geekflare]
└─# host geekflare.com/de olga.ns.cloudflare.com. 1 ⨯
Domain-Server verwenden:
Name: olga.ns.cloudflare.com.
Adresse: 173.245.58.137#53
Aliasnamen:
geekflare.com/de hat die Adresse 104.27.118.115
geekflare.com/de hat die Adresse 104.27.119.115
geekflare.com/de hat die IPv6 Adresse 2606:4700:20::681b:7773
geekflare.com/de hat die IPv6 Adresse 2606:4700:20::681b:7673
geekflare.com/de Mail wird von 1 aspmx.l.google.com bearbeitet.
geekflare.com/de mail wird von 5 alt1.aspmx.l.google.com verwaltet.
geekflare.com/de mail wird bearbeitet von 5 alt2.aspmx.l.google.com.
geekflare.com/de mail wird bearbeitet von 10 alt3.aspmx.l.google.com.
geekflare.com/de mail wird bearbeitet von 10 alt4.aspmx.l.google.com.
So finden Sie Domain-MX-Einträge
So erhalten Sie eine Liste der MX-Einträge ( Mail Exchanger ) einer Domäne.
host -t MX Ziel-Domäne
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host -t mx geekflare.com/de
geekflare.com/de Mail wird von 1 aspmx.l.google.com bearbeitet.
geekflare.com/de Mails werden von 5 alt1.aspmx.l.google.com bearbeitet.
geekflare.com/de mail wird bearbeitet von 5 alt2.aspmx.l.google.com.
geekflare.com/de mail wird bearbeitet von 10 alt3.aspmx.l.google.com.
geekflare.com/de Mails werden von 10 alt4.aspmx.l.google.com bearbeitet.
Dieser MX-Eintrag ist für die Weiterleitung einer E-Mail an einen Mailserver verantwortlich.
So finden Sie Domain-TXT-Einträge
So erhalten Sie eine Liste der TXT-Einträge einer Domäne (von Menschen lesbare Informationen über einen Domänenserver).
host -t txt Ziel-Domäne
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host -t txt geekflare.com/de
geekflare.com/de Beschreibender Text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A"
geekflare.com/de beschreibender Text "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM"
geekflare.com/de Beschreibender Text "yandex-verification: 42f25bad396e79f5"
geekflare.com/de descriptive text "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all"
geekflare.com/de descriptive text "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0"
geekflare.com/de Beschreibender Text "ca3-7fbfaa573ba248ddb17a618e5b46ca01"
So finden Sie den SOA-Eintrag einer Domain
So erhalten Sie eine Liste des SOA-Eintrags (Start of Authority) einer Domain
host -t soa Ziel-Domäne
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host -t soa geekflare.com/de
geekflare.com/de hat den SOA-Eintrag olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
Verwenden Sie den folgenden Befehl, um die SOA-Einträge von allen autoritativen Nameservern für eine bestimmte Zone (den spezifischen Teil des DNS-Namensraums) zu vergleichen.
host -C Ziel-Domäne
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host -C geekflare.com/de 2 ⨯
Nameserver 173.245.58.137:
geekflare.com/de hat einen SOA-Eintrag olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
So finden Sie CNAME-Einträge für Domains
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.
Um die CNAME-DNS-Einträge der Domäne herauszufinden, verwenden Sie den folgenden Befehl.
host -t cname Ziel-Domäne
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host -t cname geekflare.com/de
geekflare.com/de hat keinen CNAME-Eintrag
Wenn der Zieldomainname über CNAME-Einträge verfügt, werden diese nach Ausführung des Befehls angezeigt.
So finden Sie TTL-Informationen zur Domain
TTL steht für Time to live. Sie ist ein Teil des Domain Name Servers. Sie wird automatisch von einem autorisierenden Nameserver für jeden DNS-Eintrag festgelegt.
In einfachen Worten: TTL gibt an, wie lange ein DNS-Server einen Eintrag zwischenspeichert, bevor er die Daten aktualisiert. Verwenden Sie den folgenden Befehl, um die TTL-Informationen eines Domainnamens anzuzeigen.
host -v -t a Ziel-Domäne
Beispielhafte Ausgabe:
┌──(root💀kali)-[/home/geekflare]
└─# host -v -t a geekflare.com/de 1 ⨯
Versucht "geekflare.com/de"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2479
;; Flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; FRAGEABSCHNITT:
;geekflare.com/de. IN A
;; ANTWORT-ABSCHNITT:
geekflare.com/de. 30 IN A 104.27.119.115
geekflare.com/de. 30 UNTER 104.27.118.115
Empfangene 63 Bytes von 192.168.1.1#53 in 60 ms
Fazit
Ich hoffe, dass Sie diesen Artikel hilfreich fanden, um einige nützliche Beispiele für Host-Befehle zur Abfrage von DNS-Details kennenzulernen.
Vielleicht interessieren Sie sich auch für kostenlose Online-Tools zur Überprüfung der DNS-Einträge eines Domainnamens.