5353/UDP Multicast DNS (mDNS) and DNS-SD
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:
HackTricks Training GCP Red Team Expert (GRTE)
기본 정보
**Multicast DNS (mDNS)**는 전통적인 DNS 서버 없이 로컬 네트워크 내에서 DNS와 유사한 작업을 가능하게 합니다. UDP 포트 5353에서 작동하며, 장치들이 서로 및 그들의 서비스를 발견할 수 있게 해주며, 다양한 IoT 장치에서 일반적으로 볼 수 있습니다. **DNS 서비스 검색(DNS-SD)**는 mDNS와 함께 자주 사용되며, 표준 DNS 쿼리를 통해 네트워크에서 사용 가능한 서비스를 식별하는 데 도움을 줍니다.
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 서비스를 위해 로컬 네트워크를 스캔하는 유용한 명령은:
이 명령은 열려 있는 mDNS 포트와 그 위에서 광고되는 서비스를 식별하는 데 도움이 됩니다.
Pholus를 이용한 네트워크 열거
mDNS 요청을 적극적으로 보내고 트래픽을 캡처하기 위해 Pholus 도구를 다음과 같이 사용할 수 있습니다:
Attacks
mDNS 프로빙 악용
공격 벡터는 mDNS 프로브에 스푸핑된 응답을 보내는 것으로, 모든 잠재적인 이름이 이미 사용 중임을 제안하여 새로운 장치가 고유한 이름을 선택하는 것을 방해합니다. 이는 다음을 사용하여 실행할 수 있습니다:
이 기술은 새로운 장치가 네트워크에 서비스를 등록하는 것을 효과적으로 차단합니다.
요약하자면, mDNS와 DNS-SD의 작동 방식을 이해하는 것은 네트워크 관리 및 보안에 매우 중요합니다. nmap 및 Pholus와 같은 도구는 로컬 네트워크 서비스에 대한 귀중한 통찰력을 제공하며, 잠재적인 취약점에 대한 인식은 공격으로부터 보호하는 데 도움이 됩니다.
스푸핑/중간자 공격
이 서비스에서 수행할 수 있는 가장 흥미로운 공격은 클라이언트와 실제 서버 간의 통신에서 MitM을 수행하는 것입니다. 민감한 파일(프린터와의 통신에서 MitM)이나 자격 증명(Windows 인증)을 얻을 수 있을지도 모릅니다. 자세한 내용은 다음을 확인하세요:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks참고문헌
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated