👾Ataques a DNS
El Domain Name System (DNS
) traduce los nombres de dominio (por ejemplo, google.com) a direcciones IP numéricas (por ejemplo, 104.17.42.72). DNS es principalmente UDP/53
, pero dependerá TCP/53
más de DNS a medida que pase el tiempo. DNS siempre ha sido diseñado para usar el puerto 53 UDP y TCP desde el principio, siendo UDP el predeterminado, y recurre a TCP cuando no puede comunicarse en UDP, generalmente cuando el tamaño del paquete es demasiado grande para enviarlo en un solo Paquete UDP. Dado que casi todas las aplicaciones de red utilizan DNS, los ataques contra servidores DNS representan una de las amenazas más frecuentes e importantes en la actualidad.
Enumeración
DNS contiene información interesante para una organización. Como se analiza en la sección Información de dominio en el módulo Enumeración, podemos comprender cómo opera una empresa y los servicios que brinda, así como proveedores de servicios externos, como correos electrónicos.
Las opciones de Nmap -sC
(scripts predeterminados) y -sV
(escaneo de versiones) se pueden usar para realizar la enumeración inicial en los servidores DNS de destino:
Transferencia de zona DNS
Una zona DNS es una parte del espacio de nombres DNS que administra una organización o administrador específico. Dado que DNS comprende múltiples zonas DNS, los servidores DNS utilizan transferencias de zonas DNS para copiar una parte de su base de datos a otro servidor DNS. A menos que un servidor DNS esté configurado correctamente (lo que limita qué IP pueden realizar una transferencia de zona DNS), cualquiera puede solicitarle a un servidor DNS una copia de la información de su zona, ya que las transferencias de zona DNS no requieren ninguna autenticación. Además, el servicio DNS suele ejecutarse en un puerto UDP; sin embargo, al realizar la transferencia de zona DNS, utiliza un puerto TCP para una transmisión de datos confiable.
Un atacante podría aprovechar esta vulnerabilidad de transferencia de zona DNS para obtener más información sobre el espacio de nombres DNS de la organización objetivo, aumentando la superficie de ataque. Para explotarlo, podemos usar la utilidad dig
con la opción de tipo de consulta DNS AXFR
para volcar todos los espacios de nombres DNS desde un servidor DNS vulnerable:
DIG - Transferencia de zona AXFR
También se pueden utilizar herramientas como Fierce para enumerar todos los servidores DNS del dominio raíz y buscar una transferencia de zona DNS:
Domain Takeovers y enumeración de subdominios
Domain takeover
está registrando un nombre de dominio inexistente para obtener control sobre otro dominio. Si los atacantes encuentran un dominio caducado, pueden reclamarlo para realizar más ataques, como alojar contenido malicioso en un sitio web o enviar un correo electrónico de phishing aprovechando el dominio reclamado.
La adquisición de dominio también es posible con subdominios llamados subdomain takeover
. El registro de nombre canónico ( ) de un DNS CNAME
se utiliza para asignar diferentes dominios a un dominio principal. Muchas organizaciones utilizan servicios de terceros como AWS, GitHub, Akamai, Fastly y otras redes de entrega de contenido (CDN) para alojar su contenido. En este caso, suelen crear un subdominio y hacer que apunte a esos servicios. Por ejemplo,
El nombre de dominio (por ejemplo, sub.target.com
) utiliza un registro CNAME para otro dominio (por ejemplo, anotherdomain.com
). Supongamos que anotherdomain.com
caduca y está disponible para que cualquiera pueda reclamar el dominio ya que el servidor DNS target.com
tiene el registro CNAME
. En ese caso, cualquiera que se registre en anotherdomain.com
tendrá control total de sub.target.com
hasta que se actualice el registro DNS.
Enumeración de subdominios
Antes de realizar una adquisición de subdominio, debemos enumerar los subdominios para un dominio de destino utilizando herramientas como Subfinder . Esta herramienta puede extraer subdominios de fuentes abiertas como DNSdumpster . También se pueden utilizar otras herramientas como Sublist3r para aplicar fuerza bruta a subdominios proporcionando una lista de palabras pregenerada:
Una excelente alternativa es una herramienta llamada Subbrute . Esta herramienta nos permite utilizar solucionadores autodefinidos y realizar ataques de fuerza bruta DNS puros durante pruebas de penetración internas en hosts que no tienen acceso a Internet.
Subbrute
A veces las configuraciones físicas internas están mal aseguradas, lo que podemos aprovechar para cargar nuestras herramientas desde una memoria USB. Otro escenario sería que hayamos llegado a un host interno mediante el pivote y queramos trabajar desde allí. Por supuesto, existen otras alternativas, pero no está de más conocer formas y posibilidades alternativas.
La herramienta ha encontrado cuatro subdominios asociados con inlanefreight.com
. Usando el comando nslookup
o host
, podemos enumerar los registros CNAME
de esos subdominios.
El subdominio support
tiene un registro de alias que apunta a un AWS S3 Bucket. Sin embargo, la URL https://support.inlanefreight.com
muestra un error NoSuchBucket
que indica que el subdominio es potencialmente vulnerable a una adquisición del subdominio. Ahora podemos tomar el control del subdominio creando un AWS S3 Bucket con el mismo nombre de subdominio.
El repositorio can-i-take-over-xyz también es una excelente referencia para una vulnerabilidad de adquisición de subdominio. Muestra si los servicios de destino son vulnerables a una adquisición de subdominio y proporciona pautas para evaluar la vulnerabilidad.
Suplantación de DNS
La suplantación de DNS también se conoce como envenenamiento de caché de DNS. Este ataque implica alterar registros DNS legítimos con información falsa para que puedan usarse para redirigir el tráfico en línea a un sitio web fraudulento. A continuación se muestran ejemplos de rutas de ataque para el envenenamiento de la caché de DNS:
Un atacante podría interceptar la comunicación entre un usuario y un servidor DNS para dirigir al usuario a un destino fraudulento en lugar de uno legítimo mediante la realización de un ataque Man-in-the-Middle (
MITM
).Explotar una vulnerabilidad encontrada en un servidor DNS podría permitir que un atacante controle el servidor para modificar los registros DNS.
Local DNS Cache Poisoning
Desde la perspectiva de la red local, un atacante también puede realizar envenenamiento de la caché de DNS utilizando herramientas MITM como Ettercap o Bettercap .
Para explotar el envenenamiento de la caché de DNS a través de Ettercap
, primero debemos editar el archivo /etc/ettercap/etter.dns
para asignar el nombre de dominio de destino (por ejemplo, inlanefreight.com
) que quieren falsificar y la dirección IP del atacante (por ejemplo, 192.168.225.110
) a la que quieren redirigir a un usuario:
A continuación, inicia la herramienta Ettercap
y busque hosts activos dentro de la red navegando a Hosts > Scan for Hosts
. Una vez completado, agregue la dirección IP de destino (p. ej., 192.168.152.129
) a Target1 y agregue una IP de puerta de enlace predeterminada (p. ej., 192.168.152.2
) a Target2.
Active el ataque dns_spoof
navegando a Plugins > Manage Plugins
. Esto envía a la máquina de destino respuestas DNS falsas que resolverán inlanefreight.com
en la dirección IP 192.168.225.110
:
Después de un ataque de suplantación de DNS exitoso, si un usuario víctima procedente de la máquina de destino 192.168.152.129
visita el dominio inlanefreight.com
en un navegador web, será redirigido a una Fake page
alojada en la dirección IP 192.168.225.110
:
Además, un ping proveniente de la dirección IP de destino 192.168.152.129
hacia inlanefreight.com
debe resolverse en 192.168.225.110
:
Estos son algunos ejemplos de ataques DNS comunes. Hay otros ataques más avanzados que se tratarán en módulos posteriores.
Caso práctico
Busque todos los registros DNS disponibles para el dominio "inlanefreight.htb" en el servidor de nombres de destino y envíe la flag encontrada como registro DNS como respuesta.
Encontramos un nameserver: ns1.inlanefreight.htb
que vamos a añadir a nuestro /etc/host:
Lo añadimos al archivo resolvers.txt y volvemos a ejecutar subbrute:
Encontramos un subdominio hr.inlanefreight.htb, por lo que intentaremos una transferencia de zona sobre este subdominio:
Y bumm!! La transferencia de zona ha sido un éxito y obtenemos todos los registros, y subdominios privados de la organización.
Última actualización