web-dev-qa-db-ja.com

ウェブサイトは私のローカルWIFIネットワークを検出できますか?

私は2台のコンピューターを使用していますが、どちらも同じローカルWIFIネットワークにあります(つまり、同じルーターに接続されています)。

コンピューターでVPNを使用してWebサイトにアクセスし、別のコンピューターでVPNを使用して同じWebサイトにアクセスしていません。このWebサイトは、両方のコンピューターが同じローカルWIFIネットワーク内にあることを認識できますか?

10
Graviton

理論的には、はい、webrtc標準ではWebサイトがローカルIPアドレスを決定するため、別のWebブラウザーへの直接接続を作成して、ブラウザー間の直接接続でビデオストリーミングなどをセットアップできます。

このWebサイトには、内部および外部IPアドレスを示す概念実証があります。 https://www.privacytools.io/webrtc.html

ウェブサイトが両方の内部IPアドレスを取得すると、JavaScriptを使用して内部IPを介してpc1からpc2への接続を設定できます。これが成功すると、これらの2つのPCが同じローカルネットワークにあることがわかります。

備考:ChromeはまだWebRTCを実装していません。詳細は https://www.privacytools.io/#webrtc を参照してください。

更新23/08/2018:別の可能な攻撃ベクトルが最近私の注意を引いています:

ウィキペディアのDNS再バインド:

この攻撃では、悪意のあるWebページによって訪問者がクライアント側のスクリプトを実行し、ネットワーク上の他の場所にあるマシンを攻撃します。理論的には、同じオリジンポリシーがこれを防止します。クライアント側のスクリプトは、スクリプトを提供した同じホスト上のコンテンツにのみアクセスを許可されます。ドメイン名の比較は、このポリシーを適用する上で不可欠な部分であるため、DNS再バインドは、ドメインネームシステム(DNS)を悪用することにより、この保護を回避します。

この攻撃は、被害者のWebブラウザにプライベートIPアドレスのマシンにアクセスさせ、結果を攻撃者に返すことにより、プライベートネットワークを侵害するために使用できます。また、スパム、分散型サービス拒否攻撃、またはその他の悪意のある活動のために犠牲PCを使用するために使用することができます。

これは、悪意のあるWebサイト/ DNSサーバーがDNS要求のTTLを非常に低く設定し、JavaScriptが元のWebサイトのアドレスでスクリプトを実行することで機能します。時間の半分はDNSが正しい外部IPで応答するため、Webサイトが読み込まれますが、数分後にJavaScriptが起動してWebサイトに再度アクセスしようとすると、DNSがローカルIPアドレス(192.168など)で応答します。 0.1、これは数分ごとに変更される可能性があります)。ブラウザはJavaScriptを実行し、ローカルネットワーク上のデバイスに接続します!

5
Jens Timmerman

システムが適切に設定されている場合(VPNがリークしていない場合、VPNを介して以外にWebサイトにアクセスしたことがない場合、デフォルトの優先順位以外の方法でマシン上でWebサイトが実行することを許可しておらず、Webサイトはtセットアップで何かを利用してコードを単独で実行する場合)、いいえ:Webサイトは、両方のマシンが同じローカルネットワーク上にあることを見つけることができません。

つまり、それらが間接的に関連していることを見つけることができないと言っているのではありません。同じ資格情報でログインしても、他のより微妙なもの(Cookieと関連オブジェクト、使用パターン分析など)であることが明白な方法です。

0
Stephane

OK。いくつかの調査の結果、悪意のあるActiveXコントロールを使用するとcouldが可能であることがわかりました。まず、そのようなコントロールはローカルディスク上のファイルを読み取ることができます。これを使用して、接続タイプ、および可能であればESSIDを含む接続の詳細、そして場合によっては[〜#〜] ssid [〜#〜]を判別するために使用できます。けれども、私はPoCコードを作成することはできません。もちろん、これはActiveXをサポートするブラウザにのみ適用されます。

他の方法にはJavaが含まれ、通常は悪意のあるコードを挿入してマシンを制御しますが、後者はこの質問の範囲をはるかに超えています。

0
Konrad Gajewski

一般に、ブラウザはローカルIPまたはLANに関する情報を検出できません。したがって、ブラウザで実行されているjavascriptコードは、コンピュータまたはLANに関する情報をWebサイトに送信できません。

ただし、ほとんどのブラウザープラグインとFlashまたはActive-Xコントロールは、ブラウザーによって通常制限されているデータにアクセスできます。そのため、ブラウザのプラグインと拡張機能を非常に慎重に扱うことが重要です。可能であれば、これらを使用しないでください。使用する必要がある場合は、プラグインの設定を「尋ねる」にしてください(ブラウザーで、サイトでプラグインを実行する前に確認を求められます)。

0
Ruchir Godura