web-dev-qa-db-fra.com

Comment fonctionne le contournement gratuit de l'Internet mobile? (UBT / FBT)

J'ai rencontré une application mobile nommée "HTTP Injector" qui vous permet d'avoir un accès gratuit à Internet (UBT/FBT).

Le processus pour le faire fonctionner et recevoir gratuitement Internet semble être le suivant:

  1. Les vidéos d'orientation sur YouTube montrent qu'un utilisateur final doit avoir un serveur VPN avec SSH configuré.

  2. L'utilisateur final doit ensuite trouver un proxy HTTP ouvert en utilisant un site Web commun comme hidemyass.com

  3. L'application HTTP Injector génère une "charge utile" qui est en fait une requête "HTTP CONNECT" au proxy.

  4. L'injecteur HTTP est chargé avec les informations d'identification et la configuration nécessaires pour établir une connexion SSH au serveur VPN.

  5. La "charge utile" avec la méthode CONNECT est envoyée via SSH (en quelque sorte, peut-être le tunneling SSH) et ...

  6. L'utilisateur final peut alors revenir de la connexion WiFi aux données cellulaires.

Comment ça marche? Comment la connexion SSH reste-t-elle vivante sur une carte SIM sans quota de données cellulaires? De plus, comment le serveur VPN sait-il comment transmettre la demande au proxy? Et pourquoi cela n'a-t-il pas encore été empêché?

7
timorzainf

Cela semble exploiter une vulnérabilité dans la façon dont ce FAI particulier gère les quotas.

De nombreux FAI implémentent des quotas au niveau de l'application et non au niveau du paquet, ils peuvent donc discriminer en fonction du protocole (et de ses propriétés comme les URL que vous parcourez en cas de HTTP). Il semble qu'ils aient une faille où ils bloquent le trafic HTTP (S?) Lorsque vous êtes à court de données, mais ont oublié de bloquer SSH (qui fonctionne sur un port différent).

En conséquence, vous pouvez tunneler votre trafic via le serveur SSH et profiter de vos données gratuites. Le même exploit pourrait s'appliquer au DNS ou à l'ICMP (il existe des logiciels qui peuvent canaliser le trafic via des paquets DNS ou ICMP d'apparence innocente) si vous découvrez qu'ils ne filtrent aucun de ces protocoles.

3
André Borie

(Voir la modification ci-dessous pour la solution)

J'ai essayé de comprendre cela moi-même, car je suis incrédule que cela fonctionne réellement. Pour autant que je sache d'après les guides que j'ai vus (je ne l'ai pas utilisé moi-même), ce qui se passe est:

  1. L'utilisateur ouvre une connexion HTTP à un serveur proxy HTTP.
  2. La connexion utilise un en-tête X-Online-Host pour inciter le portail captif à penser qu'il se connecte réellement au portail (?). Je ne sais pas pourquoi le portail tombe pour cela, cependant.
  3. Une fois sur le portail et sur le proxy, ils se connectent simplement au serveur SSH et se connectent à Internet à partir de cela.

J'apprécierais un peu plus d'informations, car je suis moi-même curieux de savoir pourquoi cela fonctionne.

EDIT: Je l'ai compris à la fin. Le portail vérifie les demandes HTTP et injecte une réponse 302 si la demande ne va pas au portail lui-même. Ce que fait ce logiciel, c'est se connecter à un proxy HTTP et émettre un CONNECT au serveur SSH. Juste après CONNECT, il envoie une demande GET légitime au portail captif. Le portail captif pense que l'utilisateur parle à son propre serveur et laisse passer la demande, qui établit ensuite une connexion SSH et continue sur Internet.

En d'autres termes, le serveur proxy ignore le GET, le portail captif ignore le CONNECT et tout le monde est content. Assez intelligent.

0