Escape 2 : Proxy

Un post rapide et brute de fonderie pour parler des proxys.

Un proxy bien mis est le seul point de sortie vers Internet. On ne traitera que le proxy http(s) ici. La question est de savoir comment passer au travers.

  • La chaine proxy qu’on a en face de soi, que fait-elle ?
    • Antivirus : Bon la plupart du temps c’est en place. Ca ne nous gêne pas plus que ça mais bon il y a tout de même un minimum d’analyse sur la ligne et la méthode de gestion de cette analyse sera importante. Pour savoir si elle est en place, il faut tenter de télécharger un fichier eicar là-bas. Ce sont des fichiers de test d’antivirus qui ne sont pas nocifs.
    • Relais HTTP : Juste de l’inspection protocolaire. Mais les méthodes http sont peut-être filtrées et certaines interdites (connect surtout, hélàs pour nous). Pour savoir si la méthode connect est utilisable (l’AV peut aussi la bloquer), il faut aller vers les sites de streaming (dailymotion, last.fm , …). On teste ici si on peut lire le flux. Si le site entier est interdit c’est qu’il y a du :
    • Filtrage d’URL : Seulement certains sites sont autorisés. Facile à tester et si tu continues à lire ce post c’est peut être parce que tu en as en place.
    • Relais HTTPS : S’agit-il juste d’un relais tcp 443 ou bien vraiment d’une interception SSL ? Il faut aller sur un site classique en https, par exemple bnpparibas.net ou bien fastmail.fm . On cherche un site https qui fonctionne et qui ne soit pas intercepté. Pour le savoir, il faut trouver qui a signé le certificat du site visité, si c’est verisign ou une CA connue. si le signataire du certificat est l’entreprise dans laquelle on est ou le proxy lui-même, les flux https sont interceptés… mauvaise nouvelle.
  • Une fois les fonctionnalités recensées, que tenter pour passer ?
    • Sans filtrage d’URLs : A partir du moment où il n’y a pas de filtrage d’URLs, il faut trouver un proxy sous forme web (puisqu’en fait, on en utilise déjà un). Il en existe de plusieurs types plus ou moins pratiques :
      • Il y a celui de google qui traduit les pages en plus (et si on souhaite ne pas avoir de traduction il suffit de ne garder que la variable u dans l’URL) ou bien phpproxy .
      • Franchement débarqué picidae. Même s’il a des défauts, il est peut être le plus propre pour passer à travers un proxy puisque les pages web transférées ne sont pas compréhensible par l’analyse du proxy car elles sont sous forme d’image (démonstration là-bas).
    • Avec un filtrage d’URLs ça devient plus sportif. Les proxys énoncés au dessus sont souvent référencés et entrent dans une catégorie qui leur est dédiée. Il faut avouer que si celle-ci n’est pas bloquée c’est une erreur de configuration (et la fête du slip accessoirement). Si la catégorie des sites perso est autorisées il y a de fortes chances en installant l’un des proxys précédemment cités sur son serveur à soi qu’on puisse s’évader vers de verts pâturages.
    • Si les proxy sont bloqués non pas parce que le site est interdit mais parce que le proxy qu’on a déployé est détecté. Dans ce cas, s’il n’y a pas d’interception https, mettre le proxy qu’on héberge en https. Par contre si on ne peut toujours passer, on va mettre les mains dans le camboui.
  • A ce stade les solutions user-friendly ne sont pas efficaces. Et bien passons aux tunnels. Le principe d’un tunnel est de transmettre une session TCP mais une seule. Le plus pratique est de transmettre une connexion SSH donc. En suite, pour tunneliser son surf mon post précédent y a déjà répondu.
    • si le proxy ne surveille que le http et que pour le https on a le droit de sortir directement sur Internet, autant mettre son serveur ssh en écoute sur le port 443 et s’y connecter le plus simplement du monde.
    • Si le proxy autorise notre serveur et qu’il autorise la méthode connect, on est bon pour l’utilitaire httptunnel (un linux ou la combo windows-cygwin à chaque bout sont nécessaires).
    • S’il ne l’autorise pas en http mais en https et bien on utilise un stunnel et un SSH dedans. A noter que ça correspond aux VPN SSL dont certains sont gratuits (mais que je n’ai pas testé, ils sont peut être facile à installer qui sait ?). Par exemple OpenVPN ou SSLExplorer.

Si le proxy résiste encore, et il y a des chances pour que ça soit le cas, il faut passer par autre chose. Mais ça c’est une autre histoire…

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*