Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/d3mondev/puredns
AufklärungDNS- und Subdomain-EnumerationInformationsbeschaffungSubdomain-EnumerationDNS-FuzzingDNS-AnalyseTop in DNS-Analyse Nr.5Top in DNS-Fuzzing Nr.2Top in DNS- und Subdomain-Enumeration Nr.6Top in Subdomain-Enumeration Nr.6
2.2k19061vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubd3mondev/puredns

puredns

Hochgeschwindigkeits-DNS-Resolver und Subdomain-Bruteforcer mit präziser Wildcard-Filterung und DNS-Poisoning-Validierung für genaue Aufklärung.

Repository anzeigen

Schneller Domain-Auflöser und Subdomain-Bruteforcer mit genauer Wildcard-Filterung
Erste Schritte »

Verwendung · Funktionsweise · Sponsoring · FAQ

Über

puredns ist ein schneller Domain-Auflöser und ein Werkzeug zum Bruteforcen von Subdomains, das Wildcard-Subdomains und DNS-vergiftete Einträge genau herausfiltern kann.

Es verwendet massdns, einen leistungsstarken Stub-DNS-Resolver, um Bulk-Lookups durchzuführen. Mit der richtigen Bandbreite und einer guten Liste öffentlicher Resolver können Millionen von Abfragen in nur wenigen Minuten aufgelöst werden. Leider sind die Ergebnisse von massdns nur so gut wie die Antworten, die von den öffentlichen Resolvern geliefert werden. Die Ergebnisse werden oft durch falsche DNS-Antworten und Fehlalarme von Wildcard-Subdomains verunreinigt.

puredns löst dies mit seinem Algorithmus zur Wildcard-Erkennung. Es kann Wildcards basierend auf den von einer Reihe vertrauenswürdiger Resolver erhaltenen DNS-Antworten herausfiltern. Es versucht auch, DNS-Vergiftung zu umgehen, indem es die mit diesen vertrauenswürdigen Resolvern erhaltenen Antworten validiert.

Denkst du, das ist nützlich? ⭐ Gib uns einen Stern auf GitHub — es hilft!

puredns Terminal

Funktionen

  • Tausende DNS-Abfragen pro Sekunde auflösen mit massdns und einer Liste öffentlicher DNS-Resolver
  • Subdomains bruteforcen mit einer Wortliste und Root-Domains
  • Wildcards bereinigen und Wildcard-Roots mit minimalen Abfragen erkennen, um präzise Ergebnisse zu gewährleisten
  • DNS-Lastverteilung während der Wildcard-Erkennung umgehen
  • Validieren, dass die Ergebnisse frei von DNS-Vergiftung sind, indem gegen eine Liste bekannter vertrauenswürdiger Resolver geprüft wird
  • Eine Liste gültiger Domains, Wildcard-Subdomain-Roots und eine bereinigte massdns-Ausgabe mit nur den gültigen Einträgen speichern
  • Eine Liste von Domains oder Wörtern von stdin lesen und den Quiet-Modus für einfache Integration in benutzerdefinierte Automatisierungspipelines aktivieren

Sponsoring

Wenn meine Arbeit dir Geld einbringt, erwäge, Sponsor zu werden! Du kannst einzigartige Vorteile erhalten!

Es würde auch SEHR VIEL ❤️ bedeuten, da es mir erlauben würde, weiterhin kostenlos für die Community zu arbeiten. Aber egal, was du tust, sei versichert, dass meine Software für dich kostenlos und Open Source bleibt.

Erste Schritte

Voraussetzungen

massdns

Puredns benötigt massdns auf dem Host-Rechner. Wenn der Pfad zur massdns-Binärdatei in der PATH-Umgebungsvariable enthalten ist, funktioniert puredns sofort. Ein guter Ort, um die massdns-Ausführbare zu kopieren, ist bei den meisten Systemen /usr/local/bin. Andernfalls musst du den Pfad zur massdns-Binärdatei mit dem Befehlszeilenargument --bin angeben.

Das Folgende sollte auf den meisten Debian-basierten Systemen funktionieren. Befolge die offiziellen Anweisungen für weitere Informationen.

root@kitploit:~
git clone https://github.com/blechschmidt/massdns.git
cd massdns
make
sudo make install

Liste öffentlicher DNS-Resolver-Server

Du benötigst eine Liste öffentlicher DNS-Server, um puredns zu verwenden. Siehe die FAQ, um zu erfahren, wie du deine eigene Liste funktionierender Server zusammenstellst.

Installation

Du kannst ein Binär-Release herunterladen.

Alternativ kannst du die neueste Version einfach kompilieren. Stelle zunächst sicher, dass Go auf deinem System installiert ist – die letzten zwei Hauptversionen von Go werden unterstützt. Siehe die offizielle Go-Installationsanleitung für Installationsanweisungen. Führe dann den folgenden Befehl aus:

root@kitploit:~
go install github.com/d3mondev/puredns/v2@latest

Verwendung

Sieh dir die vollständige Liste der verfügbaren Befehle und Optionen mit puredns --help an.

Wenn eine Datei resolvers.txt im aktuellen Arbeitsverzeichnis existiert, verwendet puredns diese standardmäßig. Andernfalls, wenn entweder ~/.config/puredns/resolvers.txt oder ~/.config/puredns/resolvers-trusted.txt vorhanden sind, nutzt puredns diese automatisch als Resolver. Wenn keine dieser Optionen verfügbar ist, gib die zu verwendenden Resolver mit den Argumenten --resolvers und --resolvers-trusted an.

Die Angabe vertrauenswürdiger Resolver ist optional. Standardmäßig verwendet puredns einfach 8.8.8.8 und 8.8.4.4.

Subdomain-Bruteforcing

So bruteforct man eine riesige Liste von Subdomains mit einer Wortliste namens all.txt:

puredns bruteforce all.txt domain.com

Du kannst auch mehrere Domains gleichzeitig bruteforcen, indem du die Option -d verwendest, um eine Textdatei mit Domains zu laden, anstatt eine einzelne Domain als Argument anzugeben:

puredns bruteforce all.txt -d domains.txt

Auflösen einer Liste von Domains

Du kannst auch eine Liste von Domains auflösen, die in einer Textdatei enthalten sind (eine pro Zeile).

puredns resolve domains.txt

Stdin-Betrieb

Du kannst die Liste der aufzulösenden Domains über stdin übergeben:

cat domains.txt | puredns resolve

Oder eine Liste von Wörtern zum Bruteforcen:

cat wordlist.txt | puredns bruteforce domain.com

Du kannst auch den Schalter -q hinzufügen, um nur die gefundenen Domains auszugeben, die an andere Tools weitergeleitet werden sollen:

cat domains.txt | puredns resolve -q | httprobe

Ergebnisse in Dateien speichern

Du kannst die folgenden Informationen in Dateien speichern, um sie in deinen Workflows wiederzuverwenden:

  • domains: bereinigte Liste der Domains, die korrekt aufgelöst werden
  • Wildcard-Root-Domains: Liste der gefundenen Wildcard-Root-Domains (z. B. *.store.yahoo.com)
  • massdns-Ergebnisdatei (-o Snl Textausgabe): kann als Referenz und zum Extrahieren von A- und CNAME-Einträgen verwendet werden.
root@kitploit:~
puredns resolve domains.txt --write valid_domains.txt \
                            --write-wildcards wildcards.txt \
                            --write-massdns massdns.txt

Funktionsweise

puredns in Aktion

Du kannst puredns in Aktion gegen die Domain google.com mit einer kleinen Wortliste der 100k häufigsten Subdomains im obigen Bild sehen.

Im Rahmen seines Workflows führt puredns automatisch drei Schritte aus:

  1. Massenauflösung mit öffentlichen DNS-Servern
  2. Wildcard-Erkennung
  3. Validierung

1. Massenauflösung mit öffentlichen DNS-Servern

Mit massdns führt puredns eine Massenauflösung aller Domains und Subdomains durch. Es übergibt die Daten über stdin an massdns, was es ermöglicht, die Anzahl der Abfragen pro Sekunde bei Bedarf zu drosseln und eine grundlegende Bereinigung der generierten Domainliste durchzuführen.

Standardmäßig werden die Eingabe-Domains in Kleinbuchstaben umgewandelt, und nur Einträge mit gültigen Zeichen werden akzeptiert (im Wesentlichen [a-z0-9.-]). Du kannst dies mit dem Flag --skip-sanitize deaktivieren.

Nach diesem Schritt sind die Ergebnisse normalerweise verunreinigt: Einige öffentliche Resolver senden falsche Antworten zurück, und Wildcard-Subdomains können die Ergebnisse schnell aufblähen.

