# 5353/UDP Multicast DNS (mDNS) 및 DNS-SD {% hint style="success" %} AWS 해킹 배우기 및 연습하기:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP 해킹 배우기 및 연습하기: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks 지원하기 * [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기! * **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.** * **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
{% endhint %} ## **기본 정보** **Multicast DNS (mDNS)**는 전통적인 DNS 서버 없이 로컬 네트워크 내에서 **DNS와 유사한 작업**을 가능하게 합니다. **UDP 포트 5353**에서 작동하며, 장치들이 서로 및 그들의 서비스를 발견할 수 있게 해주며, 다양한 IoT 장치에서 일반적으로 볼 수 있습니다. **DNS 서비스 검색(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** 도메인 내에서 **_\.\_tcp 또는 \_\.\_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 ``` ## Attacks ### **mDNS 프로빙 악용** 공격 벡터는 mDNS 프로브에 스푸핑된 응답을 보내는 것으로, 모든 잠재적인 이름이 이미 사용 중임을 제안하여 새로운 장치가 고유한 이름을 선택하는 것을 방해합니다. 이는 다음을 사용하여 실행할 수 있습니다: ```bash sudo python pholus.py [network interface] -afre -stimeout 1000 ``` 이 기술은 새로운 장치가 네트워크에 서비스를 등록하는 것을 효과적으로 차단합니다. **요약하자면**, mDNS와 DNS-SD의 작동 방식을 이해하는 것은 네트워크 관리 및 보안에 매우 중요합니다. **nmap** 및 **Pholus**와 같은 도구는 로컬 네트워크 서비스에 대한 귀중한 통찰력을 제공하며, 잠재적인 취약점에 대한 인식은 공격으로부터 보호하는 데 도움이 됩니다. ### 스푸핑/중간자 공격 이 서비스에서 수행할 수 있는 가장 흥미로운 공격은 **클라이언트와 실제 서버 간의 통신에서 MitM**을 수행하는 것입니다. 민감한 파일(프린터와의 통신에서 MitM)이나 자격 증명(Windows 인증)을 얻을 수 있을지도 모릅니다.\ 자세한 내용은 다음을 확인하세요: {% 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 %} ## 참고문헌 * [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) {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}