5353/UDP Multicast DNS (mDNS) and DNS-SD
基本情報
マルチキャストDNS(mDNS) は、従来のDNSサーバーを必要とせずにローカルネットワーク内で DNSのような操作 を可能にします。 UDPポート5353 で動作し、デバイスがお互いやそれらのサービスを発見できるようにし、さまざまなIoTデバイスでよく見られます。 DNS Service Discovery(DNS-SD) は、しばしばmDNSと併用され、標準DNSクエリを介してネットワーク上で利用可能なサービスを特定するのに役立ちます。
mDNSの動作
標準DNSサーバーがない環境では、mDNSを使用して、マルチキャストアドレス224.0.0.251(IPv4)またはFF02::FB(IPv6)にクエリを送信することで、.localで終わるドメイン名を解決することができます。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ツールを以下のように利用できます:
攻撃
mDNSプロービングの悪用
攻撃ベクトルは、mDNSプローブに対してスプーフィングされた応答を送信し、すべての潜在的な名前がすでに使用中であると示唆することに関与し、新しいデバイスが一意の名前を選択するのを妨げることです。これは以下を使用して実行できます:
この技術は、新しいデバイスがネットワーク上でサービスを登録するのを効果的にブロックします。
要約すると、mDNSとDNS-SDの動作を理解することは、ネットワーク管理とセキュリティにとって重要です。 nmap や Pholus のようなツールは、ローカルネットワークサービスに関する貴重な情報を提供します。潜在的な脆弱性に対する認識は、攻撃から保護するのに役立ちます。
スプーフィング/MitM
このサービス上で実行できる最も興味深い攻撃は、クライアントと実際のサーバー間の通信でMitMを実行することです。プリンターとの通信をMitMすることで、機密ファイルを入手したり(MitM the communication with the printer)、資格情報(Windows認証)を入手する可能性があります。 詳細については、以下を参照してください:
pageSpoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks参考文献
Last updated