Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
FakeDns — Un servidor DNS MITM en Python basado en expresiones regulares con soporte para ataques de DNS Rebinding. | Kitploit
Herramientas/GitHubGitHub/crypt0s/fakedns
Seguridad WebSeguridad de RedesPruebas de PenetraciónFuzzing de DNSRed TeamingAnálisis de DNS
GitHubcrypt0s/fakedns

FakeDns

Un servidor DNS MITM en Python basado en expresiones regulares con soporte para ataques de DNS Rebinding.

Ver Repositorio
581145hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

FakeDns

Actualización 4/14/2020: se eliminó el soporte para Python 2 y el código se cambió a Python3

¡Ahora con round-robin y opciones mejoradas!

Errores: @crypt0s - Twitter

[email protected] - Correo electrónico

¡Un servidor DNS basado en expresiones regulares de Python!

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

El archivo dns.conf debe configurarse de la siguiente manera:

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

La respuesta puede ser una dirección IP o la cadena self, el azúcar sintáctico self se traducirá a la dirección IP local de tu máquina actual, como 192.168.1.100.

Si no se encuentra una coincidencia, el servidor DNS intentará resolver la solicitud utilizando el servidor DNS que tengas configurado en tu máquina local y hará de proxy de la solicitud a ese servidor en nombre del usuario solicitante.

Tipos de solicitudes admitidos

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

Tipos de solicitudes en desarrollo

root@kitploit:~
- MX
- CNAME

Varios

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

Round-Robin

Las reglas round-robin están implementadas. Cada vez que un cliente solicita una regla que coincide, FakeDNS sirve la siguiente IP de la lista de IP proporcionadas en la regla.
Una lista de IP está separada por comas.

Por ejemplo:

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

Es una regla round-robin para robin.net que servirá respuestas apuntando a 1.2.3.4, 1.1.1.1 y 2.2.2.2, iterando en ese orden cada vez que cualquier cliente realice una solicitud para la entrada robin.net.

NOTA: Estas IP no se incluyen como lista al cliente en la respuesta; solo reciben una única IP en la respuesta (podría cambiar eso más adelante)

DNS Rebinding

FakeDNS soporta reglas de rebinding, lo que básicamente significa que el servidor acepta un cierto número de solicitudes de un cliente para un dominio hasta un umbral (por defecto 1 solicitud) y luego cambia la dirección IP a una diferente.

Por ejemplo:

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

Significa que tenemos un registro A para rebind.net que se resuelve a 1.1.1.1 durante los primeros 10 intentos. En la 11.ª solicitud de un cliente que ya ha realizado 10 solicitudes, FakeDNS comienza a servir la segunda IP, 4.5.6.7

Puedes usar una lista de direcciones aquí y FakeDNS las rotará (round-robin) por ti, igual que en la regla "normal".

Probando FakeDNS en Docker

(solo localhost sin pasos adicionales)

He tenido mucho éxito probando/desarrollando FakeDNS en Docker porque es más fácil que ejecutarlo de forma nativa en instalaciones modernas de Ubuntu, que ya tienen sus propios servicios DNS ejecutándose en el puerto 53.

Si quieres probarlo, puedes hacerlo sin mucho esfuerzo siguiendo estos pasos:

Asumiendo que estás dentro del directorio 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. Y para probar, puedes ejecutar nslookup -port=5353 testrule.test 127.0.0.1, que debería devolver 1.1.1.1` en tu primera solicitud

O, si prefieres usar docker-compose, simplemente ejecuta docker-compose up y usa la misma prueba de arriba.

Descargar herramienta