Cracker des hachages SSHA


SSHA
Cet article explique rapidement le fonctionnement de SSHA, un algorithme de hachage de mots de passe développé par Netscape, et les méthodes existantes pour les cracker. Le SSHA est régulièrement utilisé dans les annuaires LDAP par exemple, pour y stocker les mots de passe des utilisateurs.

1. Un peu de théorie

Pour bien comprendre son fonctionnement, il faut savoir que le SSHA s'appuie sur l'algorithme SHA-1 et lui rajoute un salage afin de le rendre plus sûr. Le salage (ou encore "salt" en anglais, d'où est issu le premier "S" de SSHA) est généralement stocké quelque part sur la machine cible et n'est donc pas connu du hacker.

On se retrouve ainsi avec une formule de ce type pour construire un hash SSHA :
SSHA = "{SSHA}" . SHA-1(password (une opération) salt)

Les hash SSHA sont donc réputés plus sûrs que les traditionnels hash en MD5 ou SHA, car l'utilisation d'un salage permet de contrer les attaques utilisant des tables de hash pré-calculées.

2. Générer un hash SSHA

Pour générer facilement un hash SSHA, nous allons utiliser la commande slappasswd qui est fournie dans le paquet openldap. Pour ce faire, ouvrez un terminal en root et lancez la commande suivante pour une distribution à base de rpm :

sudo yum install openldap-servers

Ou celle-ci pour une distribution à base de Debian :

sudo apt-get install openldap-servers libssl-dev

On pourra ensuite générer un hash SSHA comme ceci (ici le mot de passe est toto) :

$ /usr/sbin/slappasswd -h '{SSHA}' -s toto
{SSHA}VCqYH/KYiTntyJm6JnqaVDz5HerfEu0z

3. Installer SHA Attack

Pour cracker des mots de passe SSHA, il existe un logiciel nommé SHA Attack. Celui est capable de faire de la brute force sur des hachages SHA1, SHA256, SHA384 et SHA512. Ce dernier est écrit en C afin d'offrir des performances maximales.

Pour l'installer, récupérez les sources depuis le site officiel et lancez les commandes suivantes :

cd /usr/local/src
tar zxvf ssha_attack-*.tar.gz
cd ssha_attack*
make

4. Cracker des hachages SSHA

Une fois le programme installé, deux méthodes s'offrent à vous : l'attaque par dictionnaire et l'attaque par brute force qui nécessite tout de même d'indiquer l'alphabet à utiliser.

La liste des options obtenue par la commande ssha_attack --help offre des précisions sur son fonctionnement. Voici les plus importantes :

  • -l : minimum de caractères
  • -u : maximum de caractères
  • -m : la méthode à utiliser
  • -a : jeux de caractères à utiliser (6=>alphanumérique+minuscule
    9=>alphanumérique+minuscule+majuscule)

Voici un exemple d'attaque par dictionnaire :

./ssha_attack -m dictionary -d /usr/share/dict/words -l 1 -u 20 -s {SSHA}7LZIyesw5WmfCFwVS3nDxJb0NeVUaS5MTXwZeQ

Et enfin un exemple d'attaque par brute force (utilisation des caractères de l'alphabet, uniquement en minuscule) :

./ssha_attack -m brute-force -l1 -u 10 -a6 -s {SSHA}VCqYH/KYiTntyJm6JnqaVDz5HerfEu0z
Hash Algorithm Detected: SHA1
There is a match on value "toto"
Elapsed time in seconds for successful attack: 51


9 Commentaires pour "Cracker des hachages SSHA"

Flux des commentaires de cet article Ajouter un commentaire
  •  

    Moi j'utilise actuellement le SMD5

    C'est la meme chose sauf que j'utilise une opération de salage dans mon fichier PHP.
    Ca n'empeche pas un hackeur de pirater ça en renomant mon PHP en txt, d'ailleurs si il y arrive il a aussi accès à ma base de donnée donc il a meme pas besoin de s'ennuyer à decrypter mon hash.

    oupla , le 6 mars 2009 à 13:52
  •  

    A essayer.

    @Ptiseb :
    T'as fais une 'tite faute de frappe dans tar -zvxf t'as oublié le - (par extension on utilise -jvxf pour les .bz2 si ça peut servir.)

    Marc , le 6 mars 2009 à 14:23
  •  

    @oupla : si un hacker à accès a ta base de données, il pourra quand même être intéressé par le crackage de ton mot de passe. Car généralement, les gens n'utilise que un ou deux mots de passe, et donc si il le trouve, il a de forte chance que ce dernier marchera pour ton compte mail, bancaire ou autre ...

    @Marc : non il n'y a pas besoin du tiret devant les options pour tar. Ça marche très bien sans.

    pti-seb , le 6 mars 2009 à 14:36
  •  

    Ha bon ?! Bin bin j'ai bien fait d'venir alors ;-)
    C'est vrai, mettre un mot de passe pour tout c'est la faille de prédilection évidente.
    J'ai au moins 4 mots de passe sur le net; mais ça va; j'ai encore un peu de ROM et de RAM à mon âge, hahahaha. Surtout sous Notes oû plus tu te trompes plus le délai entre les invites de connexion augmente. 4 mots pour 3 essais. J'aime bien les petits challenges.

    Marc , le 6 mars 2009 à 19:46
  •  

    Je voulais dire le même mot de passe pour tout...

    marc , le 11 mars 2009 à 20:16
  •  

    Et coté perf, ça donne quoi? En brute force avec un mot de passe relativement complexe (au moins 6 caractères avec du case sensitive par exemple) ça doit mettre du temps, non?
    Enfin bon, je pense que ça doit être comme n'importe quel soft de hack par brute force / dictionnaire : plus le mot de passe est compliqué, plus ça prend du temps.

    Conclusion : variez vos mots de passe et rendez-les compliquez (ou utilisez KeePass par exemple).

    Pecky , le 18 mars 2009 à 18:14
  •  

    @Pecky : la brute force est une méthode toujours plus ou moins longue suivant le matériel que l'on utilise. Un simple ordinateur de bureau est par exemple trop juste. Tandis qu'un cluster de Playstation 3 permettra d'atteindre des performances intéressantes.

    pti-seb , le 19 mars 2009 à 11:11
  •  

    Bien le bonjour ;)
    Et merci, c'est pile poil ce que je cherchais ;)
    Pour info, sur Ubuntu 10.04 il faut installer libssl-dev :)
    Bonne journée

    Pierre-Yves , le 30 août 2010 à 10:14
  •  

    @Pierre-Yves : j'ai rajouté libssl. Merci.

    pti-seb , le 30 août 2010 à 12:26

actualité android apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky date debian Desktop développement elementary exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware humour intel internet iphone jailbreak Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette metasploit microsoft mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet publicité redhat red hat rpm réseau screenshot script serveur serveurs shell sql ssh statistiques sysadmin system Sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum