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
FakeDns — Server DNS MITM in Python basato su espressioni regolari con supporto per attacchi di DNS Rebinding | Kitploit
Strumenti/GitHubGitHub/crypt0s/fakedns
Sicurezza WebSicurezza di RetePenetration TestingFuzzing DNSRed TeamingAnalisi DNS
GitHubcrypt0s/fakedns

FakeDns

Server DNS MITM in Python basato su espressioni regolari con supporto per attacchi di DNS Rebinding

Vedi Repository
5811454 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

FakeDns

Aggiornamento 14/04/2020 - rimosso il supporto a Python 2 e codice migrato a Python3

Ora con round-robin e opzioni migliorate!

Bug: @crypt0s - Twitter

[email protected] - Email

Un server DNS basato su espressioni regolari Python!

root@kitploit:~
USAGE:
./fakedns.py [-h] -c Config path [-i interface IP address] [--rebind]

Il file dns.conf deve essere configurato nel seguente modo:

root@kitploit:~
[RECORD TYPE CODE] [python regular expression] [answer] [rebind answer]

La risposta può essere un indirizzo IP o la stringa self, lo zucchero sintattico self verrà tradotto con l'indirizzo IP locale della tua macchina corrente, ad esempio 192.168.1.100.

Se non viene trovata una corrispondenza, il server DNS tenterà di risolvere la richiesta usando il server DNS configurato sulla tua macchina locale e inoltrerà la richiesta a quel server per conto dell'utente richiedente.

Tipi di richiesta supportati

root@kitploit:~
- A
- TXT
- AAAA
- PTR
- SOA

Tipi di richiesta in fase di sviluppo

root@kitploit:~
- MX
- CNAME

Varie

root@kitploit:~
- Supporta DNS Rebinding
- Supporta round-robin

Round-Robin

Le regole round-robin sono implementate. Ogni volta che un client richiede una regola corrispondente, FakeDNS restituirà il successivo IP nell'elenco di IP forniti nella regola.
Un elenco di IP è separato da virgole.

Per esempio:

root@kitploit:~
A robin.net 1.2.3.4,1.1.1.1,2.2.2.2

È una regola round-robin per robin.net che restituirà risposte che puntano a 1.2.3.4, 1.1.1.1 e 2.2.2.2, iterando in quest'ordine ogni volta che un client effettua una richiesta per la voce robin.net.

NOTA : Questi IP non vengono inclusi come elenco nella risposta al client - ricevono comunque un solo IP nella risposta (potrebbe cambiare in futuro)

DNS Rebinding

FakeDNS supporta le regole di rebinding, il che significa sostanzialmente che il server accetta un certo numero di richieste da un client per un dominio fino a una soglia (predefinita a 1 richiesta) e poi cambia l'indirizzo IP con uno diverso.

Per esempio:

root@kitploit:~
A rebind.net 1.1.1.1 10%4.5.6.7

Significa che abbiamo un record A per rebind.net che risolve in 1.1.1.1 per i primi 10 tentativi. All'undicesima richiesta da parte di un client che ha già effettuato 10 richieste, FakeDNS inizia a restituire il secondo IP, 4.5.6.7

Qui puoi usare un elenco di indirizzi e FakeDNS li gestirà in round-robin, proprio come nella regola "normale".

Testare FakeDNS in Docker

(solo localhost senza passaggi aggiuntivi)

Ho avuto molto successo testando/sviluppando FakeDNS in Docker perché è più semplice che eseguirlo nativamente su installazioni Ubuntu moderne che hanno già i propri servizi DNS in esecuzione sulla porta 53.

Se vuoi provarlo, puoi farlo senza troppa fatica seguendo questi passaggi:

Supponendo che tu sia dentro la directory FakeDns: sudo docker run --interactive --tty --volume \pwd`:/opt/FakeDns -p 5353:53/udp python:3.8 /opt/FakeDns/fakedns.py -c /opt/FakeDns/dns.conf.example. Per testare, puoi eseguire nslookup -port=5353 testrule.test 127.0.0.1che dovrebbe restituire1.1.1.1` alla prima richiesta

Oppure, se preferisci usare docker-compose, basta eseguire docker-compose up e usare lo stesso test di cui sopra.

Scarica lo strumento