Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
massdns — Un resolvedor DNS stub de alto rendimiento para consultas masivas y reconocimiento (enumeración de subdominios) | Kitploit
Herramientas/GitHubGitHub/blechschmidt/massdns
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoEnumeración de DNS y SubdominiosRecopilación de InformaciónEnumeración de SubdominiosFuzzing de DNSAnálisis de DNSTop en Análisis de DNS #4Top en Fuzzing de DNS #1Top en Enumeración de DNS y Subdominios #7
3.6k50496hace 2 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
Top en Enumeración de Subdominios #7
GitHubblechschmidt/massdns

massdns

Un resolvedor DNS stub de alto rendimiento para consultas masivas y reconocimiento (enumeración de subdominios)

Ver Repositorio

MassDNS

Un resolvedor de stub DNS de alto rendimiento

MassDNS es un resolvedor de stub DNS simple y de alto rendimiento dirigido a aquellos que buscan resolver una cantidad masiva de nombres de dominio en el orden de millones o incluso miles de millones. Sin una configuración especial, MassDNS es capaz de resolver más de 350.000 nombres por segundo utilizando resolvedores disponibles públicamente.

Colaboradores

  • Quirin Scheitle, Universidad Técnica de Múnich

Compilación

Clona el repositorio git y cd a la carpeta raíz del proyecto. Luego ejecuta make para compilar desde el código fuente. Si no estás en Linux, ejecuta make nolinux. En Windows, se requieren los paquetes gcc-core, git y make de Cygwin.

Uso

Usage: ./bin/massdns [options] [domainlist]
  -b  --bindto             Bind to IP address and port. (Default: 0.0.0.0:0)
      --busy-poll          Use busy-wait polling instead of epoll.
  -c  --resolve-count      Number of resolves for a name before giving up. (Default: 50)
      --drop-group         Group to drop privileges to when running as root. (Default: nogroup)
      --drop-user          User to drop privileges to when running as root. (Default: nobody)
      --extended-input     Input names are followed by a space-separated list of resolvers.
                           These are used before falling back to the resolvers file.
      --filter             Only output packets with the specified response code.
      --flush              Flush the output file whenever a response was received.
  -h  --help               Show this help.
      --ignore             Do not output packets with the specified response code.
  -i  --interval           Interval in milliseconds to wait between multiple resolves of the same
                           domain. (Default: 500)
  -l  --error-log          Error log file path. (Default: /dev/stderr)
      --norecurse          Use non-recursive queries. Useful for DNS cache snooping.
  -o  --output             Flags for output formatting.
      --predictable        Use resolvers incrementally. Useful for resolver tests.
      --processes          Number of processes to be used for resolving. (Default: 1)
  -q  --quiet              Quiet mode.
      --rand-src-ipv6      Use a random IPv6 address from the specified subnet for each query.
      --rand-src-ipv6-file Use a random IPv6 address from the specified file.
      --rcvbuf             Size of the receive buffer in bytes.
      --retry              Unacceptable DNS response codes.
                           (Default: All codes but NOERROR or NXDOMAIN)
  -r  --resolvers          Text file containing DNS resolvers.
      --root               Do not drop privileges when running as root. Not recommended.
  -s  --hashmap-size       Number of concurrent lookups. (Default: 10000)
      --sndbuf             Size of the send buffer in bytes.
      --status-format      Format for real-time status updates, json or ansi (Default: ansi)
      --sticky             Do not switch the resolver when retrying.
      --socket-count       Socket count per process. (Default: 1)
  -t  --type               Record type to be resolved. (Default: A)
      --verify-ip          Verify IP addresses of incoming replies.
  -w  --outfile            Write to the specified output file instead of standard output.

Output flags:
  L - domain list output
  S - simple text output
  F - full text output
  B - binary output
  J - ndjson output

Advanced flags for the domain list output mode:
  0 - Include NOERROR replies without answers.

Advanced flags for the simple output mode:
  d - Include records from the additional section.
  i - Indent any reply record.
  l - Separate replies using a line feed.
  m - Only output reply records that match the question name.
  n - Include records from the answer section.
  q - Print the question.
  r - Print the question with resolver IP address, Unix timestamp and return code prepended.
  s - Separate packet sections using a line feed.
  t - Include TTL and record class within the output.
  u - Include records from the authority section.

Advanced flags for the ndjson output mode:
  e - Write a record for each terminal query failure.

Para una descripción detallada de la interfaz de línea de comandos, consulta la página del manual usando man ./doc/massdns.1.

Ejemplo

Resuelve todos los registros AAAA de los dominios en domains.txt usando los resolvedores dentro de resolvers.txt en lists y almacena los resultados en results.txt:

$ ./bin/massdns -r lists/resolvers.txt -t AAAA domains.txt > results.txt

Esto es equivalente a:

$ ./bin/massdns -r lists/resolvers.txt -t AAAA -w results.txt domains.txt

Ejemplo de salida

Por defecto, MassDNS mostrará los paquetes de respuesta en formato de texto que se ve similar a lo siguiente:

;; Server: 77.41.229.2:53
;; Size: 93
;; Unix time: 1513458347
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51298
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
example.com. IN A

;; ANSWER SECTION:
example.com. 45929 IN A 93.184.216.34

;; AUTHORITY SECTION:
example.com. 24852 IN NS b.iana-servers.net.
example.com. 24852 IN NS a.iana-servers.net.

La dirección IP del resolvedor se incluye para facilitarte el filtrado de la salida en caso de que detectes que algunos resolvedores producen malos resultados.

Resolución

El repositorio incluye el archivo resolvers.txt que consiste en un subconjunto filtrado de los resolvedores proporcionados por el proyecto subbrute. Ten en cuenta que el uso de MassDNS puede causar una carga significativa en los resolvedores utilizados y resultar en quejas por abuso enviadas a tu ISP. Ten en cuenta también que los resolvedores proporcionados no están garantizados para ser fiables. La lista de resolvedores está actualmente desactualizada y una gran parte de los resolvedores no funciona.

La implementación personalizada de DNS de MassDNS, sin malloc, actualmente solo soporta los registros más comunes. Eres bienvenido a ayudar cambiando esto colaborando.

Registros PTR

MassDNS incluye un script de Python que te permite resolver todos los registros PTR de IPv4 imprimiendo sus respectivas consultas en la salida estándar.

$ ./scripts/ptr.py | ./bin/massdns -r lists/resolvers.txt -t PTR -w ptr.txt

Ten en cuenta que las etiquetas dentro de in-addr.arpa están invertidas. Para resolver el nombre de dominio de 1.2.3.4, MassDNS espera 4.3.2.1.in-addr.arpa como nombre de consulta de entrada. Como consecuencia, el script de Python no resuelve los registros en orden ascendente, lo cual es una ventaja porque se evitan picos repentinos de carga en los servidores de nombres de las subredes IPv4.

Reconocimiento mediante fuerza bruta de subdominios

Realiza escaneos de reconocimiento de manera responsable y ajusta el parámetro -s para no abrumar a los servidores de nombres autoritativos.

Similar a subbrute, MassDNS te permite hacer fuerza bruta en subdominios usando el script incluido subbrute.py:

$ ./scripts/subbrute.py example.com lists/names.txt | ./bin/massdns -r lists/resolvers.txt -t A -o S -w results.txt

Como método adicional de reconocimiento, el script ct.py extrae subdominios de los registros de transparencia de certificados al raspar los datos de crt.sh:

$ ./scripts/ct.py example.com | ./bin/massdns -r lists/resolvers.txt -t A -o S -w results.txt
Descargar herramienta