Journal My name is John, John the ripper !

Posté par  (site web personnel) .
Étiquettes : aucune
0
18
août
2005
En cette période estivale, je vous propose un petit jeu : Mettre à l'épreuve vos mots de passes.
Simple ... rapide serait le mal venu vrai dire, mais ne demandant que peu d'investissement, du moins humain, par contre votre machine risque de bouffer un bon paquet de cycle d'horloge CPU.

Voilà quelques jours que je me suis mit dans la tête de hacker mon fichier shadow, en premier lieu pour voir si ma politique de sécurité était pertinente, et dans un deuxieme temps voir si mon jeu de mot de passe personnel pouvait être considéré comme (je prends des pincettes) "sûr".
En effet, on utilise tous des mots de passe à droite et à gauche (site, forum, ...) pour divers besoins. Et j'avais envie de mettre à l'épreuve ce jeu de mot de passe.

Le soft :
http://www.openwall.com/john/c/john-1.6.tar.gz(...)
(Vous trouverez le guide d'install dans l'archive ...)
Signature :
http://www.openwall.com/john/c/john-1.6.tar.gz.sign(...)

Je pense que ce petit jeu pourra tenter quelques personnes. N'hésitez pas à poster ici vos retours d'expérience...

Vous pouvez trouver un tutorial pour l'installation et l'utilisation de John the ripper à cette url :
http://niconux.free.fr/.(...)
  • # I'm secure

    Posté par  (site web personnel) . Évalué à 10.

    Moi je l'ai essayé y'a quelques temps sur mes users, au bout de plusieurs jours, il n'a jamais trouvé mon mot de passe root qui est yakaléloyakélélo donc je....


    et me*de...

    Je sors là, quelqu'un veut que je lui ramène des trucs ? (lait, clopes...)

    ----->[]
    • [^] # Re: I'm secure

      Posté par  (site web personnel) . Évalué à 3.

      Il est effectivement difficile de résister à l'envie de dire son mot de passe quand on se vente du fait qu'il est difficile à trouver.
      • [^] # Re: I'm secure

        Posté par  . Évalué à 3.

        S'il est effectivement difficile à trouver, on peut toujours le dire on ne cours pas grand risque. Par contre mieux vaut ne pas l'écrire sur un forum...
    • [^] # Re: I'm secure

      Posté par  (site web personnel) . Évalué à 10.

      J'espère pour toi que tu n'as jamais eu de problème de charset au démarrage.
  • # Ce soft est très connu

    Posté par  . Évalué à 2.

    Il est même porté sur les différentes plate forme unix
    • [^] # Re: Ce soft est très connu

      Posté par  (site web personnel) . Évalué à 5.

      Très connu et facilement détectable (vu que c'est un logiciel de "brute force").
      Il suffit de regarder les procès verbaux accrochés aux murs des universités pour s'apercevoir que la plupart des hackers (ou blaireaux selon le point de vue) ont utilisé cet outil.
      • [^] # Re: Ce soft est très connu

        Posté par  . Évalué à 6.

        Oui mais le brute force ne se fait pas forcement sur la machine cible donc ca peut etre discret... La seule chose que l'on doit pouvoir repérer c'est la recuperation du /etc/shadow.
  • # Grande question philosophique

    Posté par  (site web personnel) . Évalué à 1.

    Mais comment fait le hacker pour obtenir le /etc/shadow s'il n'a pas déjà le mot de passe root ?
    • [^] # Re: Grande question philosophique

      Posté par  (site web personnel) . Évalué à 3.

      Si la dite machine est accessible de façon locale, il suffit de pouvoir lancer un système bootable et de récupérer le dit fichier (shadow).
      A ton aise d'en faire ce que tu veux après ... pour ma part tester la solidité de certains de mes mots de passes.
      • [^] # Re: Grande question philosophique

        Posté par  . Évalué à 5.

        Si tu peu lancer un systeme bootable sur la machine, alors il te suffit d'enlever le x sur la ligne du mot de passe root dans le fichier /etc/passwd.
        ça permet d'utiliser le compte root sans mots de passe.
        • [^] # Re: Grande question philosophique

          Posté par  (site web personnel) . Évalué à 3.

          Dans l'absolu, je suis complétement d'accord avec toi.
          Mais bon si tu veux passer incognito, ne pas laisser de trace de ton passage et faire en sorte que la machine soit à nouveau accessible sans éveiller les soupçons, ce n'est pas la meilleure des choses à faire ("enlever le x sur la ligne du mot de passe root dans le fichier /etc/passwd").
    • [^] # Re: Grande question philosophique

      Posté par  . Évalué à 3.

      avec un peu de chance, ce fichier n'existe pas, et il récupère le fichier /etc/passwd, accsssible en lecture à tout le monde..

      du moins si comme le serveur unix HP de notre école, l'OS n'as pas été mis à jour depuis suffisament longtemps pour que celui-ci ne connaisse ni shadow, ni ssh, ni md5, ni ...
    • [^] # Re: Grande question philosophique

      Posté par  (site web personnel) . Évalué à 2.

      Avec n'importe quel exploit local...
    • [^] # Re: Grande question philosophique

      Posté par  . Évalué à 4.


      Mais comment fait le hacker pour obtenir le /etc/shadow s'il n'a pas déjà le mot de passe root ?

      Si les utilisateurs sont dans des maps NIS...

      $ ypcat passwd
      • [^] # Re: Grande question philosophique

        Posté par  (site web personnel) . Évalué à 0.

        Bof, je me souviens avoir fait un script perl avec mon binôme pour un projet de Perl : trouver la liste des utilisateurs qui n'ont pas de mot de passe, c'était hallucinant le nombre que l'on a trouvé.
  • # Et aloooors?

    Posté par  (site web personnel, Mastodon) . Évalué à 2.

    Ça a donné quoi ton /etc/shadow, ton mdp était "sûr"??

    La gelée de coings est une chose à ne pas avaler de travers.

  • # trop gros

    Posté par  . Évalué à -2.

    Ha ha!
    Et le lien pointe sur ton site, le soft demande ton mot de passe pour voir si il le arrive a le cracker..

    Ca prends pas..
  • # mdp de forums,...

    Posté par  (site web personnel) . Évalué à 4.

    À noter que les mdp Windows et de certains forums web (dont phpbb) sont bien plus simples à cracker car ils n'utilisent pas de "grain de sel".
    http://lasecwww.epfl.ch/php_code/publications/search.php?ref=Oech04(...)

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # Petite(s) question(s)...

    Posté par  . Évalué à 2.

    - Fort : Est-il possible de faire un petit cluster de machines connectées en réseau et se faire un petit john distribué?
    - Encore plus fort : est-il possible de sauvegarder l'état de l'avancement à un instant t et de reprendre le crack plus tard histoire de pouvoir jouer à doom3 de temps en temps?
    - Encore plus que plus fort : est il possible d'interrompre un john distribué et de le reprendre sur une seule machine puis réinterrompre pour reprendre le crack? (Genre : J'ai un portable + un fixe. Quand j'ai accès aux deux, je met les deux dessus. Quand je n'ai que mon portable, mon portable bosse dessus, etc.)

    PS : Pour le mien, john risque de mettre du temps ;-)
    • [^] # Re: Petite(s) question(s)...

      Posté par  (site web personnel) . Évalué à 2.

      John sauvegarde régulièrement son état d'avancement si je me souviens. (ça fait 7 ans que je m'en suis pas servi...)
    • [^] # Re: Petite(s) question(s)...

      Posté par  (site web personnel) . Évalué à 2.

      plus ou moins
      oui
      pas vraiment

      Pour une utilisation "cluster" (ou multi processeur, c'est pareil), il y a un exemple à la fin du fichier de conf d'exemple mais c'est pas super flexible. D'après le README il y a un projet séparé pour ça mais j'ai rien trouvé (ya bien un distributed john mais ça a l'air un peu mort).

      pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # L'alternative

    Posté par  (site web personnel) . Évalué à 6.

    Je suis surpris que personne ne l'ait encore mentionnée: il s'agit des Rainbow tables où tous les cas possibles sont précalculés (enfin presque, voir: http://lasecwww.epfl.ch/php_code/publications/search.php?ref=Oech03(...) pour plus d'infos.
    La recherche d'un mot de passe à partir du hash ne prend que quelques secondes/minutes (en fonction de la quantité de Ram dispo).
    Evidémment, ces tables (certaines font plusieurs Go) ne sont calculées que sur certains jeux de caractères et pour une longueur maximum donnée. Celà permet de savoir à l'avance si son mot de passe est 'crackable' ou pas.
    On peut aussi essayer un des sites en ligne (longue file d'attente en général) qui permet de poster son hash et de voir par la suite si le mot de passe a été trouvé ou pas: http://passcracking.com(...)

    A noter que ces tables sont dispos en torrent pour ceux qui sont interessés: http://rainbowtables.shmoo.com/(...)

    Bref le seul cas où John est encore interessant, c'est lorsque la longueur du mot de passe est supérieure à celle utilisée dans les tables. En ce cas, seul la force brute permet de récupérer un mot de passe à partir du hash (avec utilisation de dictionnaires et de recherche hybride pour augmenter l'efficacité). Ceci permet de savoir approximativement combien de temps un mot de passe peut 'tenir' et d'en déduire sa politique de sécurité sur leur longueur et leur complexité.

    A voir également pour ceux qui sont interressés par le sujet:
    http://www.antsight.com/zsl/rainbowcrack/(...)
    http://www.rainbowtables.net/(...)

    ps: je me suis déjà amusé à ce genre de jeux pour tester certains mots de passe root: avec un minimum de 16 caractères en combinant les caractères ascii peu utilisés (#~¤{^ etc. jamais aucun mot de passe n'a été trouvé.
    • [^] # Re: L'alternative

      Posté par  . Évalué à 5.

      un minimum de 16 caractères
      J'ai pu constater sur un _vieux_ Solaris que les caractères au-delà du 8e n'étaient pas pris en compte dans les mots de passe ;-)
      Par exemple, si le mdp est "toto1234xyz", on se logge sans pb avec "toto1234".

      A votre avis, l'admin est au courant ?
      • [^] # Re: L'alternative

        Posté par  . Évalué à 3.

        C'est l'algorithme de chiffrement qui est en cause ici. Sur les anciennes versions d'à peu près tous les UNIX traditionnels (et même Linux), l'algorithme utilisé est le crypt UNIX, basé sur l'algorithme DES. Le mot de passe est utilisé pour générer une clé DES et le "hash" que l'on voit dans /etc/passwd est le résultat du chiffrement d'une chaine constante par cette clé DES. Seulement, cet algorithme ne prend que les 8 premiers caracteres. Non seulement c'est trompeur pour l'utilisateur qui croit avoir un mot de passe plus sur car plus long, mais pire, c'est cassable assez facilement avec la puissance des machines actuelles...
        Si les comptes utilisateurs sont sur un NIS actuellement, le problème est le même...

        La version GNU a apporté une amélioration à cet algorithme, sous le nom de md5crypt. Basiquement, ca remplace DES par un hachage MD5 (et au niveau solidité, il n'y a pas photo).
        J'ai pu constater aussi sur une SuSE que le mot de passe root pouvait être chiffré en blowfish.
    • [^] # Re: L'alternative

      Posté par  (site web personnel) . Évalué à 3.

      Je suis surpris que personne ne l'ait encore mentionnée
      perdu https://linuxfr.org/~niconux/19139.html#613130(...)
      Bref le seul cas où John est encore interessant, c'est lorsque la longueur du mot de passe est supérieure à celle utilisée dans les tables.
      Encore perdu. Quand le mdp est conservé avec un hash "salé" (comme les mdp unix), la méthode des rainbow tables n'est pas pratique (c'est d'ailleurs expliquée dans la version française du papier).

      pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

    • [^] # Re: L'alternative

      Posté par  . Évalué à 4.

      Tiens, j'avais cru comprendre car les rainbow tables ne pouvaient pas être efficacement utilisés pour des mdp de type Unix-like à cause du grain de sel.

      Pour ceux qui veulent tester ce système : http://passcracking.com/ on a juste à donner le md5 et ce système essaie de retrouver un ensemble de lettres ayant le même hash. Pour info, ce système permet de retrouver 99.56% des mot de passe de moins de 8 caractères minuscules et/ou chiffres. La taille totale des tables est de 47.6 Go (sic !).

      Sinon pour revenir au sujet initial, je conseille aux personnes voulant tester leur mdp d'utiliser un autre dictionnaire que celui proposé par défaut dont John, car il est basé sur des mdp anglo saxons. Après plusieurs expériences, je trouve que ce qui est le plus rapide est un gros dico contenant tous les mots de la langue francaise + une liste de prénoms courants + 'titi', 'tata' et 'toto' (y a des boulets souvent). Les premières phases d'analyses seront beaucoup plus longues, mais elles restent plus efficaces que la force brute. On fini donc par y gagner.

      Manque plus qu'un bon tutorial expliquant comment forger un mdp sur et facile à retenir :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.