[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