5353/UDP Multicast DNS (mDNS) and DNS-SD
기본 정보
**멀티캐스트 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를 사용한 네트워크 열거
Pholus 도구를 사용하여 mDNS 요청을 활성화하고 트래픽을 캡처할 수 있습니다. 다음과 같이 사용할 수 있습니다:
공격
mDNS 프로빙(exploiting) 공격
공격 벡터는 mDNS 프로브에 위조된 응답을 보내어 모든 잠재적인 이름이 이미 사용 중임을 시사하여 새로운 장치가 고유한 이름을 선택하는 것을 방해하는 것입니다. 이는 다음을 사용하여 실행할 수 있습니다:
이 기술은 새로운 장치가 네트워크에 서비스를 등록하는 것을 효과적으로 차단합니다.
요약하자면, mDNS와 DNS-SD의 작동 방식을 이해하는 것은 네트워크 관리와 보안에 중요합니다. nmap과 Pholus와 같은 도구는 로컬 네트워크 서비스에 대한 유용한 통찰력을 제공하며, 잠재적인 취약점에 대한 인식은 공격으로부터 보호하는 데 도움이 됩니다.
스푸핑/MitM
이 서비스를 통해 수행할 수 있는 가장 흥미로운 공격은 클라이언트와 실제 서버 간의 통신에서 MitM을 수행하는 것입니다. 프린터와의 통신을 MitM하는 것을 통해 민감한 파일을 얻을 수 있거나 (Windows 인증) 자격 증명을 획득할 수 있을 수도 있습니다. 자세한 정보는 다음을 참조하십시오:
pageSpoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks참고 자료
Last updated