hacktricks/network-services-pentesting/5353-udp-multicast-dns-mdns.md

86 lines
6.1 KiB
Markdown

# 5353/UDP Multicast DNS (mDNS) y DNS-SD
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
</details>
## **Información Básica**
**Multicast DNS (mDNS)** permite realizar **operaciones similares a DNS** dentro de redes locales sin necesidad de un servidor DNS tradicional. Opera en el puerto **UDP 5353** y permite a los dispositivos descubrirse mutuamente y sus servicios, comúnmente visto en varios dispositivos IoT. **Descubrimiento de Servicios DNS (DNS-SD)**, a menudo utilizado junto con mDNS, ayuda a identificar los servicios disponibles en la red a través de consultas DNS estándar.
```
PORT STATE SERVICE
5353/udp open zeroconf
```
### **Operación de mDNS**
En entornos sin un servidor DNS estándar, mDNS permite a los dispositivos resolver nombres de dominio que terminan en **.local** al consultar la dirección de multidifusión **224.0.0.251** (IPv4) o **FF02::FB** (IPv6). Aspectos importantes de mDNS incluyen un valor de **Tiempo de Vida (TTL)** que indica la validez del registro y un bit **QU** que distingue entre consultas unicast y multicast. En términos de seguridad, es crucial que las implementaciones de mDNS verifiquen que la dirección de origen del paquete se alinee con la subred local.
### **Funcionamiento de DNS-SD**
DNS-SD facilita el descubrimiento de servicios de red al consultar registros de puntero (PTR) que mapean tipos de servicio a sus instancias. Los servicios se identifican utilizando un patrón **_\<Servicio>.\_tcp o \_\<Servicio>.\_udp** dentro del dominio **.local**, lo que lleva al descubrimiento de registros **SRV** y **TXT** correspondientes que proporcionan información detallada del servicio.
### **Exploración de la Red**
#### **Uso de nmap**
Un comando útil para escanear la red local en busca de servicios mDNS es:
```bash
nmap -Pn -sUC -p5353 [target IP address]
```
Este comando ayuda a identificar los puertos mDNS abiertos y los servicios anunciados a través de ellos.
#### **Enumeración de Red con Pholus**
Para enviar activamente solicitudes mDNS y capturar tráfico, la herramienta **Pholus** puede ser utilizada de la siguiente manera:
```bash
sudo python3 pholus3.py [network interface] -rq -stimeout 10
```
## Ataques
### **Explotando la Sonda mDNS**
Un vector de ataque implica enviar respuestas falsificadas a las sondas mDNS, sugiriendo que todos los nombres potenciales ya están en uso, dificultando así que los nuevos dispositivos seleccionen un nombre único. Esto se puede ejecutar utilizando:
```bash
sudo python pholus.py [network interface] -afre -stimeout 1000
```
Esta técnica bloquea efectivamente que nuevos dispositivos registren sus servicios en la red.
**En resumen**, entender el funcionamiento de mDNS y DNS-SD es crucial para la gestión y seguridad de la red. Herramientas como **nmap** y **Pholus** ofrecen información valiosa sobre los servicios de red locales, mientras que la conciencia de las vulnerabilidades potenciales ayuda a protegerse contra ataques.
### Suplantación de identidad/Ataque de intermediario
El ataque más interesante que puedes realizar sobre este servicio es llevar a cabo un **Ataque de intermediario** en la **comunicación entre el cliente y el servidor real**. Podrías obtener archivos sensibles (intermediar la comunicación con la impresora) o incluso credenciales (autenticación de Windows).\
Para más información, consulta:
{% content-ref url="../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %}
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
{% endcontent-ref %}
## Referencias
* [Hacking práctico de IoT: La guía definitiva para atacar el Internet de las cosas](https://books.google.co.uk/books/about/Practical\_IoT\_Hacking.html?id=GbYEEAAAQBAJ\&redir\_esc=y)
<details>
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>