web-dev-qa-db-ja.com

モバイル無料インターネットバイパスはどのように機能しますか? (UBT / FBT)

無料のインターネットアクセス(UBT/FBT)を利用できる「HTTPインジェクター」というモバイルアプリケーションを見つけました。

それを機能させて無料のインターネットを受け取るプロセスは次のようです:

  1. YouTubeのガイダンスビデオは、エンドユーザーがSSHが設定されたVPNサーバーを持っている必要があることを示しています。

  2. エンドユーザーは、hidemyass.comなどの一般的なWebサイトを使用して、オープンHTTPプロキシを見つける必要があります。

  3. HTTPインジェクターアプリケーションは、実際にはプロキシへの「HTTP CONNECT」リクエストである「ペイロード」を生成します。

  4. HTTPインジェクターには、VPNサーバーへのSSH接続を開始するために必要な資格情報と構成が読み込まれます。

  5. CONNECTメソッドの「ペイロード」はSSH経由で送信されます(どういうわけか、SSHトンネリングかもしれません)。そして...

  6. その後、エンドユーザーはWiFi接続からセルラーデータに戻ることができます。

これはどのように機能しますか?セルラーデータクォータが残っていない状態で、SSH接続はどのようにしてSIM上で維持されますか?さらに、VPNサーバーは、要求をプロキシに転送する方法をどのようにして知るのでしょうか。そして、なぜこれはまだ防止されていないのですか?

7
timorzainf

これは、特定のISPがクォータを処理する方法の脆弱性を悪用しているようです。

多くのISPは、パケットレベルではなくアプリケーションレベルでクォータを実装しているため、プロトコル(およびHTTPの場合に参照しているURLなどのプロパティ)に基づいて区別できます。データがなくなったときにHTTP(S?)トラフィックをブロックする抜け穴があるようですが、SSH(別のポートで動作する)をブロックするのを忘れていました。

その結果、SSHサーバーを介してトラフィックをトンネルし、無料のデータを楽しむことができます。同じエクスプロイトがDNSまたはICMPにも当てはまる可能性があります(無害に見えるDNSまたはICMPパケットを介してトラフィックをトンネリングできるソフトウェアがそこにあります)。これらのプロトコルのいずれもフィルタリングしないことがわかった場合。

3
André Borie

(解決策については以下の編集を参照してください)

これが実際に機能することを信じられないので、私はこれを自分で理解しようとしました。私が見たガイド(私はそれを自分で使ったことはありません)からわかる限り、何が起こりますか。

  1. ユーザーがHTTPプロキシサーバーへのHTTP接続を開きます。
  2. 接続はX-Online-Hostヘッダーを使用して、キャプティブポータルをだまして、実際にポータルに接続していると思い込ませます(?)。ポータルがこれに該当する理由はわかりません。
  3. ポータルを経由してプロキシで、SSHサーバーに接続し、そこからインターネットにトンネルします。

これが機能する理由を知りたいと思っているので、もう少し情報をいただければ幸いです。

編集:私は最後にそれを理解しました。ポータルはHTTPリクエストをチェックし、リクエストがポータル自体に送信されない場合は302応答を挿入します。このソフトウェアが行うことは、HTTPプロキシに接続し、SSHサーバーにCONNECTを発行することです。 CONNECTの直後に、正当なGETリクエストをキャプティブポータルに発行します。キャプティブポータルは、ユーザーが自分のサーバーと通信していると見なし、要求を許可します。その後、要求はSSH接続を確立し、インターネットに進みます。

つまり、プロキシサーバーはGETを無視し、キャプティブポータルはCONNECTを無視し、みんなが満足しています。かなり賢い。