Failles Applicative/Reseau Du Chat Multiclient De EkiN0x_ ..
.NET x')
Je Préfères vous avertir quer je cracherais pas mal sur le ".NET" Visual Basic durant ce paper !
Ce paper conciste à vous présenter une très basique "faille" des socket. Je me suis dernierement attaqué au programme de chat , que EkiN0x etait très joyeux de me présenter. Tout dabord je me suis dis que son programme etait pas mal , que ca pourrais nous servir pour discutter en privé ^^ . Mais en cherchant diverse vulnerabilité, ( sans trop chercher.. :') ) j'ai compris que son programme utilisais les socket , il s'agit enfait d'un chat (clients + serveur). Je vais illustrer ce paper avec des screechot , le premier sera une pésentation d'un client et du serveur :)
Vous pouvez vois 3 utilisateurs connecté : Babar, OuiOui et Admin. Donc ces trois client son connecté au serveur ( logique ) , donc la premiere chose que jai faite cest que j'ai visualisé les trames TCP dans Wireshark. On Start le sniffing et on envoi quelques messages depuis plusieurs client au serveur.
Donc on filtre nos paquet et on trouve une serie de paquet TCP. On Fait Clique droit sur lun de ces paquet -> Follow TCP Stream et là on tombe sur tout le traffique !
Bon , vois rien est crypté , tout c'est envoyé en claire avec des retour à la ligne ("\r\n"), Puis le nom des utilisateurs ! donc j'ai pensé dans un premier temps à faire "chier" pardonner moi cette expression .. , donc j'ai codé un petit outil en python (SOCKET) pour flood le serveur , en se connectant NON-STOP dans une boucle infini ! :D
Voici le code source du programme.
Donc ceci donne cela :p
Plus tard j'ai remarqué que je pouvais faire un petit programme qui parle en tant que n'imorte quel utilisateur, en Gros, re-créer un "pseudo" client. Grace à un tel programme on peut ursurper plusieurs identité en UN SEUL client. Voici le code source du programme que jai créé .
Don Voici Ce que ca donne, on voit bien UN SEUL "New Client" et plusieurs messages envoyé par un seul client !
Jai dis dans le premier paragraphe de cet article de ce paper que j'allais cracher sur le .NET VB , je vais le faire et je vais vous dire que la gestions des erreur n'est pas très bien utilisé dans cet exemple , je suis sure que EkiN0x_ n'etais pas au courant ue son programme etait capable de retourner ceci , il nous repondra j'espere ;)
DONC , ce paper s'arrete ici , je vais conclure sur des solutions à entreprendre pour EVITER les grosse vuln sur vos applications qui utilisent les sockets
1.Essayer d'encrypter les "string" envoyé sur le reseau.
2.(Si Vous utiliser les socket de la libc) EVITEZ LES BUFFEROVERFLOW !
3.Gérer les nom d'utilisateurs grace à des variable machine exemple="HWID" etc ..
Voila ! J'espère que c'est complet .
No comments:
Post a Comment