2. Wildcard-Erkennung

Puredns verwendet dann seinen Wildcard-Erkennungsalgorithmus, um alle Wildcard-Subdomain-Roots aus der massdns-Ergebnisdatei zu erkennen und zu extrahieren.

Es verwendet die massdns-Ausgabe aus Schritt 1 als DNS-Cache, um die Anzahl der durchzuführenden Abfragen zu minimieren. Um präzise Ergebnisse zu gewährleisten, kann es erforderlich sein, die Cache-Ergebnisse durch eine DNS-Abfrage zu validieren.

Du kannst diesen Schritt mit dem Flag --skip-wildcard überspringen.

3. Validierung

Zum Schutz vor DNS-Vergiftung verwendet puredns massdns ein letztes Mal, um die verbleibenden Ergebnisse mit vertrauenswürdigen DNS-Resolver zu validieren. Derzeit werden als interne vertrauenswürdige Resolver 8.8.8.8 und 8.8.4.4 verwendet. Dieser Schritt erfolgt langsamer, um eine Ratenbegrenzung auf den vertrauenswürdigen Resolvern zu vermeiden.

Du kannst diesen Schritt mit dem Flag --skip-validation überspringen.

An diesem Punkt sollten die resultierenden Dateien frei von Wildcard-Subdomains und DNS-vergifteten Antworten sein.

FAQ

Wie bekomme ich Resolver für die Verwendung mit puredns?

Trickest pflegt eine Liste gültiger Resolver hier: https://github.com/trickest/resolvers

Alternativ kannst du eine Liste öffentlicher Resolver von public-dns.info beziehen und dann das Projekt DNS Validator verwenden, um nur Resolver zu behalten, die gültige Antworten liefern.

Wenn deine öffentlichen Resolver puredns falsche Informationen liefern, z. B. durch das Senden vergifteter Antworten, können einige Subdomains übersehen werden, da sie herausgefiltert werden. Hinweis: Vermeide Resolver aus Ländern, die das Internet zensieren, wie China.

Sobald du eine Liste benutzerdefinierter Resolver hast, kannst du sie puredns mit dem Argument -r übergeben oder sie in einer Datei unter ~/.config/puredns/resolvers.txt ablegen:

puredns resolve domains.txt -r resolvers.txt

Die standardmäßigen vertrauenswürdigen Resolver sind derzeit 8.8.8.8 und 8.8.4.4. Wenn du sie ändern möchtest, kannst du auch eine benutzerdefinierte Liste mit dem Argument --resolvers-trusted angeben oder sie in einer Datei unter ~/.config/puredns/resolvers-trusted.txt ablegen. Ich habe viele Tests durchgeführt, um die bestmöglichen vertrauenswürdigen Resolver für puredns zu finden – überprüfe deine Ergebnisse sorgfältig, wenn du sie änderst, und passe die Ratenbegrenzung mit --rate-limit-trusted an.

puredns resolve domains.txt -r resolvers.txt --resolvers-trusted trusted.txt

Warum gibt es Domains in den Ergebnissen, die keine IP-Adresse auflösen?

Puredns ignoriert nicht einfach DNS-Antworten mit NXDOMAIN. Manchmal enthalten diese NXDOMAIN-Antworten gültige CNAME-Einträge, die auf abgelaufene Domains verweisen. Wenn diese Einträge vorhanden sind, können sie auf eine nicht registrierte Domain verweisen, was Subdomain-Übernahmen ermöglicht.

Wenn du Domains zurückbekommst, die keine IP-Adresse auflösen, überprüfe, ob sie einen interessanten CNAME-Eintrag enthalten:

dig @8.8.8.8 CNAME example.com

Warum werden Wildcards für manche Domains nicht korrekt herausgefiltert?

Die wahrscheinlichste Ursache ist DNS-Lastverteilung – manchmal erhältst du für jede einzelne DNS-Abfrage unterschiedliche IP-Adressen. Dies kann es sehr schwierig machen, Wildcard-Subdomains durch Vergleich ihrer DNS-Einträge zu erkennen.

