xterm
à travers un firewallpar Brad Baker [email protected]
[Note de l'éditeur : Comme l'auteur de ce hack le dit judicieusement, ce hack peut avoir des problèmes de sécurité, comme la possibilité d'un vol de mot de passe ou d'ouvrir une brèche dans la sécurité du firewall à cause d'un login à l'extérieur de votre réseau local. Ce hack est inclus plus pour sa valeur que pour son utilité. Je ne vous conseille pas de l'utiliser à moins que vous soyez l'administrateur système de ce réseau ou que vous soyez en très bons termes avec lui ou elle :-) -- MCD]
Voici un autre hack que vous pouvez essayer. Il marche, et je ne suis pas sûr des risques de sécurité, mais il est très amusant.
Cela serait sympa de pouvoir accéder à ma machine de travail (une station Sun) depuis chez moi, et réciproquement, le problème est que le telnet est bloqué par le firewall au bureau. Voici une façon de le contourner.
Pour cet exemple, je vais donner la façon d'accéder à ma station Sun (au travail) depuis chez moi avec Linux, avec une connection PPP à mon FAI et une IP dynamique.
>Chez moi, quand je veux accéder à ma machine de travail, je me connecte et je lance X, je tape "xhost +"
, je trouve mon IP dynamique et je l'envoie à mon travail dans un e-mail avec un format particulier. Sur ma machine de travail, j'ai un script procmail
qui lis les mails dont le sujet est spécial, disons "X-W"
. Si le texte du message à un format défini, alors, l'IP est extraite du message, et il lance un xterm
qui s'affiche directement chez moi comme ça :
xterm -display l.ip.que.j.ai.envoye:0.0 -e login
Voila ! En à peu près 30 secondes à une minute, j'ai un écran de login qui apparaît chez moi ! Je n'ai pas essayé d'aller dans l'autre direction car l'ordinateur de la maison n'est pas tout le temps connecté, mais il devrait être possible de faire la même chose.
Je suis assez préoccupé par les problèmes de sécurité, et je l'ai mis hors service pour l'instant jusqu'à ce que j'en apprenne plus. Quand le xterm
apparaît, il donne un prompt de login, et je ne sais pas comment le Secure Keyboard (Clavier sécurisé, il permet d'empêcher la récupération de ce qui est tapé) marche dans un xterm
. De plus, je ne suis pas sur des sécurités fournies par X
. Je suis plus préoccupé par le xterm
apparaissant à une mauvaise IP ou sur une IP que je viens de quitter dû à une déconnection, mais bon, la majorité des utilisateurs utilisent Windows, et l'accès X sera simplement ignoré.
D'autres sécurités pourraient être ajoutées en encryptant l'IP dans le mail avec PGP ou une encryption classique et de restreindre l'IP à un certain nombre, mais mon FAI refuse de me donner ce nombre.
Voici le script .procmailrc
, le script et un exemple de message mail que j'ai utilisé pour tester (disons que 111.222.333.444
est l'IP dynamique).
Le morceau de ~/.procmailrc
:
^Subject: X-W
| cat | $HOME/scripts/send_xterm
~/scripts/send_xterm
#!/bin/sh
XX=`cat $1 | grep "^IP: .*" | sed "s/IP: \(.*\)/\1/"`
XX=`echo $XX | perl -e '$_ = <>; s/[^0123456789.]//g; print'`
xterm -display $XX -e login &
Exemple de message
To: [email protected]
Subject: X-W
IP: 111.222.333.444:0.0
Vous pouvez essayer sur votre propre machine en vous envoyant un mail à vous-même (après avoir installe send_xterm
et la règle .procmailrc
en interne bien sur).