5353/UDP Multicast DNS (mDNS) and DNS-SD

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

기본 정보

**멀티캐스트 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 도메인 내에서 _<Service>._tcp 또는 _<Service>._udp 패턴을 사용하여 식별되며, 이를 통해 해당 서비스에 대한 자세한 정보를 제공하는 SRVTXT 레코드를 발견할 수 있습니다.

네트워크 탐색

nmap 사용법

mDNS 서비스를 스캔하기 위한 로컬 네트워크 스캔에 유용한 명령어는 다음과 같습니다:

nmap -Pn -sUC -p5353 [target IP address]

이 명령은 열린 mDNS 포트와 그 위에서 광고된 서비스를 식별하는 데 도움이 됩니다.

Pholus를 사용한 네트워크 열거

Pholus 도구를 사용하여 mDNS 요청을 활성화하고 트래픽을 캡처할 수 있습니다. 다음과 같이 사용할 수 있습니다:

sudo python3 pholus3.py [network interface] -rq -stimeout 10

공격

mDNS 프로빙(exploiting) 공격

공격 벡터는 mDNS 프로브에 위조된 응답을 보내어 모든 잠재적인 이름이 이미 사용 중임을 시사하여 새로운 장치가 고유한 이름을 선택하는 것을 방해하는 것입니다. 이는 다음을 사용하여 실행할 수 있습니다:

sudo python pholus.py [network interface] -afre -stimeout 1000

이 기술은 새로운 장치가 네트워크에 서비스를 등록하는 것을 효과적으로 차단합니다.

요약하자면, mDNS와 DNS-SD의 작동 방식을 이해하는 것은 네트워크 관리와 보안에 중요합니다. nmapPholus와 같은 도구는 로컬 네트워크 서비스에 대한 유용한 통찰력을 제공하며, 잠재적인 취약점에 대한 인식은 공격으로부터 보호하는 데 도움이 됩니다.

스푸핑/MitM

이 서비스를 통해 수행할 수 있는 가장 흥미로운 공격은 클라이언트와 실제 서버 간의 통신에서 MitM을 수행하는 것입니다. 프린터와의 통신을 MitM하는 것을 통해 민감한 파일을 얻을 수 있거나 (Windows 인증) 자격 증명을 획득할 수 있을 수도 있습니다. 자세한 정보는 다음을 참조하십시오:

pageSpoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

참고 자료

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

Last updated