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
puredns — Resolvedor de DNS de alta velocidad y forzador bruto de subdominios con filtrado preciso de comodines y validación de envenenamiento de DNS para un reconocimiento preciso. | Kitploit
Herramientas/GitHubGitHub/d3mondev/puredns
ReconocimientoEnumeración de DNS y SubdominiosRecopilación de InformaciónEnumeración de SubdominiosAnálisis de DNS
GitHubd3mondev/puredns

puredns

Resolvedor de DNS de alta velocidad y forzador bruto de subdominios con filtrado preciso de comodines y validación de envenenamiento de DNS para un reconocimiento preciso.

Ver Repositorio
2.2k190hace 5 mesesRevisado 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

Resolvedor rápido de dominios y fuerza bruta de subdominios con filtrado preciso de comodines (wildcards)
Primeros pasos »

Uso · Cómo funciona · Patrocinio · Preguntas frecuentes

Acerca de

puredns es un resolvedor rápido de dominios y una herramienta de fuerza bruta de subdominios que puede filtrar con precisión subdominios comodín y entradas envenenadas de DNS.

Utiliza massdns, un potente resolvedor DNS auxiliar, para realizar búsquedas masivas. Con el ancho de banda adecuado y una buena lista de resolutores públicos, puede resolver millones de consultas en solo unos minutos. Desafortunadamente, los resultados de massdns son tan buenos como las respuestas proporcionadas por los resolutores públicos. Los resultados suelen estar contaminados con respuestas DNS incorrectas y falsos positivos de subdominios comodín.

puredns resuelve esto con su algoritmo de detección de comodines. Puede filtrar comodines basándose en las respuestas DNS obtenidas de un conjunto de resolutores de confianza. También intenta evitar el envenenamiento DNS validando las respuestas obtenidas mediante esos resolutores de confianza.

¿Crees que es útil? ⭐ ¡Danos una estrella en GitHub — ayuda!

puredns terminal

Características

  • Resuelve miles de consultas DNS por segundo usando massdns y una lista de resolutores DNS públicos
  • Fuerza bruta de subdominios usando un diccionario y dominios raíz
  • Limpia comodines y detecta raíces comodín usando el número mínimo de consultas para garantizar resultados precisos
  • Evita el balanceo de carga DNS durante la detección de comodines
  • Valida que los resultados estén libres de envenenamiento DNS ejecutándolos contra una lista de resolutores conocidos y de confianza
  • Guarda una lista de dominios válidos, raíces de subdominios comodín y un resultado limpio de massdns que contenga solo las entradas válidas
  • Lee una lista de dominios o palabras desde stdin y activa el modo silencioso para una fácil integración en tuberías de automatización personalizadas

Patrocinio

Si mi trabajo te genera ingresos, ¡considera convertirte en patrocinador! ¡Puedes obtener ventajas exclusivas!

Además significaría MUCHO ❤️ ya que me permitiría seguir trabajando gratis para la comunidad. Pero sin importar lo que hagas, ten la seguridad de que mi software seguirá siendo gratuito y de código abierto para que lo uses.

Primeros pasos

Requisitos previos

massdns

Puredns requiere massdns en la máquina anfitriona. Si la ruta al binario de massdns está presente en la variable de entorno PATH, puredns funcionará sin problemas. Un buen lugar para copiar el ejecutable de massdns es /usr/local/bin en la mayoría de los sistemas. De lo contrario, deberás especificar la ruta al archivo binario de massdns usando el argumento de línea de comandos --bin.

Lo siguiente debería funcionar en la mayoría de los sistemas basados en Debian. Sigue las instrucciones oficiales para más información.

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

Lista de servidores DNS públicos

Necesitas obtener una lista de servidores DNS públicos para usar puredns. Consulta las preguntas frecuentes para aprender a seleccionar tu propia lista de servidores funcionales.

Instalación

Puedes descargar un binario de la versión.

Alternativamente, puedes compilar la última versión fácilmente. Primero asegúrate de que Go esté instalado en tu sistema; se admiten las dos últimas versiones principales de Go. Consulta la página oficial de instalación de Go para obtener instrucciones de instalación. Luego ejecuta el siguiente comando:

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

Uso

Asegúrate de ver la lista completa de comandos y opciones disponibles usando puredns --help.

Si existe un archivo resolvers.txt en el directorio de trabajo actual, puredns lo usará por defecto. De lo contrario, si existen los archivos ~/.config/puredns/resolvers.txt o ~/.config/puredns/resolvers-trusted.txt, puredns los utilizará automáticamente como resolutores. Si ninguna de estas opciones está disponible, especifica los resolutores a usar con los argumentos --resolvers y --resolvers-trusted.

Especificar resolutores de confianza es opcional. Por defecto, puredns simplemente usará 8.8.8.8 y 8.8.4.4.

Fuerza bruta de subdominios

Así es como se realiza fuerza bruta sobre una lista masiva de subdominios usando un diccionario llamado all.txt:

puredns bruteforce all.txt domain.com

También puedes realizar fuerza bruta sobre varios dominios a la vez con la opción -d para cargar un archivo de texto que contenga dominios en lugar de especificar un solo dominio como argumento:

puredns bruteforce all.txt -d domains.txt

Resolución de una lista de dominios

También puedes resolver una lista de dominios contenida en un archivo de texto (uno por línea).

puredns resolve domains.txt

Operación con stdin

Puedes pasar la lista de dominios a resolver a través de stdin:

cat domains.txt | puredns resolve

O una lista de palabras para usar en fuerza bruta:

cat wordlist.txt | puredns bruteforce domain.com

También puedes añadir el interruptor -q para mostrar solo los dominios encontrados y canalizarlos a otras herramientas:

cat domains.txt | puredns resolve -q | httprobe

Guardar los resultados en archivos

Puedes guardar la siguiente información en archivos para reutilizarla en tus flujos de trabajo:

  • dominios: lista limpia de dominios que se resuelven correctamente
  • dominios raíz comodín: lista de los dominios raíz comodín encontrados (por ejemplo, *.store.yahoo.com)
  • archivo de resultados de massdns (salida de texto -o Snl): se puede usar como referencia y para extraer registros A y CNAME.
root@kitploit:~
puredns resolve domains.txt --write valid_domains.txt \
                            --write-wildcards wildcards.txt \
                            --write-massdns massdns.txt

Cómo funciona

puredns en funcionamiento

Puedes ver puredns en acción contra el dominio google.com usando un pequeño diccionario de los 100k subdominios más comunes en la imagen de arriba.

Como parte de su flujo de trabajo, puredns realiza tres pasos automáticamente:

  1. Resolución masiva usando servidores DNS públicos
  2. Detección de comodines
  3. Validación

1. Resolución masiva usando servidores DNS públicos

Usando massdns, puredns realizará una resolución masiva de todos los dominios y subdominios. Alimenta los datos a massdns a través de stdin, lo que le permite limitar el número de consultas por segundo si es necesario y realizar una sanitización básica en la lista de dominios generada.

Por defecto, los dominios de entrada se convierten a minúsculas y solo se aceptan entradas que contengan caracteres válidos (esencialmente [a-z0-9.-]). Puedes deshabilitar esto con la bandera --skip-sanitize.

Después de este paso, los resultados suelen estar contaminados: algunos resolutores públicos devuelven respuestas incorrectas y los subdominios comodín pueden inflar rápidamente los resultados.

2. Detección de comodines

Puredns luego usa su algoritmo de detección de comodines para detectar y extraer todas las raíces de subdominios comodín del archivo de resultados de massdns.

Usará la salida de massdns del paso 1 como caché DNS para minimizar el número de consultas que necesita realizar. Para garantizar resultados precisos, puede tener que validar los resultados de la caché realizando una consulta DNS.

Puedes omitir este paso usando la bandera --skip-wildcard.

3. Validación

Para protegerse contra el envenenamiento DNS, puredns usa massdns una última vez para validar los resultados restantes usando resolutores DNS de confianza. Actualmente, los resolutores de confianza internos utilizados son 8.8.8.8 y 8.8.4.4. Este paso se realiza a un ritmo más lento para evitar superar algún límite de velocidad en los resolutores de confianza.

Puedes omitir este paso usando la bandera --skip-validation.

En este punto, los archivos resultantes deberían estar libres de subdominios comodín y respuestas envenenadas de DNS.

Preguntas frecuentes

¿Cómo obtengo resolutores para usar con puredns?

Trickest mantiene una lista de resolutores válidos aquí: https://github.com/trickest/resolvers

Alternativamente, puedes obtener una lista de resolutores públicos desde public-dns.info, luego usar el proyecto DNS Validator para conservar solo los resolutores que proporcionan respuestas válidas.

Si tus resolutores públicos proporcionan información incorrecta a puredns, por ejemplo enviando respuestas envenenadas, algunos subdominios pueden perderse ya que serán filtrados. Consejo: Evita resolutores de países que censuran internet, como China.

Una vez que tengas una lista de resolutores personalizados, puedes pasarlos a puredns con el argumento -r o colocándolos en un archivo ubicado en ~/.config/puredns/resolvers.txt:

puredns resolve domains.txt -r resolvers.txt

Los resolutores de confianza por defecto son actualmente 8.8.8.8 y 8.8.4.4. Si deseas cambiarlos, también puedes especificar una lista personalizada con el argumento --resolvers-trusted o colocándolos en un archivo ubicado en ~/.config/puredns/resolvers-trusted.txt. He realizado muchas pruebas para encontrar los mejores resolutores de confianza para puredns; asegúrate de validar tus resultados cuidadosamente si decides cambiarlos, y ajusta el límite de velocidad con --rate-limit-trusted.

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

