Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
puredns — Resolver DNS ad alta velocità e bruteforcer di sottodomini con filtro wildcard accurato e validazione del DNS poisoning per una ricognizione precisa. | Kitploit
Strumenti/GitHubGitHub/d3mondev/puredns
RicognizioneEnumerazione DNS e SottodominiRaccolta InformazioniEnumerazione SottodominiFuzzing DNSAnalisi DNSTop in Analisi DNS n.5Top in Fuzzing DNS n.2Top in Enumerazione DNS e Sottodomini n.6Top in Enumerazione Sottodomini n.6
2.2k190616 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHubd3mondev/puredns

puredns

Resolver DNS ad alta velocità e bruteforcer di sottodomini con filtro wildcard accurato e validazione del DNS poisoning per una ricognizione precisa.

Vedi Repository

Risolutore di domini veloce e brute force di sottodomini con filtro accurato dei wildcard
Per Iniziare »

Utilizzo · Come funziona · Sponsorizzazione · FAQ

Informazioni

puredns è un risolutore di domini veloce e uno strumento di brute force per sottodomini in grado di filtrare accuratamente i sottodomini wildcard e le voci avvelenate da DNS.

Utilizza massdns, un potente risolutore DNS stub, per eseguire ricerche in blocco. Con la giusta larghezza di banda e una buona lista di risolutori pubblici, può risolvere milioni di query in pochi minuti. Purtroppo, i risultati di massdns sono validi solo quanto le risposte fornite dai risolutori pubblici. I risultati sono spesso contaminati da risposte DNS errate e falsi positivi da sottodomini wildcard.

puredns risolve questo problema con il suo algoritmo di rilevamento dei wildcard. È in grado di filtrare i wildcard basandosi sulle risposte DNS ottenute da un insieme di risolutori fidati. Cerca anche di aggirare l'avvelenamento DNS convalidando le risposte ottenute tramite tali risolutori fidati.

Pensi che sia utile? ⭐ Metti una stella su GitHub — aiuta!

terminale puredns

Funzionalità

  • Risolvi migliaia di query DNS al secondo usando massdns e un elenco di risolutori DNS pubblici
  • Esegui brute force di sottodomini usando una wordlist e domini root
  • Pulisci i wildcard e rileva le radici wildcard usando il numero minimo di query per garantire risultati precisi
  • Aggira il bilanciamento del carico DNS durante il rilevamento dei wildcard
  • Convalida che i risultati siano privi di avvelenamento DNS eseguendo il controllo contro un elenco di risolutori noti e fidati
  • Salva un elenco di domini validi, radici di sottodomini wildcard e un output massdns pulito contenente solo le voci valide
  • Leggi un elenco di domini o parole da stdin e abilita la modalità silenziosa per una facile integrazione in pipeline di automazione personalizzate

Sponsorizzazione

Se il mio lavoro ti fa guadagnare denaro, valuta di diventare uno sponsor! Puoi ottenere vantaggi unici!

Significherebbe anche MOLTISSIMO ❤️ perché mi permetterebbe di continuare a lavorare gratuitamente per la community. Ma qualunque cosa tu faccia, stai certo che il mio software rimarrà gratuito e open-source per te.

Per Iniziare

Prerequisiti

massdns

Puredns richiede massdns sulla macchina host. Se il percorso del binario massdns è presente nella variabile d'ambiente PATH, puredns funzionerà immediatamente. Un buon posto per copiare l'eseguibile massdns è /usr/local/bin sulla maggior parte dei sistemi. Altrimenti, dovrai specificare il percorso del file binario massdns usando l'argomento --bin.

Quanto segue dovrebbe funzionare sulla maggior parte dei sistemi basati su Debian. Segui le istruzioni ufficiali per maggiori informazioni.

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

Elenco di server DNS pubblici

Devi ottenere un elenco di server DNS pubblici per usare puredns. Consulta le FAQ per imparare come curare il tuo elenco di server funzionanti.

Installazione

Puoi scaricare una release binaria.

In alternativa, puoi compilare facilmente l'ultima versione. Prima assicurati che Go sia installato sul tuo sistema — sono supportate le ultime due major release di Go. Fai riferimento alla pagina ufficiale di installazione di Go per le istruzioni. Poi esegui il seguente comando:

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

Utilizzo

Assicurati di visualizzare l'elenco completo dei comandi e delle opzioni disponibili usando puredns --help.

Se esiste un file resolvers.txt nella directory di lavoro corrente, puredns lo userà come impostazione predefinita. Altrimenti, se sono presenti i file ~/.config/puredns/resolvers.txt o ~/.config/puredns/resolvers-trusted.txt, puredns li utilizzerà automaticamente come risolutori. Se nessuna di queste opzioni è disponibile, specifica i risolutori da usare con gli argomenti --resolvers e --resolvers-trusted.

