Une brève note – cet article traite de la théorie de la façon de déchiffrer les mots de passe. Comprendre comment les cybercriminels exécutent des attaques est extrêmement important pour comprendre comment sécuriser les systèmes contre ces types d’attaques.

tenter de pirater un système que vous ne possédez pas est probablement illégal dans votre juridiction (plus le piratage de vos propres systèmes peut violer toute garantie pour ce produit).

nous allons commencer avec les bases. Qu’est ce qu’une attaque par force brute?,

Ce type d’attaque consiste à essayer à plusieurs reprises de se connecter en tant qu’utilisateur en essayant toutes les combinaisons de lettres, de chiffres et de caractères possibles (à l’aide d’outils automatisés).

cela peut être fait soit en ligne (donc en temps réel, en essayant continuellement différentes combinaisons nom d’utilisateur/mot de passe sur des comptes comme les médias sociaux ou les sites bancaires) ou hors ligne (par exemple si vous avez obtenu un ensemble de mots de passe hachés et que vous essayez de les déchiffrer hors ligne).

hors ligne n’est pas toujours possible (il peut être difficile d’obtenir un ensemble de mots de passe hachés), mais il est beaucoup moins bruyant., En effet, une équipe de sécurité remarquera probablement beaucoup, beaucoup de comptes de connexion échoués à partir du même compte, mais si vous pouvez déchiffrer le mot de passe hors ligne, vous n’aurez pas d’enregistrement des tentatives de connexion infructueuses.

C’est relativement facile avec un mot de passe court. Il devient exponentiellement plus difficile avec un mot de passe plus long en raison du nombre de possibilités.,

par exemple, si vous savez que quelqu’un utilise un mot de passe de 5 caractères, composé uniquement de lettres minuscules, le nombre total de mots de passe possibles est de 26^5 (26 lettres possibles à choisir pour la première lettre, 26 choix possibles pour la deuxième lettre, etc.), ou 11 881 376 combinaisons possibles.

Mais si quelqu’un utilise un mot de passe de 11 caractères, uniquement en minuscules, le nombre total de mots de passe possibles est de 26 ^11, soit 3 670 344 486 987 776 mots de passe possibles.,

lorsque vous ajoutez des lettres majuscules, des caractères spéciaux et des chiffres, cela devient encore plus difficile et prend du temps à craquer. Plus il y a de mots de passe possibles, plus il est difficile pour quelqu’un de se connecter avec succès avec une attaque par force brute.

comment vous protéger

ce type d’attaque peut être défendu de différentes manières. Tout d’abord, vous pouvez utiliser des mots de passe suffisamment longs et complexes (au moins 15 caractères). Vous pouvez également utiliser des mots de passe uniques pour chaque compte (utilisez un gestionnaire de mots de passe!) pour réduire le danger des violations de données.,

Une équipe de sécurité peut verrouiller un compte après un certain nombre d’échecs de tentatives de connexion. Ils peuvent également forcer une méthode secondaire de vérification comme, ou utiliser l’authentification à 2 facteurs (2FA) qui nécessite un deuxième code (SMS ou e-mail, basé sur une application ou basé sur une clé matérielle).

Voici un article sur la façon d’exécuter une attaque par force brute.

Comment Pouvez-vous casser des mots de passe plus rapidement?

Une attaque par dictionnaire consiste à essayer de se connecter à plusieurs reprises en essayant un certain nombre de combinaisons incluses dans un « dictionnaire » précompilé, ou une liste de combinaisons.,

c’est généralement plus rapide qu’une attaque par force brute car les combinaisons de lettres et de chiffres ont déjà été calculées, ce qui vous fait gagner du temps et de la puissance de calcul.

Mais si le mot de passe est suffisamment complexe (par exemple 1098324ukjbfnsdfsnej) et n’apparaît pas dans le « dictionnaire » (la liste précompilée des combinaisons à partir desquelles vous travaillez), l’attaque ne fonctionnera pas.

Il est souvent réussi parce que, souvent, lorsque les gens choisissent des mots de passe, ils choisissent des mots communs ou des variantes de ces mots (par exemple, « mot de passe » ou « P@SSword »).,

un pirate peut également utiliser ce type d’attaque lorsqu’il connaît ou devine une partie du mot de passe (par exemple, le nom d’un chien, les anniversaires d’enfants ou un anniversaire – informations qu’un pirate peut trouver sur les pages de médias sociaux ou d’autres ressources open source).

des mesures de protection similaires à celles décrites ci-dessus contre les attaques par force brute peuvent empêcher ces types d’attaques de réussir.

Que faire si vous avez déjà une liste de mots de passe hachés?,

Les mots de passe sont stockés dans le fichier /etc/shadow Pour Linux et C:\Windows\System32\config fichier pour Windows (qui ne sont pas disponibles pendant le démarrage du système d’exploitation).

Si vous avez réussi à obtenir ce fichier, ou si vous avez obtenu un hachage de mot de passe d’une manière différente, par exemple en reniflant le trafic sur le réseau, vous pouvez essayer le craquage de mot de passe « hors ligne ».

alors que les attaques ci-dessus nécessitent d’essayer à plusieurs reprises de vous connecter, si vous avez une liste de mots de passe hachés, vous pouvez essayer de les déchiffrer sur votre machine, sans déclencher d’alertes générées par des tentatives de connexion échouées répétées., Ensuite, vous n’essayez de vous connecter qu’une seule fois, après avoir réussi à déchiffrer le mot de passe (et donc aucune tentative de connexion n’a échoué).

