CASSER UN MOT DE PASSE

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 4 mai 2011 à 19:01
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 3 juin 2011 à 17:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53122-casser-un-mot-de-passe

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
3 juin 2011 à 17:05
Regardes dans la classe Lanceur du package lancement, il y a une main et c'est là que tu dois entrer le mot de passe.
cs_mulambasylvain Messages postés 6 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 24 juillet 2011
1 juin 2011 à 23:35
A l'aise ta conception, coup de chapeau mais selement je suis debutant en Java; ton programme j'essaie de le lancer et rien
. je ne sais où mettre un mot de passe pour le tester. Merci pour ton aide
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 mai 2011 à 13:22
Là, oui, tu as raison, ca ne sert à même à rien d'essayer sur des serveurs avec ce dispositif de sécurité, on ne pourra pas y arriver de cette manière.

Ne serai-ce qu'en bloquant l'accès au compte pendant 10 minutes avec un mot de passe de 5 chiffres il faut 16 heures pour le casser au lieu de 1 minute 30 et si le mot de passe ne contient que des minuscules il faudra presque trois mois.

C'est vrai qu'en bloquant 24 heures pour un mot de passe de 4 chiffres, il faut 24 ans pour le casser (autant dire impossible)
dialvb Messages postés 19 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 3 avril 2011 1
11 mai 2011 à 12:40
il faut mettre 2 mot de passe différents avec minuscule, maj caract spé ^^.
Accepter que 3 tentatives fausses consécutives(quelque soit le temps)et débloquage au bout de 24H, 36H à la seconde fois, 48H la troisième...etc
Et là les possibilités sont exponentielles.
Le craquer devient impossible de notre vivant.
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 mai 2011 à 11:48
Bonjour Dominique49,

En fait, mon programme ne permet pas de décrypter quoi que ce soit. Il ne réalise pas une attaque sur un chiffrement mais sur un mot de passe (éventuellement sur une clé de chiffrement mais pas sur le chiffrement lui même)

Il y a plusieurs solutions pour trouver un mot de passe qu'on ne connait pas :
- Aller le récupérer dans les bases de données ou dans les trames réseau(donc le décrypter)
- Le récupérer sur une boite de messagerie (quand un site vous envoi un mot de passe, il le fait en clair)
- demander la réinitialisation du mot de passe et sniffer le réseau (idem, le nouveau mot de passe est envoyé en clair)
- Utiliser un logiciel espion (KeyLogger)
- Attaquer le mot de passe par dictionnaire ou par brute force

Ma source permet d'attaquer par dictionnaire et par brute force. Le chiffrement ne permet pas de se protéger contre ce type d'attaque.

Pour se protéger contre ce type d'attaque (brute force ou dictionnaire) on peut mettre en place un nombre maximum d'échec en 10 minutes comme le propose areverse.

Les captcha sont plutot utilisées pour se prémunir contre les attaques de type flooding (deni de service), elles empêchent qu'un robot surcharge un serveur. On en voit rarement pour se protéger contre les attaques de type password cracking mais, c'est vrai ca pourrait marcher.

Globalement, les serveurs sont assez bien dotés pour se prémunir contre les attaques de type brute force, ce genre d'attaque est plus facile à mettre en place localement, pour accéder à un dossier zippé avec mot de passe par exemple ou pour trouver une clé de chiffrement.
Dominique49 Messages postés 148 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 juin 2016
11 mai 2011 à 11:12
I ly a aussi les catcha ou capcha je connais pas l'orthographe.
Ce sont des images à recopier, mais c'est fastidieux pour l'utilisateur ...
C'est vrai que ce timeout est mieux ...

Mais vois-tu, si on crypte les mdp, c'est pour que si un pirate arrive à piquer les mdp dans la bdd, il ne puisse rien en faire ...
Et c'est là qu'il va donc essayer de les décrypter ...
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 mai 2011 à 10:50
Oui, c'est une façon de protéger son serveur, mais, dans le cas ou tu essayes accéder à un fichier zippé protégé par mot de passe, tu ne peux pas mettre en place ce genre de dispositif.

C'est une méthode simple et ancienne mais, il n'existe rien de mieux pour cette problématique actuellement.

