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

62 lines
3.8 KiB
Markdown

# 5353/UDP Multicast DNS (mDNS) 및 DNS-SD
{{#include ../banners/hacktricks-training.md}}
## **기본 정보**
**Multicast DNS (mDNS)**는 전통적인 DNS 서버 없이 로컬 네트워크 내에서 **DNS와 유사한 작업**을 가능하게 합니다. **UDP 포트 5353**에서 작동하며, 장치들이 서로 및 그들의 서비스를 발견할 수 있게 해주며, 다양한 IoT 장치에서 일반적으로 볼 수 있습니다. **DNS Service Discovery (DNS-SD)**는 mDNS와 함께 사용되며, 표준 DNS 쿼리를 통해 네트워크에서 사용 가능한 서비스를 식별하는 데 도움을 줍니다.
```
PORT STATE SERVICE
5353/udp open zeroconf
```
### **mDNS의 작동**
표준 DNS 서버가 없는 환경에서 mDNS는 장치가 **.local**로 끝나는 도메인 이름을 해결할 수 있도록 **224.0.0.251** (IPv4) 또는 **FF02::FB** (IPv6) 멀티캐스트 주소를 쿼리합니다. mDNS의 중요한 측면에는 레코드 유효성을 나타내는 **Time-to-Live (TTL)** 값과 유니캐스트 쿼리와 멀티캐스트 쿼리를 구분하는 **QU 비트**가 포함됩니다. 보안 측면에서 mDNS 구현은 패킷의 출발지 주소가 로컬 서브넷과 일치하는지 확인하는 것이 중요합니다.
### **DNS-SD의 기능**
DNS-SD는 서비스 유형을 해당 인스턴스에 매핑하는 포인터 레코드(PTR)를 쿼리하여 네트워크 서비스의 발견을 용이하게 합니다. 서비스는 **.local** 도메인 내에서 **\_\<Service>.\_tcp 또는 \_\<Service>.\_udp** 패턴을 사용하여 식별되며, 이는 해당 **SRV** 및 **TXT 레코드**의 발견으로 이어져 상세한 서비스 정보를 제공합니다.
### **네트워크 탐색**
#### **nmap 사용법**
mDNS 서비스를 위해 로컬 네트워크를 스캔하는 유용한 명령은:
```bash
nmap -Pn -sUC -p5353 [target IP address]
```
이 명령은 열려 있는 mDNS 포트와 그 위에서 광고되는 서비스를 식별하는 데 도움이 됩니다.
#### **Pholus를 이용한 네트워크 열거**
mDNS 요청을 적극적으로 보내고 트래픽을 캡처하기 위해 **Pholus** 도구를 다음과 같이 사용할 수 있습니다:
```bash
sudo python3 pholus3.py [network interface] -rq -stimeout 10
```
## 공격
### **mDNS 프로빙 악용**
공격 벡터는 mDNS 프로브에 위조된 응답을 보내는 것으로, 모든 잠재적인 이름이 이미 사용 중임을 제안하여 새로운 장치가 고유한 이름을 선택하는 것을 방해합니다. 이는 다음을 사용하여 실행할 수 있습니다:
```bash
sudo python pholus.py [network interface] -afre -stimeout 1000
```
이 기술은 새로운 장치가 네트워크에 서비스 등록을 차단하는 데 효과적입니다.
**요약하자면**, mDNS와 DNS-SD의 작동 방식을 이해하는 것은 네트워크 관리 및 보안에 매우 중요합니다. **nmap** 및 **Pholus**와 같은 도구는 로컬 네트워크 서비스에 대한 귀중한 통찰력을 제공하며, 잠재적인 취약점에 대한 인식은 공격으로부터 보호하는 데 도움이 됩니다.
### 스푸핑/중간자 공격
이 서비스에서 수행할 수 있는 가장 흥미로운 공격은 **클라이언트와 실제 서버 간의 통신에서 MitM**을 수행하는 것입니다. 민감한 파일(프린터와의 통신 MitM)이나 자격 증명(Windows 인증)을 얻을 수 있을지도 모릅니다.\
자세한 내용은 다음을 확인하세요:
{{#ref}}
../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
{{#endref}}
## 참고문헌
- [Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things](https://books.google.co.uk/books/about/Practical_IoT_Hacking.html?id=GbYEEAAAQBAJ&redir_esc=y)
{{#include ../banners/hacktricks-training.md}}