Du kannst die Anzahl der Tests angeben, die puredns durchführt, um alle verschiedenen IP-Adressen für eine Subdomain während der Wildcard-Erkennung zu sammeln. Die Standardanzahl beträgt 3 Tests, was sehr niedrig ist. Ich habe Domains mit viel Lastverteilung gesehen, die mehr als 50 Abfragen benötigten, um Ergebnisse zu liefern, die nicht perfekt, aber gut genug waren.

Du kannst versuchen, die Anzahl der Tests zur Erkennung von Wildcard-Subdomains mit dem Argument --wildcard-tests zu erhöhen:

puredns resolve domains.txt --wildcard-tests 50

Warum stürzt puredns mit einem Out-of-Memory-Fehler ab, wenn sehr große Listen aufgelöst werden?

Zur Erkennung von Wildcards muss puredns einen Cache der gefundenen DNS-Antworten behalten. Wenn deine Domainliste hunderte Millionen Einträge umfasst und viele Wildcard-Subdomains enthält, kann der Hostspeicher ausgehen. Aber es gibt eine einfache Lösung.

Standardmäßig legt puredns alle Domains in einen einzigen Batch, um die Anzahl der DNS-Abfragen und die Ausführungszeit zu reduzieren. Wenn Speicher ein Problem ist, ist es möglich, die Domains mit dem Argument --wildcard-batch in mehreren kleineren Batches zu verarbeiten. Ich habe eine gute Größe zwischen 1M und 2M Subdomains für einen VPS mit 1 GB RAM gefunden.

puredns resolve domains.txt --wildcard-batch 1000000

Warum enthalten die Ergebnisse manchmal doppelte Domains?

Puredns entfernt keine Duplikate in seiner Pipeline. Wenn die Eingabedatei doppelte Elemente wie identische Wörter oder Domains enthält, gibt puredns doppelte Elemente aus. Du kannst sicherstellen, dass die Eingabedateien für puredns frei von Duplikaten sind, indem du ein Tool wie sort -u verwendest.

Warum enthalten die Ergebnisse manchmal nicht zusammenhängende Domains?

Dies liegt wahrscheinlich an den verwendeten öffentlichen Resolvern. Einige von ihnen geben manchmal Antworten zurück, die nichts mit den Abfragen zu tun haben, was zu zufälligen Domainnamen in der Ausgabe führt. Puredns behandelt diesen Fall derzeit nicht und überlässt es dem Benutzer, die Ausgabe zu bereinigen, um sicherzustellen, dass die gefundenen Domains den Umfang respektieren.

Ressourcen

public-dns.info aktualisiert kontinuierlich eine Liste öffentlicher und kostenloser DNS-Resolver.

DNS Validator kann verwendet werden, um deine eigene Liste öffentlicher DNS-Resolver zusammenzustellen.

all.txt wordlist Jhaddix' ikonische Wortliste all.txt wird häufig für die Subdomain-Enumeration verwendet.

shuffleDNS ist eine gute Alternative in Go, die Wildcard-Subdomains mit einem anderen Algorithmus behandelt.

Beiträge

Du kannst auf folgende Weise zu puredns beitragen:

  • Neue Feature-Ideen einreichen
  • Fehler melden als Issues
  • Gib diesem Repository einen Stern ⭐
  • Verbreite die Nachricht über puredns
  • Werde Sponsor 🥇 und erhalte exklusive Vorteile

Hast du eine Idee für ein großartiges neues Feature? Hast du einen Fehler gefunden, den du beheben möchtest? Großartig! Fühle dich frei, ein Issue einzureichen zur Diskussion, bevor du einen Pull-Request erstellst.

Ich werde keine Pull-Requests für triviale Änderungen wie Tippfehler-Korrekturen, Best Practices, kleinere Korrekturen usw. annehmen.

Haftungsausschluss & Lizenz

Alle in diesem Repository enthaltenen Resolver dienen nur als Referenz. Der Autor ist nicht verantwortlich für Missbrauch der Resolver in dieser Liste. Es liegt in der Verantwortung des Benutzers, eine Liste von Resolvern zusammenzustellen, die er verwenden darf.

Die Verwendung dieses Programms zum Angreifen von Zielen ohne Zustimmung ist illegal. Es liegt in der Verantwortung des Benutzers, alle geltenden Gesetze einzuhalten. Der Entwickler übernimmt keine Haftung und ist nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Programm verursacht werden. Bitte verwende es verantwortungsvoll.

Das in diesem Repository enthaltene Material ist unter GNU GPLv3 lizenziert.

Tool herunterladen