areverse, il est assez facile de critiquer, proposez des améliorations, si vous en avez...
areverse Messages postés 15 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 20 avril 2006
10 mai 2011 à 23:01
Quand je lis "essayer tous les mots de passe possibles" dans telle ou telle catégorie, ça me ramène plus de 30 ans en arrière (!). On avait adopté une méthode simple (mais qui a fait école) pour protéger notre serveur : au bout de 3 mots de passe faux consécutifs reçus dans un délai assez court (10 minutes au moins quand même), on ne répond plus que "Mot de passe incorrect", même si c'est le bon qui arrive.
On prévoyait donc un time out de 10 minutes pour rétablir le bon contrôle, certains serveurs exigent plutôt dans ce cas un appel téléphonique.
Alors, ce qui est proposé ne sont pas de bonnes méthodes si vous voulez tester des dizaines de milliers de possibilités : à raison de... 3 toutes les 10 minutes, vous serez, comme moi aujourd'hui, à la retraite avant d'avoir cassé le moindre code !!!
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
10 mai 2011 à 14:59
Oui, c'est vrai, tu as raison, en fait, ca vient du principe de programmation, C++ est compilé, c'est à dire qu'il te créé un fichier binaire directement exécutable par le système donc rapide.

Par contre PHP est interprété donc, avant d'être exécuté, il doit être "traduit" en commandes système donc, il est plus lent.

Le shell et le bash sont des langages interprétés de bas niveaux, ils sont donc assez rapide (mais pas autant que le C++)

Mais dans tous les cas, je doute qu'une méthode de recherche exhaustive soit une bonne solution pour ce genre de problématique car trop lente pour les ordinateurs actuels. D'ailleurs les recherches de collisions n'utilisent pas ces techniques.
Dominique49 Messages postés 148 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 juin 2016
10 mai 2011 à 13:42
En parlant d'un langage plus puissant, je voulais parler du C++, ou le C voir même Objective-C ...
Au plus on s'approche du binaire, au plus ça va vite non ?
Je connait pas shell ou batch ...
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
10 mai 2011 à 13:14
C'est certain que de coder ca en shell ou en commandes batch améliorerait les performances mais je ne suis même pas certain que ca suffirait. Tu pourrais diviser le temps d'exécution par 3 peut être mais le nombre de combinaisons à tester est très important. C'est le même problème pour l'attaque par force brutale, elle ne peut s'appliquer que sur des tout petits mots de passes.

Ce qui peut ralentir ton programme par contre c'est l'utilisation d'une base de données, les appels à une base sont très lourds même si tu as définit des indexes. En stockant tes combinaisons dans un fichier texte, tu pourrais améliorer les performances.

Au sujet des collisions avec la fonction MD5, c'est difficile à mettre en pratique parce que dans le cadre de la signature numérique, si tu as un document à signer, md5 te retourne un haché d'un chiffrement asymétrique. Si on trouve une collision sur ce haché, il faudra que la collision corresponde au même chiffrement asymétrique d'un document ayant un sens, ce qui est vraiment improbable.

Je crois que maintenant, MD5 est de plus en plus abandonné par les autorités de certifications parce qu'il présente un risque potentiel assez élevé, il y a donc des chances que l'algorithme tombe dans les prochaines années (il doit bien avoir 20 ans maintenant). Par contre, l'utilisation pour stocker les mots de passes sur un pc personnel n'est pas remise en cause du fait qu'il sert plus comme générateur aléatoire permettant de créer un mot de passe compliqué mais n'en assure pas la sécurité à proprement parlé (mais je ne suis pas expert sur ce sujet)
Dominique49 Messages postés 148 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 juin 2016
10 mai 2011 à 11:04
Exactement, l'imitation des empreintes, c'est pour la signature d'un fichier ... et c'est là que ces deux scientifiques ont réussi ...
Mais c'est quasi impossible à mettre en pratique ...
Il explique ça sur Wikipédia.

Moi j'avais essayé ça en PHP.
En fait, j'avais fait un script d'incrémentation qui générait toute les combinaisons possible et imaginable.
Pour limiter le nb, j'avais filtrer pour ne garder que les mots avec autant de % de voyelles etc.
En effet, fdjtf ne dois pas être souvent utiliser comme mot de passe !
Ensuite, j'insérais ces combinaisons dans ma bdd, mais je n'ai pas pu faire avec plus de 5 mots, car après la bdd aurait craquée ...

En fait, un truc comme ça faudrait le faire dans un langage très binaire pour que ça aille le plus vite possible ...
surtout qu'il n'y a pas besoin de savoir grand chose pour le faire ...
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
10 mai 2011 à 10:52
Je n'ai pas dit que je pouvais décrypter un MD5 avec sel ?

