Journal Mon ami John

Posté par  (site Web personnel) .
Étiquettes : aucune
0
11
oct.
2004
Bonjour journal,

Au hazard du net, je suis tombé sur un site conseillant de tester les mots de passe de ses comptes avec John the Ripper.

C'est ce que j'ai fait sur les mots de passe de mon ordi, avec la version 1.6

Bilan : Mon mot de passe root trouvé en 15 minutes (!), et le mot de passe user en 1h30.

->[] (Rouge de honte, je sort...)
[]-> (Oui, bon, je rentre pour continuer mon histoire).

Voici ce que john me donne :

[darckense@darckense darckense]$ nice john shadow
Loaded 4 passwords with 4 different salts (FreeBSD MD5 [32/32])
*** (root)
*** (darckense)
*** (arcadia)
*** (ilyrie)
guesses: 4 time: 0:01:24:37 (3) c/s: 4246 trying: ****

Les mots de passe de darckense, arcadia et ilyrie sont identique.

Bon, je me demande quoi tirer de ce test (a part le fait de changer de mot de passe root !)
Pourquoi le premier mot de passe a être sortit c'est le root ? Est-ce parcequ'il était le plus faible ? Ou est-ce juste un coup de chance ? Si je recommence le test dans les mêmes conditions, je peut trés bien trouvé celui-ci en dernier ? Comment fonctionne ce programme pour trouver les mots de passe ? Force brute ou dictionnaire ?

J'ai un ordinateur classique : Athlon XP1800 et 512 Mo de Ram.

Si je change de mot de passe, et que je le ressoumet à "John", quel est le temps qu'il doit tenir pour être considéré comme un bon mot de passe ?

Bon, avec tout ca, heureusement que mon fichier /etc/passwd est en shadow !


