Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dnstwist — Motore di permutazione dei nomi di dominio per rilevare attacchi di phishing omografi, typosquatting e impersonificazione del marchio. | Kitploit
Strumenti/GitHubGitHub/elceef/dnstwist
OSINT (Open Source Intelligence)RicognizioneEnumerazione DNS e SottodominiRaccolta InformazioniPhishingFuzzingThreat IntelligenceAnalisi DNS
GitHubelceef/dnstwist

dnstwist

Motore di permutazione dei nomi di dominio per rilevare attacchi di phishing omografi, typosquatting e impersonificazione del marchio.

Vedi Repository
5.7k852281 anno 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
Sito web

dnstwist

Scopri in che tipo di guai possono incorrere gli utenti cercando di digitare il nome del tuo dominio. Trova domini lookalike che gli avversari possono utilizzare per attaccarti. Può rilevare typosquatting, attacchi di phishing, frodi e usurpazione del marchio. Utile come fonte aggiuntiva di threat intelligence mirata.

Demo

Il DNS fuzzing è un flusso di lavoro automatizzato che mira a scoprire domini potenzialmente dannosi che prendono di mira la tua organizzazione. Questo strumento genera un elenco completo di permutazioni basate su un nome di dominio fornito e successivamente verifica se alcune di queste permutazioni sono in uso. Inoltre, può generare fuzzy hash di pagine web per rilevare attacchi di phishing in corso o usurpazione del marchio, e molto altro!

Di fretta? Provalo nel tuo browser web: dnstwist.it

Caratteristiche principali

  • Varietà di algoritmi di domain fuzzing altamente efficaci
  • Nomi di dominio Unicode (IDN)
  • Permutazioni aggiuntive di domini da file di dizionario
  • Distribuzione efficiente delle attività multi-thread
  • Rilevamento live di pagine di phishing:
    • Somiglianza HTML con fuzzy hash (ssdeep/tlsh)
    • Somiglianza visiva degli screenshot con perceptual hash (pHash)
  • Rilevamento di host MX non autorizzati (intercettazione di e-mail deviate)
  • Posizione GeoIP
  • Esportazione in CSV e JSON

Installazione

Python PIP

$ pip install dnstwist[full]

In alternativa, installa il minimo indispensabile e aggiungi manualmente gli altri requisiti in base alle tue esigenze:

$ pip install dnstwist

Git

Se vuoi eseguire l'ultima versione del codice, puoi installarla da Git:

$ git clone https://github.com/elceef/dnstwist.git
$ cd dnstwist
$ pip install .

Debian/Ubuntu/Kali Linux

Esegui il seguente comando per installare lo strumento con tutti i pacchetti aggiuntivi:

$ sudo apt install dnstwist

Fedora Linux

$ sudo dnf install dnstwist

Arch Linux User Repository (yay)

$ yay -S dnstwist

macOS

Questo installerà dnstwist insieme a tutte le dipendenze e il binario verrà aggiunto a $PATH.

$ brew install dnstwist

Docker

Scarica ed esegui l'immagine ufficiale da Docker Hub:

$ docker run -it elceef/dnstwist

In alternativa puoi creare le tue immagini locali:

$ docker build -t dnstwist .
$ docker build -t dnstwist:phash --build-arg phash=1 .

Guida rapida

Lo strumento elaborerà il nome di dominio fornito attraverso i suoi algoritmi di fuzzing e genererà un elenco di potenziali domini di phishing insieme ai record DNS.

Di solito vengono generate migliaia di permutazioni di domini, soprattutto per domini di input più lunghi. In questi casi, può essere pratico mostrare solo quelli registrati:

$ dnstwist --registered domain.name

Assicurati che il tuo server DNS possa gestire migliaia di richieste in un breve periodo di tempo. In caso contrario, puoi specificare un server DNS esterno o DNS-over-HTTPS con l'argomento --nameservers.

Se le permutazioni di domini generate dagli algoritmi di fuzzing non sono sufficienti, fornisci a dnstwist un file dizionario. Sono inclusi alcuni esempi di dizionari con un elenco delle parole più comuni usate nelle campagne di phishing.

$ dnstwist --dictionary dictionaries/english.dict domain.name

Se devi verificare se esistono domini con TLD diversi, basta fornire un file dizionario con l'elenco dei TLD.

$ dnstwist --tld dictionaries/common_tlds.dict domain.name

D'altra parte, se devono essere usati solo algoritmi selezionati, è disponibile l'argomento --fuzzers, che accetta un elenco separato da virgole.

$ dnstwist --fuzzers "homoglyph,hyphenation" domain.name

Oltre all'output colorato del terminale, lo strumento consente di esportare i risultati in CSV e JSON:

$ dnstwist --format csv domain.name | column -t -s,
$ dnstwist --format json domain.name | jq

Se hai bisogno solo delle semplici permutazioni senza effettuare lookup DNS, usa l'argomento --format list:

$ dnstwist --format list domain.name

Lo strumento può eseguire lookup in tempo reale per restituire la posizione geografica (approssimata al paese) degli indirizzi IPv4.

$ dnstwist --geoip domain.name

La libreria GeoIP2 viene utilizzata di default. La posizione del database dei paesi deve essere specificata con la variabile d'ambiente $GEOLITE2_MMDB. Se la libreria o il database non sono presenti, lo strumento ripiegherà sulla vecchia GeoIP Legacy.

Per visualizzare tutte le opzioni disponibili con brevi descrizioni, esegui semplicemente lo strumento senza alcun argomento.

Rilevamento di phishing

Controllare manualmente ogni nome di dominio per verificare se ospita un sito di phishing può richiedere molto tempo. Per affrontare questo problema, dnstwist utilizza i cosiddetti fuzzy hash (locality-sensitive hash, LSH) e perceptual hash (pHash). Il fuzzy hashing è un concetto che implica la capacità di confrontare due input (codice HTML) e determinare un livello fondamentale di somiglianza, mentre il perceptual hash è un'impronta digitale derivata dalle caratteristiche visive di un'immagine (screenshot di una pagina web).

Fuzzy hashing

La funzionalità unica di rilevare codice HTML simile può essere attivata con l'argomento --lsh. Per ogni dominio generato, dnstwist recupererà il contenuto dal server HTTP che risponde (seguendo eventuali redirect), normalizzerà il codice HTML e confronterà il suo fuzzy hash con quello del dominio originale (iniziale). Il livello di somiglianza è espresso in percentuale.

Nei casi in cui l'URL effettivo è lo stesso del dominio originale, il fuzzy hash non viene affatto calcolato per respingere le indicazioni di falsi positivi.

Nota: tieni presente che è piuttosto improbabile ottenere una corrispondenza al 100%, anche per framework di attacco MITM, e che un sito di phishing può avere un codice HTML completamente diverso.

$ dnstwist --lsh domain.name

In alcuni casi, i siti di phishing sono serviti da un URL specifico. Se fornisci un indirizzo URL completo o parziale come argomento, dnstwist lo analizzerà e lo applicherà a ogni variante di nome di dominio generata. Usa --lsh-url per sovrascrivere l'URL da cui recuperare la pagina web originale.

$ dnstwist --lsh https://domain.name/owa/
$ dnstwist --lsh --lsh-url https://different.domain/owa/ domain.name

Di default, ssdeep viene usato come algoritmo LSH, ma è disponibile anche TLSH e può essere attivato in questo modo:

$ dnstwist --lsh tlsh domain.name

Perceptual hashing

Se il browser Chromium è installato, dnstwist può utilizzare la sua modalità headless, che opera senza interfaccia grafica, per catturare screenshot di pagine web, renderizzarli e calcolare i valori pHash. Questi valori pHash vengono poi confrontati per valutare la somiglianza visiva, espressa in percentuale.

$ dnstwist --phash domain.name

Inoltre, è possibile salvare gli screenshot catturati in formato PNG in una posizione a scelta:

$ dnstwist --phash --screenshots /tmp/domain domain.name

Nota: a causa dell'uso multi-thread di un browser web completamente funzionale, dovrebbe essere disponibile un'adeguata quantità di risorse libere (principalmente memoria).

Supporto proxy

Per tutte le connessioni HTTP, i proxy vengono utilizzati automaticamente quando viene rilevata la presenza di variabili d'ambiente denominate $<scheme>_proxy, in modo case-insensitive. Se esistono sia variabili d'ambiente minuscole che maiuscole, viene preferita quella minuscola.

API

Scarica lo strumento