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
whonow — Un server DNS "maligno" per eseguire attacchi di DNS Rebinding al volo (istanza pubblica in esecuzione su rebind.network:53) | Kitploit
Strumenti/GitHubGitHub/brannondorsey/whonow
Sfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneRed TeamingAnalisi DNS
GitHubbrannondorsey/whonow

whonow

Un server DNS "maligno" per eseguire attacchi di DNS Rebinding al volo (istanza pubblica in esecuzione su rebind.network:53)

Vedi Repository
659938 anni 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

Server DNS Whonow

Un server DNS malevolo per eseguire attacchi DNS Rebinding al volo. whonow ti consente di specificare dinamicamente le risposte DNS e le regole di rebinding usando le richieste di dominio stesse.

root@kitploit:~
# respond to DNS queries for this domain with 34.192.228.43 the first time
# it is requested and then 192.168.1.1 every time after that
A.34.192.228.43.1time.192.168.1.1.forever.rebind.network

# respond first with 34.192.228.43, then 192.168.1.1 the next five times,
# and then start all over again (1, then 5, forever...)
A.34.192.228.43.1time.192.168.1.1.5times.repeat.rebind.network

La cosa grandiosa delle regole dinamiche di DNS Rebinding è che non devi configurare il tuo server DNS malevolo per iniziare a sfruttare la Same-origin policy del browser. Invece, tutti possono condividere lo stesso server whonow pubblico in esecuzione sulla porta 53 di rebind.network.

Nota: Dovresti includere un UUID (es. a06a5856-1fff-4415-9aa2-823230b05826) come sottodominio in ogni query DNS verso un server whonow. Per brevità sono stati omessi dagli esempi in questo README, ma si presume che le richieste a *.rebind.network siano in realtà *.a06a5856-1fff-4415-9aa2-823230b05826.rebind.network. Vedi la sezione Gotchas per maggiori informazioni sul perché.

DICHIARAZIONE DI NON RESPONSABILITÀ: Questo software è solo a scopo educativo. Non deve essere utilizzato per attività illegali. L'autore non è responsabile per il suo uso. Non fare lo stronzo.

Sottodomini = Regole di Rebinding

La bellezza di whonow è che puoi definire il comportamento delle risposte DNS tramite i sottodomini nel nome di dominio stesso. Usando solo poche semplici parole chiave: A, (n)times, forever e repeat, puoi definire un comportamento DNS complesso e potente.

Anatomia di una richiesta whonow

root@kitploit:~
A.<ip-address>.<rule>[.<ip-address>.<rule>[.<ip-address>.<rule>]][.uuid/random-string].example.com
  • A: Il tipo di richiesta DNS. Al momento solo i record A sono supportati, ma AAAA dovrebbe arrivare presto.
  • <ip-address>: un indirizzo ipv4 (ipv6 in arrivo) con ogni ottetto separato da un punto (es. 192.168.1.1.)
  • <rule>: Una di tre regole
    • (n)time[s]: Il numero di volte che il server DNS deve rispondere con l'indirizzo IP precedente. Accetta stringhe sia plurali che singolari (es. 1time, 3times, 5000times)
    • forever: Rispondi con l'indirizzo IP precedente per sempre.
    • repeat: Ripeti l'intero insieme di regole a partire dall'inizio.
  • [uuid/random-string]: Una stringa casuale per mantenere separati gli attacchi DNS Rebind contro gli stessi indirizzi IP. Vedi Gotchas per maggiori informazioni.
  • example.com: Un nome di dominio che punti a un nameserver , come l'istanza pubblicamente disponibile su .

Le regole possono essere concatenate per formare un comportamento di risposta complesso.

Esempi

root@kitploit:~
# always respond with 192.168.1.1. This isn't really DNS rebinding
# but it still works
A.192.168.1.1.forever.rebind.network

# alternate between localhost and 10.0.0.1 forever
A.127.0.0.1.1time.10.0.0.1.1time.repeat.rebind.network

# first respond with 192.168.1.1 then 192.168.1.2. Now respond 192.168.1.3 forever.
A.192.168.1.1.1time.192.168.1.2.2times.192.168.1.3.forever.rebind.network

# respond with 34.192.228.43 the first time, then whatever `whonow --default-address`
# is set to forever after that (default: 127.0.0.1)
A.34.192.228.43.1time.rebind.network

Limitazioni

Ogni etichetta [sottodominio] può contenere da zero a 63 caratteri... Il nome di dominio completo non può superare la lunghezza di 253 caratteri nella sua rappresentazione testuale. (dalla pagina Wikipedia del DNS)

Inoltre, non possono esserci più di 127 etichette/sottodomini.

Gotchas

Usa Nomi di Dominio Univoci

Ogni richiesta di nome di dominio univoco a whonow crea un piccolo programma di salvataggio dello stato nella RAM del server. La volta successiva che quel nome di dominio viene richiesto, il contatore del programma incrementa e lo stato può essere mutato. Tutti i nomi di dominio univoci sono istanze di programma uniche e proprie. Per evitare conflitti con altri utenti o di far incrementare involontariamente lo stato del programma del tuo nome di dominio, dovresti aggiungere un sottodominio UUID dopo le definizioni delle regole. Quell'UUID non dovrebbe mai essere riutilizzato.

root@kitploit:~
# this
A.127.0.0.1.1time.10.0.0.1.1time.repeat.8f058b82-4c39-4dfe-91f7-9b07bcd7fbd4.rebind.network

# not this
A.127.0.0.1.1time.10.0.0.1.1time.repeat.rebind.network

--max-ram-domains

Lo stato del programma associato a ogni nome di dominio univoco è memorizzato da whonow nella RAM. Per evitare di esaurire la RAM, viene posto un limite massimo al numero di domini univoci il cui stato del programma può essere gestito contemporaneamente. Di default, questo valore è impostato a 10.000.000, ma può essere configurato con --max-ram-domains. Una volta raggiunto questo limite, i nomi di dominio e il loro stato del programma salvato verranno rimossi nell'ordine in cui sono stati aggiunti (FIFO).

Eseguire il proprio server whonow

Per eseguire il proprio server whonow nel cloud, usa il pannello di amministrazione del tuo provider di nomi di dominio per configurare un nameserver personalizzato che punti al tuo VPS. Quindi installa whonow su quel VPS e assicurati che sia in esecuzione sulla porta 53 (la porta DNS predefinita) e che la porta 53 sia accessibile a Internet.

root@kitploit:~
# install
npm install --cli -g whonow@latest

# run it!
whonow --port 53

# you can also run it with more logging to stdout and save DNS activity to CSV
whonow --port 53 --logfile log.csv --verbose

whonow screenshot

Se quello ☝ è troppo complicato, sentiti libero di usare il server whonow pubblico in esecuzione sulla porta 53 di rebind.network.🌐.

Utilizzo

root@kitploit:~
$ whonow --help
usage: whonow [-h] [-v] [-p PORT] [-d DEFAULT_ANSWER] [-b MAX_RAM_DOMAINS]
              [-l LOGFILE] [-m]
              

A malicious DNS server for executing DNS Rebinding attacks on the fly.

Optional arguments:
  -h, --help            Show this help message and exit.
  -v, --version         Show program's version number and exit.
  -p PORT, --port PORT  What port to run the DNS server on (default: 53).
  -d DEFAULT_ANSWER, --default-answer DEFAULT_ANSWER
                        The default IP address to respond with if no rule is 
                        found (default: "127.0.0.1").
  -b MAX_RAM_DOMAINS, --max-ram-domains MAX_RAM_DOMAINS
                        The number of domain name records to store in RAM at 
                        once. Once the number of unique domain names queried 
                        surpasses this number domains will be removed from 
                        memory in the order they were requested. Domains that 
                        have been removed in this way will have their program 
                        state reset the next time they are queried (default: 
                        10000000).
  -l LOGFILE, --logfile LOGFILE
                        Log to CSV file (default: false)
  -m, --verbose         Log request timestamp and sender IP address to stdout 
                        (default: false)

Test

Un server whonow deve essere in esecuzione su localhost:15353 per eseguire i test in test.js

root@kitploit:~
# in one terminal
whonow -p 15353
root@kitploit:~
# in another terminal
cd path/to/node_modules/whonow
npm test
Scarica lo strumento
whonow
whonow
rebind.network:53