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

87 lines
6.1 KiB
Markdown
Raw Normal View History

2024-02-10 21:30:13 +00:00
# 5353/UDP 멀티캐스트 DNS (mDNS) 및 DNS-SD
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 21:30:13 +00:00
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
* **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 21:30:13 +00:00
## **기본 정보**
2024-02-10 21:30:13 +00:00
**멀티캐스트 DNS (mDNS)**는 전통적인 DNS 서버가 필요하지 않고 로컬 네트워크 내에서 **DNS와 유사한 작업**을 가능하게 합니다. 이는 **UDP 포트 5353**에서 작동하며, 다양한 IoT 장치에서 자주 볼 수 있는 장치들이 서로 및 서비스를 발견할 수 있도록 합니다. **DNS 서비스 검색 (DNS-SD)**은 종종 mDNS와 함께 사용되며, 표준 DNS 쿼리를 통해 네트워크에서 사용 가능한 서비스를 식별하는 데 도움을 줍니다.
```
PORT STATE SERVICE
5353/udp open zeroconf
```
2024-02-10 21:30:13 +00:00
### **mDNS의 작동 방식**
2024-02-10 21:30:13 +00:00
표준 DNS 서버가 없는 환경에서 mDNS는 장치가 **.local**로 끝나는 도메인 이름을 해결하기 위해 멀티캐스트 주소 **224.0.0.251** (IPv4) 또는 **FF02::FB** (IPv6)를 쿼리하는 것을 가능하게 합니다. mDNS의 중요한 측면은 레코드 유효성을 나타내는 **Time-to-Live (TTL)** 값과 유니캐스트와 멀티캐스트 쿼리를 구분하는 **QU 비트**가 있습니다. 보안 측면에서, mDNS 구현에서 패킷의 소스 주소가 로컬 서브넷과 일치하는지 확인하는 것이 중요합니다.
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
### **DNS-SD의 작동 방식**
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
DNS-SD는 서비스 유형을 해당 인스턴스에 매핑하는 포인터 레코드 (PTR)를 쿼리함으로써 네트워크 서비스의 검색을 용이하게 합니다. 서비스는 **.local** 도메인 내에서 **_\<Service>.\_tcp 또는 \_\<Service>.\_udp** 패턴을 사용하여 식별되며, 이를 통해 해당 서비스에 대한 자세한 정보를 제공하는 **SRV** 및 **TXT 레코드**를 발견할 수 있습니다.
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
### **네트워크 탐색**
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
#### **nmap 사용법**
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
mDNS 서비스를 스캔하기 위한 로컬 네트워크 스캔에 유용한 명령어는 다음과 같습니다:
2021-07-27 12:31:20 +00:00
```bash
2024-02-08 21:36:35 +00:00
nmap -Pn -sUC -p5353 [target IP address]
```
2024-02-10 21:30:13 +00:00
이 명령은 열린 mDNS 포트와 그 위에서 광고된 서비스를 식별하는 데 도움이 됩니다.
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
#### **Pholus를 사용한 네트워크 열거**
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
**Pholus** 도구를 사용하여 mDNS 요청을 활성화하고 트래픽을 캡처할 수 있습니다. 다음과 같이 사용할 수 있습니다:
2022-02-19 19:42:58 +00:00
```bash
2024-02-08 21:36:35 +00:00
sudo python3 pholus3.py [network interface] -rq -stimeout 10
2022-02-19 19:42:58 +00:00
```
2024-02-10 21:30:13 +00:00
## 공격
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
### **mDNS 프로빙(exploiting) 공격**
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
공격 벡터는 mDNS 프로브에 위조된 응답을 보내어 모든 잠재적인 이름이 이미 사용 중임을 시사하여 새로운 장치가 고유한 이름을 선택하는 것을 방해하는 것입니다. 이는 다음을 사용하여 실행할 수 있습니다:
2022-02-19 19:42:58 +00:00
```bash
2024-02-08 21:36:35 +00:00
sudo python pholus.py [network interface] -afre -stimeout 1000
2022-02-19 19:42:58 +00:00
```
2024-02-10 21:30:13 +00:00
이 기술은 새로운 장치가 네트워크에 서비스를 등록하는 것을 효과적으로 차단합니다.
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
**요약하자면**, mDNS와 DNS-SD의 작동 방식을 이해하는 것은 네트워크 관리와 보안에 중요합니다. **nmap**과 **Pholus**와 같은 도구는 로컬 네트워크 서비스에 대한 유용한 통찰력을 제공하며, 잠재적인 취약점에 대한 인식은 공격으로부터 보호하는 데 도움이 됩니다.
2024-02-08 21:36:35 +00:00
2024-02-10 21:30:13 +00:00
### 스푸핑/MitM
2022-02-19 19:42:58 +00:00
2024-02-10 21:30:13 +00:00
이 서비스를 통해 수행할 수 있는 가장 흥미로운 공격은 **클라이언트와 실제 서버 간의 통신에서 MitM을 수행**하는 것입니다. 프린터와의 통신을 MitM하는 것을 통해 민감한 파일을 얻을 수 있거나 (Windows 인증) 자격 증명을 획득할 수 있을 수도 있습니다.\
자세한 정보는 다음을 참조하십시오:
2022-02-19 19:42:58 +00:00
2022-05-01 13:25:53 +00:00
{% 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)
2022-02-19 19:42:58 +00:00
{% endcontent-ref %}
2024-02-10 21:30:13 +00:00
## 참고 자료
2022-02-19 19:42:58 +00:00
* [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)
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 21:30:13 +00:00
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
* 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family)인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
2022-04-28 16:01:33 +00:00
</details>