Login
blog > farwarx > John the Ripper MPI

John the Ripper MPI

Posté par : farwarx - Le Mardi 3 Juin 2008 à 23:01

 

Billet High Level.

 

Bonsoir à tous, en fait, je voulais faire ce post, mais les livres lui sont passés devant, que voulez-vous.... ceux qui me connaissent me reconnaitrons entre deux!!!

 

Je vais vous parlez d'un sujet que j'affectionne particulièrement.

Étant un passionné d'informatique et plus précisement de sécurité, je ne peux pas passer à côté de la sécurité que l'on voit en premier, que tout utilisateur côtoie constamment, les mots de passe.

 

En effet, vous tapez des mots de passe tous les jours sans vous en rendre compte.

Mais qu'est ce qui vous dit que le soi-disant mot de passe entré est crypté? Ahahahha!!! Et oui!!!

Affiché des astérisques dans une formulaire est banal, il suffit de mettre le type 'password' mais derrière, votre mot de passe est en clair..... il devrai passer dans une moulinette et être crypté, mais qui sait?

Bref, arrêtons la parano, ce n'est pas mon sujet à proprement parler.

 

Une caractéristique des mots de passes est son algorithme.

En effet, c'est bien jolie de crypter un mot de passe, mais bon, on le crypte comment?

Il existe une multitude d'algorithme, plus ou moins sécurisé.

 

Un exemple concret?

 

Système
Algorithme
Windows XP Lanman et NTML
Windows Vista NT hashes
Linux md5
forum phpbb2 NTLM DES

 

 

Alors c'est quoi ces différents algorithmes, lequel est le meilleur? Et bien je ne répondrai pas, je n'ai pas fait assez de recherches et il faudra un dossier entier pour ça.

 

La remarque que je vais faire est subtile ;)

"Windows XP utilise une rétrocompatibilité avec Windows NT", c'est à dire, il utilise 2 algorithmes de cryptage des mots de passe....

 

Lanman: découpe en morceau de 4 caractères les mots de passe et les chiffres.

NTML: je ne sais pas, ça résiste ;)

 

Le problème? et bien, il suffit de cracker l'un pour avoir le mot de passe, et Lanman est très peu sécurisé, allez voir ici:

ophcrack.sourceforge.net/

 

 

Bon je retourne sur le sujet de mon billet quand même, mais il fallait une petite intro (dit donc, je suis inspiré ce soir!).

Je parle de John the Ripper et de mpi !!!!

Mais qui fait quoi et pourquoi?

 

John the Ripper

Son but? Tester la résistance des mots de passe.

Son atout? Sa multitude d'algorithme supporté

Sa force? différentes attaques: bruteforce, dictionnaire

Sa faiblesse? n'a pas suivis les évolutions multi processeurs

 

MPI

Son but? permettre la gestion multi cpu/coeur

Son atout? euh... ça marche, c'est déjà pas mal

Sa force? euh... ça marche, c'est déjà pas mal, le retour

Sa faiblesse? on ne sait pas bien comment ça marche justement ^^

 

 

Donc voilà, vite fait comment on installe le tout: (un minimum de connaissance et de débrouillardise est requise)

 

MPI

#wget http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.7.tar.gz
#tar xf mpich2-1.0.7.tar.gz
#cd mpich2-1.0.7
#./configure
#make
#make install

#touch /etc/mpd.conf
  secretword=toto

 

 

John the Ripper avec comptabilité MPI

 

#wget http://www.bindshell.net/tools/johntheripper/john-1.7.2-bp17-mpi8.tar.gz
#tar xf john-1.7.2-bp17-mpi8.tar.gz
#cd john-1.7.2-bp17-mpi8
#cd src/
#make linux-x86-any

 

 

Fonctionnement?

Il faut lancer 'mpd' en arrière plan:

#mpd&

 

Et on lance john: (2 coeurs, --test pour un benchmark)

#cd john-1.7.2-bp17-mpi8/run
#mpirun -np 2 ./john --test

 

Et quand on a fini, on kill mpd:

#mpdallexit

 

Résultat?

 info: c/s = nombre de password testé par secondes

Avant (JTR)
Après (JTR MPI)

#./john --test

Benchmarking: Traditional DES [24/32 4K]... DONE
Many salts:     191846 c/s real, 191846 c/s virtual
Only one salt:  182963 c/s real, 182963 c/s virtual

Benchmarking: BSDI DES (x725) [24/32 4K]... DONE
Many salts:     6553 c/s real, 6566 c/s virtual
Only one salt:  6497 c/s real, 6497 c/s virtual

Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw:    4637 c/s real, 4628 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw:    311 c/s real, 310 c/s virtual

Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
Short:  181094 c/s real, 181094 c/s virtual
Long:   527104 c/s real, 527104 c/s virtual