Specificare risolutori fidati è opzionale. Per impostazione predefinita, puredns userà semplicemente 8.8.8.8 e 8.8.4.4.

Brute force di sottodomini

Ecco come fare brute force di una lista massiccia di sottodomini usando una wordlist chiamata all.txt:

puredns bruteforce all.txt domain.com

Puoi anche fare brute force di più domini contemporaneamente con l'opzione -d per caricare un file di testo contenente domini invece di specificare un singolo dominio come argomento:

puredns bruteforce all.txt -d domains.txt

Risolvere una lista di domini

Puoi anche risolvere una lista di domini contenuti in un file di testo (uno per riga).

puredns resolve domains.txt

Operazione con stdin

Puoi passare l'elenco di domini da risolvere tramite stdin:

cat domains.txt | puredns resolve

O una lista di parole da usare per il brute force:

cat wordlist.txt | puredns bruteforce domain.com

Puoi anche aggiungere l'opzione -q per produrre solo i domini trovati da passare ad altri strumenti:

cat domains.txt | puredns resolve -q | httprobe

Salvare i risultati in file

Puoi salvare le seguenti informazioni in file per riutilizzarle nei tuoi flussi di lavoro:

  • domini: elenco pulito di domini che risolvono correttamente
  • domini root wildcard: elenco delle radici wildcard trovate (es. *.store.yahoo.com)
  • file risultati massdns (-o Snl output testo): può essere usato come riferimento e per estrarre record A e CNAME.
root@kitploit:~
puredns resolve domains.txt --write valid_domains.txt \
                            --write-wildcards wildcards.txt \
                            --write-massdns massdns.txt

Come funziona

puredns in azione

Puoi vedere puredns all'opera sul dominio google.com usando una piccola wordlist dei 100k sottodomini più comuni nell'immagine sopra.

Come parte del suo flusso di lavoro, puredns esegue automaticamente tre passaggi:

  1. Risoluzione di massa usando server DNS pubblici
  2. Rilevamento wildcard
  3. Convalida

1. Risoluzione di massa usando server DNS pubblici

Usando massdns, puredns esegue una risoluzione di massa di tutti i domini e sottodomini. Invia i dati a massdns tramite stdin, il che gli consente di limitare il numero di query al secondo se necessario e di eseguire una sanificazione di base sull'elenco dei domini generati.

Per impostazione predefinita, i domini di input vengono convertiti in minuscolo e vengono accettate solo voci contenenti caratteri validi (essenzialmente [a-z0-9.-]). Puoi disabilitare questa funzione con il flag --skip-sanitize.

Dopo questo passaggio, i risultati sono solitamente contaminati: alcuni risolutori pubblici invieranno risposte errate e i sottodomini wildcard possono gonfiare rapidamente i risultati.

2. Rilevamento wildcard

Puredns utilizza quindi il suo algoritmo di rilevamento wildcard per rilevare ed estrarre tutte le radici dei sottodomini wildcard dal file dei risultati di massdns.

Utilizzerà l'output di massdns del passaggio 1 come cache DNS per ridurre al minimo il numero di query da eseguire. Per garantire risultati precisi, potrebbe dover convalidare i risultati della cache eseguendo una query DNS.

Puoi saltare questo passaggio usando il flag --skip-wildcard.

3. Convalida

Per proteggersi dall'avvelenamento DNS, puredns usa massdns un'ultima volta per convalidare i risultati rimanenti usando risolutori DNS fidati. Attualmente, i risolutori fidati interni utilizzati sono 8.8.8.8 e 8.8.4.4. Questo passaggio viene eseguito a un ritmo più lento per evitare di incorrere in limitazioni di velocità sui risolutori fidati.

Puoi saltare questo passaggio usando il flag --skip-validation.

A questo punto, i file risultanti dovrebbero essere privi di sottodomini wildcard e risposte avvelenate da DNS.

FAQ

Come posso ottenere risolutori per usarli con puredns?

Trickest mantiene un elenco di risolutori validi qui: https://github.com/trickest/resolvers

In alternativa, puoi ottenere un elenco di risolutori pubblici da public-dns.info, quindi usare il progetto DNS Validator per mantenere solo i risolutori che forniscono risposte valide.

Se i tuoi risolutori pubblici forniscono informazioni errate a puredns, ad esempio inviando risposte avvelenate, alcuni sottodomini potrebbero essere persi perché verranno filtrati. Suggerimento: Evita risolutori provenienti da paesi che censurano Internet, come la Cina.

Una volta ottenuto un elenco di risolutori personalizzati, puoi passarli a puredns con l'argomento -r o posizionandoli in un file situato in ~/.config/puredns/resolvers.txt:

puredns resolve domains.txt -r resolvers.txt

