Cet article a été publié pour la première fois sur ITK SECURITY.

Dernière mise à jour il y a 1 an par Patrick Ruppelt

Temps de lecture : 8 minutes

Avec les bons outils, le craquage d'un fichier PDF ou ZIP protégé par un mot de passe ne prend généralement que quelques secondes. Un fait dont les banques, les médecins et de nombreux autres organismes publics ne sont souvent pas conscients.

Ce que les banques entendent par "sûr".

Les données sensibles ne devraient pas être échangées par e-mail. C'est bien connu. Il existe de bien meilleures possibilités, comme par exemple les espaces de données numériques. Nous en proposons à nos clients sur nos propres serveurs dans notre centre de données, où chaque fichier est crypté et où les méthodes courantes de "craquage" des mots de passe ne sont pas possibles. Pour ne citer qu'une technique très simple, par exemple parce que tu es bloqué après trois tentatives infructueuses. Comme souvent, il y a un "hic" : ces systèmes coûtent de l'argent. La sécurité n'est pas gratuite.

Malheureusement, de nombreux prestataires de services, dont on pourrait attendre autre chose, sont encore d'un autre avis. Les banques, par exemple.

Une erreur très répandue ici est que la protection d'un fichier par un mot de passe fait que seule la personne qui possède le mot de passe peut ouvrir le fichier. C'est très populaire pour les fichiers PDF et les archives ZIP (je pense à une lettre INI de la banque), mais la protection par mot de passe est aussi souvent utilisée pour les fichiers Word ou les fichiers ZIP compressés.

Avec un mot de passe complexe, c'est tout à fait sûr, mais pas si un simple code postal à cinq chiffres est utilisé comme mot de passe, comme c'est souvent le cas dans les banques. Comme le montre un exemple simple, il est faux de croire que cela est sûr.

La structure du test

Pour mon test, j'ai créé un fichier PDF et je l'ai crypté avec le simple mot de passe 'test'. Dans la vue du fichier, il ne se distingue pas visuellement d'un fichier PDF ordinaire sans cryptage. Tout ordinateur courant peut ouvrir le fichier, l'imprimer, etc.

Vue du fichier test dans le navigateur de fichiers (sur mon ordinateur système Linux, mais aurait l'air similaire sur des ordinateurs Windows ou Mac)

En essayant d'ouvrir le fichier, l'utilisateur reçoit une demande de mot de passe. Sans cela, le fichier ne peut pas être ouvert :

Demande de mot de passe en essayant d'ouvrir le fichier test PDF

Procédure pour craquer le mot de passe

Cet article vise seulement à illustrer à quel point il est facile de craquer un tel mot de passe avec les bons outils. Nous ne donnons pas de conseils sur la manière de faire du "hacking". C'est pourquoi certaines parties des commandes nécessaires ont été masquées.

Je ne veux pas inciter quelqu'un à faire des bêtises, mais seulement attirer l'attention sur le problème en tant que tel, afin de le sensibiliser.

La procédure est aussi simple qu'efficace. J'utilise maintenant mon ordinateur portable pour essayer d'ouvrir le fichier en boucle. Chaque fois que le fichier demande le mot de passe, je lui donne un mot de passe généré automatiquement.

Tout d'abord, des mots du dictionnaire sont utilisés. Cela explique aussi pourquoi il est toujours conseillé de ne pas utiliser de vrais mots ou même des noms comme mots de passe.

Si aucun de mes mots de passe, testés automatiquement à partir de dictionnaires, n'est réussi, on passe à l'attaque dite "brute force". Ici, tous les mots de passe imaginables ou possibles sont simplement essayés. Donc d'abord tout de a à Z, puis aa, ab, ac, ad, ... etc. ainsi que des lettres, des chiffres et des combinaisons de caractères spéciaux. Il faut bien que ce soit un mot de passe, donc en essayant, tu es sûr de trouver un mot de passe qui fonctionne.

Le test pratique à l'exemple

Techniquement, cela ressemble à ceci :

Programme d'essai des mots de passe lancé

Le seul facteur limitant est la puissance de calcul dont je dispose. La puissance du processeur atteint 100% sur le seul noyau sur lequel je fais tourner le programme. Si je veux faire cela à grande échelle, je répartis la charge sur les huit processeurs existants. Mon ordinateur portable pourrait ainsi tester environ 370 000 mots de passe par seconde ( !).

Utilisation du processeur pendant le "cracking" du mot de passe

Un peu de mathématiques

Pour ce test simple, un cœur de processeur me suffit. En environ 1,5 minute, le mot de passe correct a été trouvé par tâtonnement.

Résultat du craquage de mot de passe "brute force" via un fichier PDF protégé par un mot de passe

Et cela explique aussi pourquoi il est recommandé d'éviter les mots de passe particulièrement courts.

Imaginons un jeu de caractères d'éléments de mot de passe autorisés :

  • 26 lettres : a à z (minuscules)
  • 26 lettres : A à Z (lettres majuscules)
  • 7 trémas et S aigu : ä, ö, ü, Ä, Ö, Ü, ß
  • 19 Caractères spéciaux : . , - _ ; : ! " § $ % & / ( ) = ? # + *

Cela donne exactement 78 possibilités valables pour chaque caractère. Cela signifie qu'il y a mathématiquement, pour un

  • Mot de passe à 1 chiffre seulement 78 possibilités,
  • Mot de passe à 2 chiffres 78^2 = 6 084 possibilités,
  • Mot de passe à 3 chiffres 78^3 = 474 552 possibilités,
  • Mot de passe à 4 chiffres 78^4 = 37 015 056 possibilités,
  • Mot de passe à 5 chiffres 78^5 = 2.887.174.368 possibilités,
  • Mot de passe à 6 chiffres 78^6 = 225.199.600.704 possibilités, etc.

Il est facile de voir que la complexité et les mots de passe possibles à essayer augmentent considérablement avec chaque position supplémentaire du mot de passe.

Conclusion

Néanmoins, cela ne change rien pour le craquage des mots de passe, sauf le facteur temps. Là où mon ordinateur portable ne prend pas plus de deux minutes pour quatre chiffres, nous parlons de plusieurs heures pour quelques chiffres de plus. Avec suffisamment de puissance de calcul et/ou de temps, je peux quand même craquer n'importe quel mot de passe et je n'ai rien d'autre à faire que d'attendre que mon automatisme me donne le bon mot de passe. La seule solution est d'avoir un mot de passe suffisamment complexe, mais pour lequel il faudrait alors trouver une méthode automatisée pour être sûr.

C'est pourquoi le cryptage manuel des fichiers n'est pas considéré comme sûr et n'est pas recommandé pour l'envoi de documents sensibles par e-mail par exemple.

Contexte juridique

En cas de "craquage" de mots de passe, il faut absolument tenir compte du cadre légal. Le contournement intentionnel des mécanismes de protection est généralement punissable. Dans ce contexte, nous recommandons la lecture du document suivant l'article correspondant de Verlags für Rechtsjournalismus GmbH lié ici1).

Répertoire des sources

↑1https://www.passwort-generator.com/passwort-knacken/