Benchmarking: NT LM DES [32/32 BS]... DONE
Raw:    3537K c/s real, 3530K c/s virtual
Benchmarking: Apache MD5 [32/32]... DONE
Raw:    4637 c/s real, 4646 c/s virtual

Benchmarking: mysql [mysql]... DONE
Raw:    1742K c/s real, 1742K c/s virtual

Benchmarking: Netscape LDAP SHA [SHA1]... DONE
Raw:    1765K c/s real, 1762K c/s virtual

Benchmarking: NT MD4 [TridgeMD4]... DONE
Raw:    1891K c/s real, 1941K c/s virtual

Benchmarking: Lotus5 [Lotus v5 Proprietary]... DONE
Raw:    142276 c/s real, 141992 c/s virtual

Benchmarking: M$ Cache Hash [mscash]... DONE
Raw:    1313K c/s real, 1313K c/s virtual

Benchmarking: Raw MD5 [raw-md5]... DONE
Raw:    2139K c/s real, 2139K c/s virtual

Benchmarking: IPB2 MD5 [Invision Power Board 2.x salted MD5]... DONE
Raw:    1400K c/s real, 1400K c/s virtual

Benchmarking: Eggdrop [blowfish]... DONE
Raw:    12699 c/s real, 12724 c/s virtual

Benchmarking: Raw SHA1 [raw-sha1]... DONE
Raw:    1662K c/s real, 1731K c/s virtual

Benchmarking: MS-SQL [ms-sql]... DONE
Raw:    1784K c/s real, 1851K c/s virtual

Benchmarking: HMAC MD5 [hmac-md5]... DONE
Raw:    684862 c/s real, 710438 c/s virtual

Benchmarking: WPA PSK [wpa-psk]... FAILED (cmp_all)
Benchmarking: Oracle [oracle]... DONE
Raw:    535067 c/s real, 550480 c/s virtual

Benchmarking: Netscape LDAP SSHA [salted SHA1]... DONE
Raw:    1753K c/s real, 1756K c/s virtual

#mpirun -np 2 ./john --test

Benchmarking: Traditional DES [24/32 4K]... DONE
Many salts:     351034 c/s real, 390992 c/s virtual
Only one salt:  318694 c/s real, 361201 c/s virtual

Benchmarking: BSDI DES (x725) [24/32 4K]... DONE
Many salts:     12441 c/s real, 13137 c/s virtual
Only one salt:  11896 c/s real, 12901 c/s virtual

Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw:    8046 c/s real, 9110 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw:    620 c/s real, 622 c/s virtual

Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
Short:  331417 c/s real, 359459 c/s virtual
Long:   985344 c/s real, 1049K c/s virtual

Benchmarking: NT LM DES [32/32 BS]... DONE
Raw:    6961K c/s real, 7103K c/s virtual

Benchmarking: Apache MD5 [32/32]... DONE
Raw:    9283 c/s real, 9302 c/s virtual

Benchmarking: mysql [mysql]... DONE
Raw:    3492K c/s real, 3489K c/s virtual

Benchmarking: Netscape LDAP SHA [SHA1]... DONE
Raw:    3527K c/s real, 3530K c/s virtual

Benchmarking: NT MD4 [TridgeMD4]... DONE
Raw:    3895K c/s real, 3899K c/s virtual

Benchmarking: Lotus5 [Lotus v5 Proprietary]... DONE
Raw:    285577 c/s real, 285864 c/s virtual

Benchmarking: M$ Cache Hash [mscash]... DONE
Raw:    2631K c/s real, 2637K c/s virtual

Benchmarking: Raw MD5 [raw-md5]... DONE
Raw:    4288K c/s real, 4288K c/s virtual

Benchmarking: IPB2 MD5 [Invision Power Board 2.x salted MD5]... DONE
Raw:    2818K c/s real, 2824K c/s virtual

Benchmarking: Eggdrop [blowfish]... DONE
Raw:    25549 c/s real, 25575 c/s virtual

Benchmarking: Raw SHA1 [raw-sha1]... DONE
Raw:    3456K c/s real, 3460K c/s virtual

Benchmarking: MS-SQL [ms-sql]... DONE
Raw:    3605K c/s real, 3664K c/s virtual

Benchmarking: HMAC MD5 [hmac-md5]... DONE
Raw:    1398K c/s real, 1409K c/s virtual

Benchmarking: WPA PSK [wpa-psk]... FAILED (cmp_all)
Benchmarking: Oracle [oracle]... DONE
Raw:    1053K c/s real, 1095K c/s virtual

Benchmarking: Netscape LDAP SSHA [salted SHA1]... DONE
Raw:    3290K c/s real, 3535K c/s virtual

 

