
Web par-dessus tout protocole
██╗ ██╗ ██████╗ ████████╗ ██████╗ ██████╗
██║ ██║██╔═══██╗╚══██╔══╝██╔═══██╗██╔══██╗
██║ █╗ ██║██║ ██║ ██║ ██║ ██║██████╔╝
██║███╗██║██║ ██║ ██║ ██║ ██║██╔═══╝
╚███╔███╔╝╚██████╔╝ ██║ ╚██████╔╝██║
╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝
WOTOP est un outil conçu pour tunnelliser tout type de trafic via un canal HTTP standard.
Utile dans les scénarios où un proxy filtre tout le trafic à l'exception du trafic HTTP(S) standard. Contrairement à d'autres outils qui vous obligent soit à être derrière un proxy qui vous permet de faire passer du trafic arbitraire (éventuellement après une requête CONNECT initiale), soit des outils qui ne fonctionnent que pour SSH, celui-ci n'impose pas de telles restrictions.
En supposant que vous souhaitiez utiliser SSH pour vous connecter à une machine distante sur laquelle vous n'avez pas les privilèges root.
Il y aura 7 entités :
S'il n'y avait pas de proxy, la communication serait quelque chose comme :
Client -> Client SSH process -> Target Server -> Target SSH process
Dans ce scénario, voici la méthode proposée :
Client -> Client SSH process -> Client WOTOP process -> Proxy -> Target WOTOP process -> Target SSH process -> Target Server
WOTOP encapsule simplement toutes les données dans des paquets HTTP et les met en tampon en conséquence.
Un autre scénario encore plus compliqué serait si vous avez un serveur utilitaire externe et devez accéder aux ressources d'un autre serveur depuis derrière un proxy. Dans ce cas, wotop s'exécutera toujours sur votre serveur externe, mais au lieu d'utiliser localhost dans la deuxième commande (section Utilisation), utilisez le nom d'hôte de la machine cible qui possède l'hôte.
Sur la machine cliente :
./wotop <client-hop-port> <server-host-name> <server-hop-port>
Sur la machine cible :
./wotop <server-hop-port> localhost <target-port> SERVER
(Notez le mot-clé SERVER à la fin)
Dans le cas de SSH, le port cible serait 22. Maintenant, une fois ces deux processus lancés, pour SSH vous exécuterez la commande suivante :
ssh <target-machine-username>@localhost -p <client-hop-port>
Note : Le mot-clé server indique à wotop quel côté de la connexion doit être en HTTP.
Les Pull Requests sont plus que bienvenues ! 😄