¿Por qué hay dominios que no se resuelven a una dirección IP en los resultados?

Puredns no ignora simplemente las respuestas DNS que contienen NXDOMAIN. A veces, esas respuestas NXDOMAIN tienen registros CNAME válidos que apuntan a dominios caducados. Si esos registros están presentes, pueden apuntar a un dominio no registrado, permitiendo tomas de control de subdominios.

Si obtienes dominios que no se resuelven a una dirección IP, verifica si contienen un registro CNAME de interés:

dig @8.8.8.8 CNAME ejemplo.com

¿Por qué algunos comodines no se filtran correctamente para ciertos dominios?

La causa más probable es el balanceo de carga DNS: a veces obtendrás diferentes direcciones IP para cada consulta DNS única realizada. Esto puede dificultar mucho la detección de subdominios comodín al comparar sus registros DNS.

Puedes especificar el número de pruebas que puredns realizará para recopilar todas las diferentes direcciones IP para un subdominio durante la detección de comodines. El número por defecto es 3 pruebas, que es muy bajo. He visto dominios con mucho balanceo que requieren más de 50 consultas para devolver resultados que no eran perfectos pero sí suficientes.

Puedes intentar aumentar el número de pruebas realizadas para detectar subdominios comodín con el argumento --wildcard-tests:

puredns resolve domains.txt --wildcard-tests 50

¿Por qué puredns se bloquea con un error de falta de memoria al resolver listas muy grandes?

Para detectar comodines, puredns necesita mantener una caché de las respuestas DNS encontradas. Si tu lista de dominios tiene cientos de millones y contiene muchos subdominios comodín, el anfitrión puede quedarse sin memoria. Pero hay una solución fácil.

Por defecto, puredns coloca todos los dominios en un solo lote para ahorrar en el número de consultas DNS y tiempo de ejecución. Si la memoria es un problema, es posible procesar los dominios en múltiples lotes más pequeños con el argumento --wildcard-batch. He encontrado que un buen tamaño está entre 1M y 2M de subdominios para un VPS con 1GB de RAM.

puredns resolve domains.txt --wildcard-batch 1000000

¿Por qué los resultados a veces contienen dominios duplicados?

Puredns no elimina duplicados en ninguna parte de su tubería. Si el archivo de entrada contiene elementos duplicados, como palabras o dominios idénticos, puredns generará elementos duplicados. Puedes asegurarte de que los archivos de entrada proporcionados a puredns estén libres de duplicados usando una herramienta como sort -u.

¿Por qué los resultados a veces contienen dominios no relacionados?

Probablemente se deba a los resolutores públicos utilizados. Algunos de ellos a veces devuelven respuestas no relacionadas con las consultas, lo que genera nombres de dominio aleatorios en la salida. Puredns actualmente no maneja este caso y deja al usuario la tarea de sanitizar la salida para asegurar que los dominios encontrados respeten el alcance.

Recursos

public-dns.info actualiza continuamente una lista de resolutores DNS públicos y gratuitos.

DNS Validator se puede usar para seleccionar tu propia lista de resolutores DNS públicos.

all.txt wordlist El icónico diccionario all.txt de Jhaddix se usa comúnmente para la enumeración de subdominios.

shuffleDNS es una buena alternativa escrita en Go que maneja subdominios comodín usando un algoritmo diferente.

Contribuciones

Puedes contribuir a puredns de las siguientes maneras:

  • Envía ideas de nuevas funcionalidades
  • Reporta errores como incidencias
  • Dale estrella ⭐ a este repositorio
  • Corre la voz sobre puredns
  • Conviértete en patrocinador 🥇 y obtén ventajas exclusivas

¿Tienes una idea para una nueva funcionalidad increíble? ¿Encontraste un error que quieres corregir? ¡Genial! Siéntete libre de abrir una incidencia para discutir antes de hacer una solicitud de extracción.

No aceptaré solicitudes de extracción para cambios triviales como correcciones de errores tipográficos, mejores prácticas, correcciones menores, etc.

Descargo de responsabilidad y licencia

Cualquier resolutor incluido en este repositorio está presente solo como referencia. El autor no es responsable del mal uso de los resolutores en esa lista. Es responsabilidad del usuario seleccionar una lista de resolutores que esté autorizado a usar.

El uso de este programa para atacar objetivos sin consentimiento es ilegal. Es responsabilidad del usuario cumplir con todas las leyes aplicables. El desarrollador no asume ninguna responsabilidad y no se hace responsable de ningún mal uso o daño causado por este programa. Por favor, úsalo de manera responsable.

El material contenido en este repositorio está licenciado bajo GNU GPLv3.

Descargar herramienta