[gull] RE: [gull] ouvrir un port à la demande
sneaky56 at gmx.net
sneaky56 at gmx.net
Tue Jun 1 20:20:02 CEST 2004
Souchon Yann <yann.souchon at elca.ch> writes:
> Par contre, je serais intéressé par ton utilisation "at home" du
> port knocking.
J'ai mis le port knocking entre guillmets, car ç'en qu'à moitié. En
gros je fais une requête DNS (UDP/53):
- Je serialise une structure contenant quelques infos, puis je zip et
encrypte le tout, avant de tranformer le string binaire en
hexadecimal (1 char binaire -> 2 char (hex: [a-f0-9]{2}))
- Ensuite je mets ce string hex en format "compatible" DNS (en coupant
le tout en des bouts de 30 caractères, préfixant chaque bout par un
caractère parmi [g-z] et en mettant un '.' entre chaque bout.
- Je rajoute même un nom de domaine à la fin.
- Puis me reste qu'à faire la commande
'host <nom généré> <ip de destination>'
- Sur <ip de destination> je sniffe les paquets, et lorsque j'en
reçois un UDP/53, alors:
- j'extrais le nom et retransforme le tout en binaire
- je décrypte le string, le dézip et vérifie le checksum
- si j'ai déjà le checksum côté serveur avec un timestamp assez
récent, je rejette le paquet, sinon je l'accepte
- je stocke le checksum avec le timestamp
- j'exécute les commandes associées aux informations reçues
Le tout essaie d'empecher les attaques de type replay, en utilisant le
timestamp et le checksum (hash), par contre rien à faire contre un man
in the middle attack. Cependant, vu que je veux l'utiliser pour ouvrir
ssh, je me dis que je peux prendre ce risque.
tom
--
no sig, yet.
More information about the gull
mailing list