I risolutori fidati predefiniti sono attualmente 8.8.8.8 e 8.8.4.4. Se desideri modificarli, puoi anche specificare un elenco personalizzato con l'argomento --resolvers-trusted o posizionandoli in un file situato in ~/.config/puredns/resolvers-trusted.txt. Ho eseguito molti test per trovare i migliori risolutori fidati per puredns: assicurati di convalidare attentamente i tuoi risultati se decidi di cambiarli e regola il limite di velocità con --rate-limit-trusted.

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

Perché nei risultati ci sono domini che non risolvono in un indirizzo IP?

Puredns non ignora semplicemente le risposte DNS che contengono NXDOMAIN. A volte, queste risposte NXDOMAIN hanno record CNAME validi che puntano a domini scaduti. Se questi record sono presenti, potrebbero puntare a un dominio non registrato, consentendo takeover di sottodomini.

Se ottieni domini che non risolvono in un indirizzo IP, controlla se contengono un record CNAME di interesse:

dig @8.8.8.8 CNAME example.com

Perché per alcuni domini i wildcard non vengono filtrati correttamente?

La causa più probabile è il bilanciamento del carico DNS: a volte, per ogni query DNS unica, ottieni indirizzi IP diversi. Questo può rendere molto difficile rilevare i sottodomini wildcard confrontando i loro record DNS.

Puoi specificare il numero di test che puredns eseguirà per raccogliere tutti i diversi indirizzi IP per un sottodominio durante il rilevamento wildcard. Il numero predefinito è 3 test, che è molto basso. Ho visto domini con molto bilanciamento richiedere più di 50 query per restituire risultati non perfetti ma sufficienti.

Puoi provare ad aumentare il numero di test eseguiti per rilevare i sottodomini wildcard con l'argomento --wildcard-tests:

puredns resolve domains.txt --wildcard-tests 50

Perché puredns va in crash con un errore di memoria insufficiente quando risolve elenchi molto grandi?

Per rilevare i wildcard, puredns deve mantenere una cache delle risposte DNS trovate. Se il tuo elenco di domini è di centinaia di milioni e contiene molti sottodomini wildcard, l'host potrebbe esaurire la memoria. Ma c'è una soluzione semplice.

Per impostazione predefinita, puredns inserisce tutti i domini in un unico batch per risparmiare sul numero di query DNS e sul tempo di esecuzione. Se la memoria è un problema, è possibile elaborare i domini in batch più piccoli con l'argomento --wildcard-batch. Ho trovato che una buona dimensione sia tra 1M e 2M di sottodomini per un VPS con 1GB di RAM.

puredns resolve domains.txt --wildcard-batch 1000000

Perché i risultati a volte contengono domini duplicati?

Puredns non rimuove i duplicati in nessuna parte della sua pipeline. Se il file di input contiene elementi duplicati come parole o domini identici, puredns produrrà elementi duplicati. Puoi assicurarti che i file di input forniti a puredns siano privi di duplicati usando uno strumento come sort -u.

Perché i risultati a volte contengono domini non correlati?

Probabilmente è dovuto ai risolutori pubblici utilizzati. Alcuni di essi a volte restituiscono risposte non correlate alle query, portando a nomi di dominio casuali nell'output. Puredns attualmente non gestisce questo caso e lascia all'utente la sanificazione dell'output per garantire che i domini trovati rispettino l'ambito.

Risorse

public-dns.info aggiorna continuamente un elenco di risolutori DNS pubblici e gratuiti.

DNS Validator può essere utilizzato per curare il tuo elenco di risolutori DNS pubblici.

Wordlist all.txt La famosa wordlist all.txt di Jhaddix è comunemente usata per l'enumerazione dei sottodomini.

shuffleDNS è una buona alternativa scritta in go che gestisce i sottodomini wildcard usando un algoritmo diverso.

Contributi

Puoi contribuire a puredns nei seguenti modi:

  • Invia idee per nuove funzionalità
  • Segnala bug come issue
  • Metti una stella ⭐ a questo repository
  • Diffondi la parola su puredns
  • Diventa uno sponsor 🥇 e ottieni vantaggi unici

Hai un'idea per una nuova fantastica funzionalità? Hai trovato un bug che vuoi risolvere? Ottimo! Sentiti libero di inviare un issue per discuterne prima di fare una pull request.

Non accetterò pull request per modifiche banali come correzioni di errori di battitura, migliori pratiche, piccole correzioni, ecc.

Disclaimer e Licenza

Tutti i risolutori inclusi in questo repository sono presenti solo come riferimento. L'autore non è responsabile per qualsiasi uso improprio dei risolutori in quell'elenco. È responsabilità dell'utente curare un elenco di risolutori che è autorizzato a utilizzare.

L'uso di questo programma per attaccare target senza consenso è illegale. È responsabilità dell'utente rispettare tutte le leggi applicabili. Lo sviluppatore non si assume alcuna responsabilità e non è responsabile per qualsiasi uso improprio o danno causato da questo programma. Si prega di usare con responsabilità.

Il materiale contenuto in questo repository è concesso in licenza sotto GNU GPLv3.

Scarica lo strumento