Les résultats parlent d'eux même.

Je vais les faire parler pour vous: le nombre de password par secondes a quasiement doublé (deux CPU au lieu d'un seul).

 

Je suis sur un projet perso en ce moment (un peu tout le temps à vrai dire, quand j'ai le temps plutôt) sur un 'distributed john', ou l'utilisatuion de cluster avec PXE pour limiter les installations... faire son propre live CD etc.... si ça dit à d'autres personnes de faire des tests, je demanderai à Kookyoo Chef de nous faire une place sur le wiki pour que l'on puisse échanger nos résultats et tests.

 

Quelques liens utiles:

MPICH: http://www.mcs.anl.gov/research/projects/mpich2/

John the Ripper avec MPI: http://www.bindshell.net/tools/johntheripper

Ophcrack: http://ophcrack.sourceforge.net/ et http://www.kookyoo.net/blog/farwarx/

 


Rappel:

Il est interdit de s'introduire dans un système sans l'accord de son propriétaire.

Ces renseignement sont données pour but de recherches informatiques liées à la sécurité.

 


 

Désolé pour le billet un peu long, mais si j'avais fait un dossier, j'aurai dû plus bosser dessus et être sérieux, hors je ne voulais pas ;)

 

Bonne continuation, soirée et tout et tout!!!!

 



Billet sous licence Creative Commons BY-NC-SA 

Maxime T.

Rédacteur chez Kookyoo.net > blog/farwarx

www.teissedre.info

 

 

PS: petite MAJ explicative.

PS2: j'ai fermé le projet sur le wiki, j'ai réussi ce que je voulais faire et le wiki est utilisé pour être plusieurs, donc comme j'étais seul, ça ne me servait pas bcp ;) voilà.







Commentaires 10 commentaires

Seb le 03 Juin 2008 à 23:51

mm, ça manque tout de même d'explications.
Avant et après quoi tout d'abord ? C'est la fusion de JTR (pour les intimes) et MPI qui permet ce gain de performances ?

farwarx le 03 Juin 2008 à 23:57

Argh, je suis désolé :S
Avant = JTR
Après = JTR MPI
Les que c/s ont quasiment doublé! (ce billet est un peu high level je crois)

farwarx le 04 Juin 2008 à 0:02

Sinon, tu peux faire un truc sur le wiki, genre une section JTR ?
Je voudrai tester divers logiciels et mettre mes résultats dans un endroit ou je puisse les voir pour comparer.

Tonio le 04 Juin 2008 à 0:04

impec tout ça...
Et à propos de ton projet, je serais curieux d'en savoir plus, ça m'intéresse.

Seb le 04 Juin 2008 à 0:12

Le wiki est ouvert à tous, il suffit de s'inscrire et tu as les accès pour faire ce que tu veux.

farwarx le 04 Juin 2008 à 0:13

A propos de crack MD5, si quelqu'un à une bonne carte graphique Nvidia et un pc sous Windows XP, qu'il me le dise, je voudrai tester un logiciel mais je n'ai pas la carte graphique adéquate :'(
Oui, une CG pour du crack MD5, vous avez bien lu.

Tonio le 04 Juin 2008 à 1:29

je pense que Callum saura te ravir avec sa 8800GT... En plus il à XP je crois bien...
D'ailleurs à propos de ce cher et précieux Vista : ça clash (déglingue, dégomme, détraque) les disques durs, Seb pourra vous le confirmer, moins de 4 mois pour flinguer un disque neuf. Plutôt étrange comme phénomène.
Donc soit Mircosoft a quelques accords avec les constructeurs de disques durs, soit les ingénieurs de Microsoft travaillent (comme il me viendrait naturellement à l'esprit) dans une ambiance Pastis 51 et Whisky sec...

Seb le 04 Juin 2008 à 10:09

+1
Les disques durs dansent la tektonik à longueur de journée ici, c'est vraiment fatiguant.

farwarx le 04 Juin 2008 à 10:35

Pour participer:
http://wiki.kookyoo.net/index.php?title=Utilisateur:Farwarx

farwarx le 05 Octobre 2009 à 17:47

Kookyoo est n°1 sur John the ripper en MPI!!!!

Encore aujourd'hui, un article FR montrant tout les bienfait du MPI sur John, mais Kookyoo l'avait fait plus de 14 mois avant ^^ et en utilisant la même source :D

Mais bon, je l'ai fait avec 2 c½urs, et ils l'ont fait avec 8 coeurs!
http://www.john-jean.com/blog/crypto/john-the-ripper-multi-core-grace-a-open-mpi-233



.laisser un commentaire




Codes html interdits. Les liens sont convertis automatiquement.

Réalisation

Code & Design : Sébastien Cardona

Page générée en : 0.316543s