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!
Einrichtung
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 number] [-m flag] [-p port] hostname [server]
-a ist äquivalent zu -v -t ANY
-A ist wie -a, lässt aber RRSIG weg, NSEC, NSEC3
-c gibt die Abfrageklasse für Nicht-IN-Daten an
-C vergleicht SOA-Einträge auf autoritativen Nameservern
-d entspricht -v
-l listet alle Hosts in einer Domain 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 auf dem Server für die Abfrage an
-r deaktiviert die rekursive Verarbeitung
-R gibt die Anzahl der Wiederholungen für UDP-Pakete an
-s eine SERVFAIL-Antwort sollte die Abfrage beenden
-t gibt den Abfragetyp an
-T aktiviert den TCP/IP-Modus
-U aktiviert den UDP-Modus
-v aktiviert die ausführliche Ausgabe
-V gibt die Versionsnummer und den Exit aus
-w gibt an, dass für immer auf eine Antwort gewartet werden soll
-W gibt an, wie lange auf eine Antwort gewartet werden soll
-4 use IPv4 query transport only
-6 use IPv6 query transport only
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
geekflare.com hat Adresse 104.27.118.115
geekflare.com hat Adresse 104.27.119.115
geekflare.com hat die IPv6-Adresse 2606:4700:20::681b:7673
geekflare.com hat die IPv6-Adresse 2606:4700:20::681b:7773
geekflare.com mail wird von 1 aspmx.l.google.com bearbeitet.
geekflare.com mail wird von 5 alt1.aspmx.l.google.com bearbeitet.
geekflare.com mail wird von 5 alt2.aspmx.l.google.com bearbeitet.
geekflare.com mail wird von 10 alt3.aspmx.l.google.com bearbeitet.
geekflare.com mail wird von 10 alt4.aspmx.l.google.com bearbeitet.
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
Versucht "geekflare.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24690
;; Flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;geekflare.com. IN ANY
;; ANTWORTBEREICH:
geekflare.com. 3789 IN HINFO "RFC8482" ""
geekflare.com. 3789 IN RRSIG HINFO 13 2 3789 20220307065004 20220305045004 34505 geekflare.com. HW0Lfr5HazPMaACSBHmFqs94usKUljX kONW/8Q2jwQ1QoAO9DEMjwDX rIQKODGtGnEizj2SzBF98mC2uQr7hQ==
Empfangene 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 Domainnamen-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
geekflare.com Name-Server olga.ns.cloudflare.com.
geekflare.com Name-Server 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 olga.ns.cloudflare.com. 1 ⨯
Domain-Server verwenden:
Name: olga.ns.cloudflare.com.
Adresse: 173.245.58.137#53
Aliases:
geekflare.com hat die Adresse 104.27.118.115
geekflare.com hat die Adresse 104.27.119.115
geekflare.com hat die IPv6-Adresse 2606:4700:20::681b:7773
geekflare.com hat die IPv6-Adresse 2606:4700:20::681b:7673
geekflare.com mail wird von 1 aspmx.l.google.com.
geekflare.com mail wird von 5 alt1.aspmx.l.google.com bearbeitet.
geekflare.com mail wird von 5 alt2.aspmx.l.google.com bearbeitet.
geekflare.com mail wird von 10 alt3.aspmx.l.google.com bearbeitet.
geekflare.com mail wird von 10 alt4.aspmx.l.google.com bearbeitet.
So finden Sie Domänen-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
geekflare.com mail wird von 1 aspmx.l.google.com behandelt.
geekflare.com mail wird von 5 alt1.aspmx.l.google.com behandelt.
geekflare.com Mail wird von 5 alt2.aspmx.l.google.com behandelt.
geekflare.com Mail wird von 10 alt3.aspmx.l.google.com behandelt.
geekflare.com Mail wird von 10 alt4.aspmx.l.google.com behandelt.
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 Domain (von Menschen lesbare Informationen über einen Domain-Server).
host -t txt Ziel-Domäne
Beispielhafte Ausgabe:
┌──(geekflare㉿kali)-[~]
└─$ host -t txt geekflare.com
geekflare.com descriptive text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A"
geekflare.com descriptive text "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM"
geekflare.com descriptive text "yandex-verification: 42f25bad396e79f5"
geekflare.com descriptive text "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all"
geekflare.com descriptive text "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0"
geekflare.com descriptive 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
geekflare.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 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 2 ⨯
Nameserver 173.245.58.137:
geekflare.com hat 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
geekflare.com 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 1 ⨯
Trying "geekflare.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2479
;; Flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;geekflare.com. IN A
;; ANTWORTBEREICH:
geekflare.com. 30 IN A 104.27.119.115
geekflare.com. 30 IN A 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 zu lernen.
Vielleicht interessieren Sie sich auch für kostenlose Online-Tools zur Überprüfung der DNS-Einträge eines Domainnamens.