Vous pouvez utiliser des attaques par force brute ou des attaques par dictionnaire contre les fichiers de hachage, et peuvent réussir en fonction de la force du hachage.

attendez une minute – qu’est-ce que le hachage?

35d4ffef6ef231d998c6046764bb935d

reconnaître ce message? Il dit « Salut mon nom est megan »

7DBDA24A2D10DAF98F23B95CFAF1D3AB

celui-ci est le premier paragraphe de cet article. Oui, cela ressemble à un non-sens, mais c’est en fait un « hachage ».,

Une fonction de hachage permet à un ordinateur d’entrer une chaîne (une combinaison de lettres, de chiffres et de symboles), de prendre cette chaîne, de la mélanger et de sortir une chaîne de longueur fixe. C’est pourquoi les deux chaînes ci-dessus sont de la même longueur, même si les entrées des chaînes étaient de longueurs très différentes.

Hachages peuvent être créés à partir de presque n’importe quel contenu numérique. Fondamentalement, tout le contenu numérique peut être réduit à binaire, ou une série de 0s et 1s. par conséquent, tout le contenu numérique (images, documents, etc.) peut être haché.,

Il existe de nombreuses fonctions de hachage différentes, dont certaines sont plus sécurisées que d’autres. Les hachages ci-dessus ont été générés avec MD5 (MD signifie « Message Digest »). Différentes fonctions diffèrent également par la longueur du hachage qu’elles produisent.

Le même contenu dans la même fonction de hachage produira toujours le même hash. Cependant, même un petit changement modifiera entièrement le hachage. Par exemple,

2ff5e24f6735b7564cae7020b41c80f1

est le hachage pour ‘Salut mon nom est Megan’ juste en capitalisant le M dans Megan a complètement changé le hachage d’en haut.,

les hachages sont également des fonctions à Sens Unique (ce qui signifie qu’ils ne peuvent pas être inversés). Cela signifie que les hachages (uniques et unidirectionnels) peuvent être utilisés comme type d’empreinte numérique pour le contenu.

Quel est un exemple de la façon dont les hachages sont utilisés?

les hachages peuvent être utilisés pour vérifier qu’un message n’a pas été modifié.

lorsque vous envoyez un e-mail, par exemple, vous pouvez hacher l’e-mail entier et envoyer le hachage également. Ensuite, le destinataire peut exécuter le message reçu via la même fonction de hachage pour vérifier si le message a été falsifié en transit., Si les deux hachages correspondent, le message n’a pas été modifié. S’ils ne correspondent pas, le message a été modifié.

de plus, les mots de passe sont généralement hachés lorsqu’ils sont stockés. Lorsqu’un utilisateur saisit son mot de passe, l’ordinateur calcule la valeur de hachage et la compare à la valeur de hachage stockée. De cette façon, l’ordinateur ne stocke pas les mots de passe en clair (donc un pirate curieux ne peut pas les voler!).

Si quelqu’un est capable de voler le fichier de mot de passe, les données sont inutiles car la fonction ne peut pas être inversée (bien qu’il existe des moyens, comme les tables arc-en-ciel, de comprendre quel texte en clair crée le hachage connu).,

Quel est le problème avec les hachages?

Si un hachage peut prendre des données de n’importe quelle longueur ou contenu, il y a des possibilités illimitées pour les données qui peuvent être hachées.

étant donné qu’un hachage convertit ce texte en un contenu de longueur fixe (par exemple, 32 caractères), il existe un nombre fini de combinaisons pour un hachage. C’est un très très grand nombre de possibilités, mais pas infini.

finalement, deux ensembles de données différents donneront la même valeur de hachage. Cela s’appelle une collision.,

Si vous avez un hachage et que vous essayez de parcourir toutes les valeurs de texte en clair possibles pour trouver le texte en clair qui correspond à votre hachage, ce sera un processus très long et très difficile.

cependant, que se passe-t-il si vous ne vous souciez pas des deux hachages qui entrent en collision?

c’est ce qu’on appelle le « problème d’anniversaire » en mathématiques. Dans une classe de 23 étudiants, la probabilité que quelqu’un ait un anniversaire un jour donné est d’environ 7%, mais la probabilité que deux personnes partagent le même anniversaire est d’environ 50%.,

le même type d’analyse peut être appliqué aux fonctions de hachage afin de trouver deux hachages quelconques qui correspondent (au lieu d’un hachage spécifique qui correspond à l’autre).

pour éviter cela, vous pouvez utiliser des fonctions de hachage plus longues telles que SHA3, où la possibilité de collisions est plus faible.

Vous pouvez essayer de générer vos propres fonctions de hachage pour SHA3 ici et MD5 ici.

Vous pouvez essayer les hachages par force brute, mais cela prend beaucoup de temps. Le moyen le plus rapide de le faire est d’utiliser des tables arc-en-ciel pré-calculées (qui sont similaires aux attaques par dictionnaire).

Il semble vraiment facile de se faire pirater., Devrais-je m’inquiéter?

la chose la plus importante à retenir sur le piratage est que personne ne veut faire plus de travail qu’il n’en a à faire. Par exemple, le forçage Brutal des hachages peut être extrêmement long et difficile. S’il existe un moyen plus simple d’obtenir votre mot de passe, c’est probablement ce qu’un acteur néfaste essaiera en premier.

cela signifie que l’activation des meilleures pratiques de cybersécurité de base est probablement le moyen le plus simple d’éviter d’être piraté. En fait, Microsoft a récemment signalé que le simple fait d’activer 2FA finirait par bloquer 99,9% des attaques automatisées.,

Additional Reading:

Popular password cracking tools