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
PolarDNS — PolarDNS es un servidor DNS autoritativo especializado adecuado para pruebas de penetración e investigación de vulnerabilidades. | Kitploit
Herramientas/GitHubGitHub/oryxlabs/polardns
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesFuzzingSeguridad de RedesPruebas de PenetraciónAnálisis de DNS
GitHuboryxlabs/polardns

PolarDNS

PolarDNS es un servidor DNS autoritativo especializado adecuado para pruebas de penetración e investigación de vulnerabilidades.

Ver Repositorio
2491917hace 1 añoRevisado por Kitploit
Sitio web

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
Logotipo de PolarDNS PolarDNS es un servidor DNS autoritativo especializado escrito en Python 3.x, desarrollado originalmente como una herramienta para pruebas de seguridad de resolutores recursivos DNS desde el lado del servidor.

Permite al operador producir respuestas DNS personalizadas, lo que lo hace adecuado para pruebas exhaustivas del protocolo DNS.

_

PolarDNS se puede utilizar para probar:

  • Resolutores DNS (lado del servidor)
  • Clientes DNS
  • Bibliotecas DNS
  • Analizadores y disectores DNS
  • Cualquier software que maneje información DNS

Soporta tanto protocolos UDP como TCP, y otorga al operador control total sobre la capa del protocolo DNS.

El servidor PolarDNS puede producir una variedad de respuestas DNS no estándar y no conformes, respuestas DNS que violan las especificaciones RFC, incluyendo respuestas DNS altamente anormales y malformadas.

Esto puede ser útil para:

  • Pruebas funcionales
  • Conformidad con RFC
  • Investigación de vulnerabilidades

Instalación

Existen tres métodos disponibles para instalar PolarDNS.

PolarDNS requiere Python 3.11 o superior y no tiene dependencias adicionales.

Método 1: Instalación mediante Pip

Esta es la forma más sencilla de instalar y ejecutar PolarDNS:

pip install polardns
polardns

Método 2: Instalación tradicional

También puedes clonar el repositorio y ejecutar PolarDNS directamente:

git clone https://github.com/oryxlabs/PolarDNS.git
cd PolarDNS
python polardns.py

Este método se recomienda si planeas depurar o modificar el código, o añadir nuevas funciones.

Método 3: Ejecutar PolarDNS en Docker

También puedes ejecutar PolarDNS en un contenedor Docker:

docker run -p 53:53/tcp -p 53:53/udp oryxlabs/polardns

Ejecutar PolarDNS

El servidor PolarDNS se configura mediante el archivo de configuración polardns/polardns.toml.

  • Para fines de prueba, la configuración predeterminada debería funcionar bien para ejecutarlo localmente.
  • Sin embargo, es posible que desees ajustar la configuración añadiendo tu dominio y las direcciones IP del servidor de nombres.

Al iniciar PolarDNS, deberías ver una salida similar a la siguiente:

python polardns.py
1741599804.9039893 | PolarDNS v1.6.1 server starting up
1741599804.9039893 | Using '/path/to/your/polardns/polardns.toml' config file
1741599804.9039893 | Starting listener at tcp://0.0.0.0:53
1741599804.9039893 | Starting listener at udp://0.0.0.0:53

Esto indica que el servidor está en funcionamiento.

Trabajar con PolarDNS

Por defecto, el servidor comienza a escuchar en todas las interfaces en el puerto UDP y TCP 53 (0.0.0.0:53), listo para responder consultas DNS.

Puedes probarlo localmente preguntando la siguiente consulta de muestra, que siempre debería resolverse a algo.

Pregunta en modo UDP:

dig always.yourdomain.com @127.0.0.1

Pregunta en modo TCP:

dig always.yourdomain.com @127.0.0.1 +tcp

Deberías recibir un registro A con la dirección IP 2.3.4.5, similar a esta captura de pantalla:

Ejemplo de uso de PolarDNS

Esto indica que el servidor funciona correctamente.

Concepto principal

Al preguntar al servidor PolarDNS que resuelva algo, esencialmente le estás dando instrucciones sobre cómo debe responderte. Esto significa que tú (el cliente) dictas al servidor PolarDNS qué tipo de respuesta debe producir para ti.

Por ejemplo, considera la siguiente consulta:

dig always.ttl2000000000.slp1500.yourdomain.com @127.0.0.1

Deberías recibir nuevamente un registro A con la dirección IP 2.3.4.5, pero esta vez con un valor TTL de 2,000,000,000 (63.4 años) y después de un retardo de 1.5 segundos:

TTL personalizado y latencia de PolarDNS

En el ejemplo anterior, hemos utilizado la función básica always (que siempre resuelve a algo) y la hemos combinado con el modificador ttl para ajustar el valor TTL y el modificador slp para esperar antes de enviar la respuesta.

Funcionalidades de PolarDNS

PolarDNS tiene las siguientes funcionalidades principales:

  1. Características: Estas pueden producir diversas respuestas DNS. La mayoría de las características tienen parámetros, lo que significa que es posible ajustar su comportamiento para producir una variedad de respuestas DNS diferentes.
  2. Modificadores de respuesta: Estos pueden modificar aún más las respuestas DNS que salen del servidor PolarDNS. Los modificadores son independientes de la característica seleccionada y pueden combinarse libremente.

Actualmente hay más de 70 características diferentes y 19 modificadores de respuesta implementados. Al usar diferentes características y combinarlas con diferentes modificadores de respuesta, es posible producir innumerables variantes de una respuesta dada.

Consulta el catálogo incluido de todas las características y modificadores de respuesta implementados.

Esto le da a PolarDNS la capacidad de producir respuestas DNS altamente inusuales, anormales e incluso malformadas, permitiendo al operador ver cómo el lado receptor maneja tales situaciones y si el lado receptor es técnicamente robusto y maduro.

Algunos ejemplos de respuestas DNS que PolarDNS puede producir incluyen:

  • Cadenas de alias (CNAME) y bucles de alias
  • Malformaciones de cabecera DNS (ID, Flags, número de secciones)
  • Inyección de registros no solicitados (envenenamiento de caché)
  • Inyección de bytes arbitrarios de longitudes arbitrarias
  • Respuestas incompletas / vacías / con byte(s) NULL
  • Problemas de compresión (bucles, punteros inválidos)
  • Respuestas fragmentadas transmitidas lentamente
  • Etiquetas o longitudes de nombre de dominio ilegales
  • Número arbitrario de registros TXT de tamaño arbitrario
  • Manipulaciones de longitud de paquete (TCP)
  • Etc.

Estos pueden llevar al descubrimiento de diversas vulnerabilidades como:

  • Ataques de dominio perezoso (Sloth domain)
  • Ataques de dominio fantasma (Phantom domain)
  • Ataques de bloqueo de dominio (Domain lock-up)
  • Envenenamiento de caché
  • Agotamiento de recursos
  • Caídas, DoS

Consulta las presentaciones de BlackHat MEA 2023 (incluyendo diapositivas BONUS) para más detalles, muchos más ejemplos y casos de uso.

Pruebas de resolutores recursivos DNS

Aquí hay una visión general de alto nivel de lo que necesitas para comenzar a probar servidores DNS recursivos.

  1. Compra un dominio para tus pruebas, por ejemplo example123.com, usando tu registrador de dominios favorito.
  2. Obtén 2 instancias VPS Linux con direcciones IP públicas y estáticas; estas serán tus servidores de nombres.
  3. Despliega el servidor PolarDNS en ambas instancias.
  4. Edita el archivo de configuración polardns/polardns.toml en cada instancia y cambia tu nombre de dominio y direcciones IP de los servidores de nombres en consecuencia; misma configuración en ambas.
  5. En el registrador de dominios, selecciona administrar el dominio usando tus propios servidores de nombres. Deberás especificar los NS primario y secundario; proporciona las direcciones IP de tus instancias.

Ahora tu infraestructura debería estar lista para probar cualquier resolutor DNS recursivo de tu elección.

Desglose del proceso de prueba

Descargar herramienta