Oui, c'est vrai que c'est une faiblesse de mon dictionnaire, il peut y avoir des prénoms aussi (très souvent) et des célébrités.

C'est certain que l'attaque par dictionnaire, si on veut qu'elle soit pertinente, il faut trouver un dictionnaire plus adapté mais je tenais juste à montrer le principe. Et plus que le principe, le temps (très court) que ca prend.

Pour les empreintes identiques, ca n'a pas d'influence sur les mots de passe mais plus dans le cas de l'utilisation du hachage pour créer une signature non ?
Dominique49 Messages postés 148 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 juin 2016
10 mai 2011 à 09:35
Si tu arrive à décrypter un md5 avec un bon morceau de sel au début, tu me le dit !
Normalement, c'est impossible, seuls deux savants Japonais ont réussi un jour à imiter deux empreintes identiques, mais c'était sans doute un coup de bol :lol: ...

Au passage, beaucoup de gens utilisent : un nom de ville, exemple : "Glascow".
D'autre des nom de marque ou d'ordi : ex : "Toshiba" ou "Intel" ...
Pour les marques, le dico ne vas pas être facile à trouver ... Pour les villes, on trouve facilement, demande moi si ça t'intéresse ;)
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
10 mai 2011 à 09:30
Oui, tu as tout à fait raison, c'est d'ailleurs la moralité de cette source, on peut casser un mot de passe uniquement si celui ci est assez simple. Donc, il faut choisir un mot de passe compliqué qui contient des caractères spéciaux.

Sur ce site, je m'adresse à un public d'informaticiens, on est peut être un peu plus sensibilisé à la sécurité, mais une partie importante de la population utilise des mots de passe vraiment simples, des dates de naissances, des prénoms ou des choses de ce genre. Maintenant, la plupart des logiciels forcent l'utilisateur à entrer un mot de passe sur mais pas tous (par exemple hotmail ou javafr :) ).

MD5 c'est une autre problématique, la question est plutôt comment stocker le mot de passe sur son disque pour cela, on utilise un algorithme de hachage qui transforme le mot de passe, mais, on peut toujours appliquer les attaques au mot de passe en leur appliquant préalablement un hachage MD5. D'où l'utilisation du sel (un morceau de mot de passe aléatoire inséré dans le hachage). MDE5 est encore un algorithme fiable.
Dominique49 Messages postés 148 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 juin 2016
10 mai 2011 à 08:41
Pas mal ton truc, seulement, moi ma fonction md5(), je la sucre !
Ou plutôt j'y mais du sel ... Je sais pas le nom scientifique qu'on donne à ça, mais ça consiste à ajouter un code biscornu au début ou à la fin ...
Par exemple, tu ajoute "|@çdA8*-:?,²&]ç_" , et là, tu pourras toujours courir pour le casser lol !
djfa94 Messages postés 31 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 19 octobre 2019
9 mai 2011 à 22:02
Je suis novice, avec quel logiciel utiliser le fichier ???, merci.
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
8 mai 2011 à 09:25
Oui, en effet, il va faudrait du temps pour casser ca :)
miblack Messages postés 6 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 7 juin 2011
7 mai 2011 à 02:32
Aucune pour le moment mon mot de passe étant extrêmement complexe =p

Nombre de caractère >15 caractères : lettre minuscule et majuscule, chiffre et caracteres spéciaux
griffondorsonic Messages postés 97 Date d'inscription lundi 5 juillet 2010 Statut Membre Dernière intervention 21 mars 2012 2
4 mai 2011 à 19:13
j'approuve cette source ;)
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
4 mai 2011 à 19:02
Vous me direz quelle méthode aurait réussi à casser votre mot de passe fétiche ?
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
4 mai 2011 à 19:01
Bon, la moralité de cette source ça peut être : définissez vos mots de passe de manière à ce qu'ils soient suffisamment complexe.

Il faut également adapter le mot de passe au contexte, je m'explique, le mot de passe protégeant votre connexion internet en WiFi doit être fort parce qu'il est facile de tenter de se connecter. Par contre, le mot de passe qui vous permet de vous connecter à votre session Windows XP ne doit pas nécessairement être fort, parce que pour tenter de le casser, il faut déjà que l'attaquant soit en possession de votre ordinateur. (Attention sous debian ou d'autres systèmes, le mot de passe pour se connecter à la session sert de trousseau de clé, il est donc sensible et doit être fort).

Quand on parle sécurité, on peut vite devenir parano alors qu'en réalité, dans la majorité des cas, le risque est faible.
Rejoignez-nous