Darckense
  • # Intéressant

    Posté par  . Évalué à 4.

    Pour ceux qui veulent tester : http://www.openwall.com/john/(...)
    • [^] # Re: Intéressant

      Posté par  . Évalué à 4.

      Notons au passage que le package john de Debian dispose d'un fichier cron.d permettant de scanner régulièrement les mots de passes d'une machine. Pratique sur une machine multi-ultilisateur, surtout si ça bouge beaucoup.
    • [^] # Re: Intéressant

      Posté par  . Évalué à 3.

      Ou tout simplement apt-get john (ou autres...).

      Pour ton mot de passe trouvé facilement, c'est quoi ? ;) (Si tu l'as changé, bien sûr). Est-ce qu'il n'était pas trop court ? Ou trop simple ? Tu ne fais peut-être pas suffisamment de mélanges minuscules/majuscules/chiffres/ponctuation...

      Un truc marrant à voir, c'est la liste des mots de passe que John essaie avant de passer en mode plus bourrin (/usr/share/john/password.lst sur debian) : password, azerty, abc123... :) Mine de rien, ça représente un pourcentage relativement important des mots de passe utilisés.
      • [^] # Re: Intéressant

        Posté par  . Évalué à 3.

        J'ai connu un gars qui utilisait pastis51 comme mot de passe, comme quoi ce genre de trucs peut marcher!!
        Non plus sérieusement, je crois que 8 caractères avec:
        - 2 maj
        - 2 min
        - 2 chiffres
        - 2 caras spéciaux
        est théoriquement inviolable. Alors en prenant un peu de peine pour le créer ALEATOIREMENT et pour le retenir (ca c'est dur...), ben mon mot de passe john était pas arrivé à le trouver. Et c'est normal.
        • [^] # Re: Intéressant

          Posté par  . Évalué à 7.

          remarques:

          -> Un mdp aleatoire n'est pas forcement bon. Tu peux tres bien tomber sur quelque chose tres facile a cracker, ou possedant une signification que tu ignores.
          Autant utiliser un moyen de memorisation qui te permettra de ne pas l'oublier et ne le rendra absolument pas plus faible

          -> 2 maj 2min etc.
          La tu diminue enormement l'ensemble des possibilites ! Tu te rends compte du temps que tu fais gagner en appliquant une regle comme ca ?

          -> 8 caracteres inviolable ?!!!!
          L'espace des cles DES se fait en un tout petit peu plus d'un mois sur une machine actuelle tout ce qu'il y a de plus banale.

          Le chiffrement MD5/blowfish etant considerablement plus lent que le DES (pour se donner ordre de grandeur ca doit etre 100 et 1000). Le inviolable on peut toujours repasser, essayer l'ensemble des cles se parallelise tres tres bien, avec un petit reseau de machine infectées tu dois pouvoir obtenir assez rapidement ce que tu cherches.

          Mais ce qui tombe bien c'est que l'attaquant n'aura jamais la possibilite de brute forcer tes mdp ! S'il a access aux hash c'est que ton systeme est compromis (ou tres mal configure), il a deja le root quel interet de casser du mot de passe ?
          • [^] # Re: Intéressant

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

            > il a deja le root quel interet de casser du mot de passe ?

            Beaucoup de gens utilisent les mêmes mots de passe à plusieurs endroits. Tu peux checher celui d'un utilisateur pour essayer d'aller après sur le site de sa banque. (mais bon avec root il doit y avoir moyen de modifier le système pour obtenir les mots de passe quand ils sont saisis plutôt que de les casser)
          • [^] # Re: Intéressant

            Posté par  . Évalué à 10.

            "Autant utiliser un moyen de memorisation qui te permettra de ne pas l'oublier et ne le rendra absolument pas plus faible"

            Tout à fait. Mon mot de passe, c'est tout simplement le nom de mon chien.
            Mon chien, il s'appelle 23;{zk7W?p et il change de nom toutes les semaines.
            • [^] # Re: Intéressant

              Posté par  . Évalué à 2.

              Et ton chien, laisse moi deviner, il t'obeit pas du tout, c'est ça??
              Cherche pas...
        • [^] # Re: Intéressant

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

          apg

          apt-get install apg

          et puis man apg, après, ça mange pas de pain.

          mon alias apg : alias apg='apg -a 1 -M NCL -n 6 -x 8 -m 8'

          --
          apg, ch'est bon, mangez-en !
  • # Mes résultats..

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

    Après 21 minutes, il ne m'a trouvé que mes 2 users... ce qui a pris environ 1 minute, maintenant il patauge toujours sur mon mdp root...

    Je le laisse tourner ;)
    • [^] # Re: Mes résultats..

      Posté par  . Évalué à 3.

      2h qu'il tourne et rien trouvé !!!!
      Athlon 2200 Mhz, 1 go RAM

      "UyB/Pfx?" rulez !!!!!

      Mince, j'ai donné mon mot de passe root ;-)
      • [^] # Re: Mes résultats..

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

        3h30, et toujours rien...

        Au fait, ton IP c'est quoi ? maintenant qu'on a le mdp... :p

        A priori, je pense que johne essai d'abord sans les caractères spéciaux, car à chaque fois que je lui fait afficher l'état, c'est chiffre + lettre...
        • [^] # Re: Mes résultats..

          Posté par  . Évalué à 2.

          Il est nul John, plus de 8h et toujours rien. Je garde mon mpd root ;-)

          Alors, mon ip c'est xx.xx.16.164 ;-)))))
          • [^] # Re: Mes résultats..

            Posté par  . Évalué à 4.

            Ah? c'est pas 127.0.0.1 ???
          • [^] # Re: Mes résultats..

            Posté par  . Évalué à 1.

            huit heure, pas mal, j'en suis à 742 minutes (12heures, en gros) avec nice devant ;) sur un Pentium m 1.5G(sans speedstep, évidement, processeur à fond), il tourne à 95 %, je n'ai jamais vu mon pc chauffer autant sans que la cg ne chauffe, (juste au processeur) mais pour l'instant tout résiste.
            Je laisse jusque ce soir, pas besoin de mon pc d'ici la... mais je suis content (la derniere fois que j'ai fait ca, c'était sur un P II et il avait mis moins de deux heure pour le pass root :( )
            • [^] # Re: Mes résultats..

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

              avec un pote on avais calculer que pour tester touts les possibilité de mot de passe (avec mon 1giga) il fallais au moins 50 ans.
              Mais bon 8h 12h ca reste peu pour vérifié la validité d'un mot de passe.
              <MODE PARANO>
              Quelquun recuperant votre passwd, il a tous son temps lui!!
              </MODE PARANO>
              Moi jattendrais au moins 1 mois voir 2 pour etre sur. (actuellement 130 jours de brute force).
              <MODE PARANO>
              vous lancer john au moment ou vous mettez votre nouveau mot de passe comme ca des quil le trouve vous le changer.
              </MODE PARANO>
              • [^] # Re: Mes résultats..

                Posté par  . Évalué à 2.

                vous lancer john au moment ou vous mettez votre nouveau mot de passe comme ca des quil le trouve vous le changer.

                sauf si l'attaquant dispose d'une machine plus puissante...
        • [^] # Re: Mes résultats..

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

          sur une machine bien foutue connaitre le pass root sert pas a grand chose ; a l'epoque du crack linuxppc contest ils donnaient le pass root.
          • [^] # Re: Mes résultats..

            Posté par  . Évalué à 4.

            ???

            Si j'ai le pass root, je vais m'empresser de modifier le programme "login", pour qu'il enregistre tous les mots de passe que l'on lui tape dans un fichier à moi. Pareil pour sshd, xdm, kdm et gdm (quoique, je me demande s'ils n'utilisent pas login), et ensuite, je vais avoir tous les mots de passe. Sauf bien sûr si l'utilisateur s'entête à ne pas se logger, mais le cas est rare.
            • [^] # Re: Mes résultats..

              Posté par  . Évalué à 4.

              Je crois que ce qu'il veut dire, c'est que la meilleure protection, en tout cas sur un serveur, est encore de ne laisser root se logguer que sur la console.

              Après, tu peux mettre « toto » comme mot de passe root, la protection devient physique et géographique, plus informatique.

              Le seul problème est que très vite, on a besoin d'un sudo pour effectuer les tâches administratives et qu'à ce moment, on retombe sur le même problème: il suffit de s'attaquer au compte d'un utilisateur avec un minimum de pouvoir.

              Et là, en général, le mot de passe est nettement plus faible ...
              • [^] # Re: Mes résultats..

                Posté par  . Évalué à 3.

                Evidemment, je n'avais pas vu le problème comme ça.

                Le seul problème est que très vite, on a besoin d'un sudo pour effectuer les tâches administratives et qu'à ce moment, on retombe sur le même problème: il suffit de s'attaquer au compte d'un utilisateur avec un minimum de pouvoir.

                Oui, sudo, ou bien su, tout simplement. Et supprimer "su" est assez difficilement jouable... (D'accord, c'est possible, mais assez laid.)

                Cela dit, à mon avis, il vaut nettement mieux que le mot de passe root soit gardé secret. Si l'utilisateur a la mauvaise idée d'utiliser, mettons, un navigateur non patché contre la faille de la libpng, sur le site web du gentil pirate que je suis, je vais vite fait me retrouver avec un shell appartenant à cet utilisateur... Et alors là, un coup de "su", et c'est parti!

                (Heu, bon, d'accord, exploiter ce genre de faille, ce n'est pas simple, mais c'est théoriquement faisable, et il est inutile de prendre des risques.)
            • [^] # Re: Mes résultats..

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

              Je pense que les mecs de linuxppc voulaient mettre en avant le fait qu'on ne pouvait tout simplement pas obtenir de shell distant.

              D'autre part sur les machines sécurisées sérieusement, seul un utilisateur qui s'est loggué sur la console (e.g. physiquement sur le clavier de la machine) peut passer root.

              Mais c'est au delà de mes compétences, se référer à de la documentation sérieuse sur la sécurité pour ces considérations.

              Il faut savoir en somme que se croire en sécurité lorsque le pass root est difficilement crackable c'est de la roupie de sansonnet.
              • [^] # Re: Mes résultats..

                Posté par  . Évalué à 3.

                Je pense que les mecs de linuxppc voulaient mettre en avant le fait qu'on ne pouvait tout simplement pas obtenir de shell distant.

                Oui, c'est évidemment un élément de sécurité intéressant, mais pas toujours envisageable. Si le fait d'offrir des shells distants à de nombreuses personnes fait partie des fonctionnalités du serveur, notamment.

                Il faut savoir en somme que se croire en sécurité lorsque le pass root est difficilement crackable c'est de la roupie de sansonnet.

                Hum... Disons que :
                1) C'est toujours ça, comme sécurité;
                2) Il n'est pas très facile de contourner ce pass root, sur une machine correctement administrée s'entend;
                3) Il est assez rare que l'on puisse compromettre une machine, ou une partie d'une machine, sans être root dessus (D'accord, ça arrive, notamment si l'utilisateur doit pouvoir accéder à certains périphériques, mais c'est rarement le cas).

                Dis-moi, as-tu des urls d'une telle documentation sérieuse sur la sécurité ? Ca m'intéresse.
      • [^] # Re: Mes résultats..

        Posté par  . Évalué à 4.

        2h qu'il tourne et rien trouvé

        Rien d'anormal. Ca peut prendre longtemps. Dans mon ancienne école, John est utilisé tout les ans dans le cadre du cours sur la sécurité. On le lance sur l'ensemble des comptes de l'école (élèves, profs, assoces) et on le laisse tourner pendant une semaine avec les dico qui vont bien histoire de sensibiliser les élèves à la sécurité.

        En général on tombe rapidement (1h) une foule de comptes zombies (comptes assoces jamais utilisés avec mot de passe = login) ainsi que les comptes des secrétaires qui mettent le prénom de leurs enfants. puis dans les heures qui suivent on tombe ~50-70 comptes. Au final on en a une centaine. Les comptes des élèves en sécu (mis à part le W4r1odZ qui avait comme mot de passe "jamesbond") et de leur profs ne sont jamais tombés à ma connaissance même au bout d'une semaine. Des chiffres, des lettres (maj/min) et des caractères spéciaux le tout ne voulant rien dire pour le commun des mortels (mais ayant un sens pour le propriétaire) et en général ça tient bien (dans les limites du raisonnable).
        • [^] # Re: Mes résultats..

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

          Bonjour,

          Au final on en a une centaine.

          Sur combien de comptes a l'initial ? Histoire d'avoir une idee...

          les comptes des secrétaires qui mettent le prénom de leurs enfants

          Elles ne le changent jamais ? On ne les previent pas ? Elles ont un nouvel enfant chaque année ?

          Heuuu... Non on oublie la derniere supposition --> [ ]
          • [^] # Re: Mes résultats..

            Posté par  . Évalué à 2.

            >Elles ont un nouvel enfant chaque année ?

            Tous les dix jours. Y'a des maris plus malheureux.
  • # ça fait peur.

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

    jack root # john --session=test_john paperstreet-shadow
    Loaded 14 password hashes with 14 different salts (FreeBSD MD5 [32/32 X2])
    tomcat (tomcat)

    (au bout d'une demi seconde, forcément)...

    Nul doute que le mot de passe de l'utilisateur incriminé vient d'être changé... Sont graves ces utilisateurs...
    • [^] # Re: ça fait peur.

      Posté par  . Évalué à 3.

      Oui, d'un autre côté, tomcat a certainement comme shell /bin/false, donc, moi, ça ne me fait pas vraiment peur :-) .
      • [^] # Re: ça fait peur.

        Posté par  . Évalué à 1.

        oui. chez moi, c'est pareil avec les comptes ftp à lecture seule... (pas de grosse securisation du mdp, il circule en clair de toutes facons, et c'est plus facile à communiquer, cependant je n'aime pas les accès anonymes complets...)
  • # mot de passe trop faible !

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

    Ah mon avis, il est vraiment trop faible ton pass root.

    Moi, je l'ai laissé tourné 48h (un WE) et il a rien trouvé. (Athlon 2500XP)
  • # john cest bien manger en

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

    pour repondre a ta question john fait les deux!
    Il peux marcher en mode dictionnaire brut
    john --wordlist=mondico

    Il peux marcher aussi en mode dictionnaire etendu (il va appliquer certaines regles a tous les mots du dico comme par exemple rajouté les chiffres 1-9 ou alors faire des uppercases etc..)
    john --wordlist=mondico --rules

    Et sinon il marche en force brute (mode incremental)
    john --incremental=all
    par contre en mode bruteforce il faut bien verifié le john.conf pour voir quel mode utiliser: all charset (les 96 caracteres), alpha (juste les 26 lettres) etc...
    ainsi que la longueur des pass a utliser.

    Perssonnelement je test tous mes pass avec john et je suis assez fier du mien qui resiste depuis 130 jours au brute force.

    Et je confirme il existe un mode pour john qui permet denvoyer des mails aux users dont le pass serais trouvé.

Suivre le flux des commentaires

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