DEFCON 17. Piratage de 400 000 mots de passe, ou comment expliquer à un colocataire pourquoi la facture d'électricité a augmenté. Partie 1Si vous ne suivez aucune règle pour créer des mots de passe, le mot de passe peut ressembler à une simple liste
PHP . Les gens détestent les règles, détestent les phrases et ne veulent pas les utiliser. Si vous leur donnez la liberté, ils imprimeront n'importe quel mot de passe et supposeront que le travail est terminé. Dans ce cas, il est plus sûr de ne pas utiliser de mots de base simples, il est donc préférable d'utiliser de gros dictionnaires d'entrée.

Sebastian Ravo a apporté la plus grande contribution à la création de dictionnaires d'entrée - il a créé d'énormes listes de mots à partir de chaque article de Wikipédia, ainsi que de projets similaires. Si vous connaissez un mot, vous créez un article Wikipedia pour lui. Mais ce qui est bon pour Wikipedia n'est pas toujours bon pour créer des mots de passe sécurisés, donc si le dictionnaire est vraiment énorme, il est impossible de lui appliquer de nombreuses règles différentes. Vous pouvez lire la liste des mots de Wikipédia sur son blog
http://blog.sebastien.raveau.name/ .
S'il existe une politique de création de mot de passe, vous devez être guidé par les règles suivantes:
il est préférable d'utiliser de petites listes de mots thématiques et spécialisées dans les dictionnaires,
Les meilleurs dictionnaires sont basés sur des mots de passe précédemment piratés.
Pour des raisons de confidentialité, je ne peux pas vous fournir une liste de mots de passe piratés, mais croyez-moi, tout comme une personne riche s'enrichit, un mot de passe piraté devient plus fort si vous voyez où l'erreur a été commise lors de sa création et corrigez-la.
Il existe des listes de ces mots de passe, et nous pouvons voir que les mêmes utilisateurs sont répétés dans ces listes car ils ont utilisé le même mot de passe partout.
Il sera utile de pouvoir extraire la base de ces mots de passe. Par exemple,
le mot de passe
TigerWoods1982 ne devrait pas être trop répandu, mais les gens utilisent constamment
le mot de passe
TigerWoods . Par conséquent, vous pouvez extraire cette phrase de base
«TigerWoods» pour créer un mot de passe
fort basé sur elle. Il y a quelques outils sur mon CD qui vous aideront à rendre cela beaucoup plus facile.
Les règles de création de mots pour les mots de passe sont très simples:
Cependant, vous devrez développer vos propres règles si vous voulez casser des mots de passe vraiment forts. Sur mon
CD, il y a un autre outil qui vous permet d'analyser les mots de passe en 2 ensembles différents.
Le premier est les mots de passe, dont nous savons comment ils ont été créés, par exemple,
password123 , et le second sont les mots de passe, dont nous ne connaissons pas le principe. C'est très bien, car vous n'avez pas besoin de trier 200 000 mots de passe comme
password123 , puis d'essayer de trouver de nouvelles règles pour les utiliser. Vous recevrez une courte liste à partir de laquelle vous pourrez voir, par exemple, que les gens utilisent des emojis pour créer des mots de passe en insérant des émoticônes dans les mots. Vous apprendrez de nouvelles combinaisons de touches et cela vous aidera à créer des mots de passe forts beaucoup plus facilement.
Comme je l'ai dit, j'ai décidé de m'éloigner des règles
JtR intégrées et j'ai développé ma propre façon de générer des «suppositions». De bons résultats proviennent de la méthode de
fissuration probabiliste, la fissuration probabiliste . J'ai déjà dit que nos réactions sont universelles: nous traversons quelque chose avec nos yeux, hochons la tête, nous disons que ça a l'air génial, mais pour nous, nous pensons: "quelles ordures académiques!" Mais je veux dire que nous voulions vraiment apprendre à créer les mots de passe les plus résistants au cracking, nous avons donc essayé de tout faire de la meilleure façon.
On sait que certains mots sont plus appréciés des gens que d'autres, par exemple
mot de passe ,
singe ,
football . Il est également connu que les gens préfèrent certaines règles pour «déformer» les mots de passe en ajoutant 123, 007, $$$ ou les premières lettres majuscules des mots. Afin d'augmenter la force, nous devons optimiser les règles de création de mots de passe de manière inhabituelle. C'est un processus assez long. Dans le bulletin électronique de
John the Ripper , j'ai découvert la personne qui a créé 10 ou 12 000 fichiers de configuration de règles
JtR , essayant d'en
tirer le meilleur parti.

Je suis beaucoup plus paresseux que lui, donc je ne l'ai pas fait. J'ai juste essayé de faciliter l'optimisation du processus de création de mot de passe et d'automatiser le processus. Nous traitons toutes les informations et déterminons la probabilité d'utiliser certains mots et combinaisons, c'est-à-dire que nous classons les mots de passe selon la probabilité de deviner. Et puis nous utilisons la combinaison la moins probable de mots et de «distorsions» pour créer un mot de passe. Voici donc ce que nous devrions essayer de renforcer nos mots de passe:
- utiliser un mot courant avec une manière non courante de déformer le mot de passe, par exemple 13! password13!;
- utilisez un mot rare avec une "distorsion" courante, par exemple, zibra123.
Avec cette méthode, nous avons réussi. Si vous ne pouvez pas diviser les mots de passe en deux ensembles selon les signes mentionnés ci-dessus, nous avons un programme de formation qui analyse automatiquement la liste des mots de passe connus et génère ce que nous appelons une «grammaire». Cette «grammaire» contient toutes les informations nécessaires, nous utilisons donc deux de ces «grammaires» pour étudier les possibilités de cracker les mots de passe.
Grâce à cela, nous déterminons la probabilité d'utiliser tout ce que nous avons: mots dans les dictionnaires, règles pour «déformer» les mots dans les mots de passe, algorithmes pour organiser les caractères comme «deux chiffres à la fin du mot de passe 12», contrairement à ce que vous pouvez utiliser la règle «deux chiffres à la fin du mot de passe 21 ", etc.
Je peux continuer à en parler, mais je ferai mieux de vous montrer un bon exemple de la façon dont cela fonctionne. Je ne m'attends pas à ce que vous lisiez tout sur la diapositive, je vais donc vous dire ce que je vais faire. Je vais lancer notre cracker de mot de passe probabiliste et lui «nourrir» deux dictionnaires d'entrée différents. En fait, il prend en charge jusqu'à 10 dictionnaires, mais il vaut mieux ne pas devenir fou.

Un dictionnaire d'entrée contient les mots de passe les plus courants, il a donc une forte probabilité de deviner. Le deuxième dictionnaire contient les mots les moins courants et un pirate de mot de passe basculera entre les deux dictionnaires. Après cela, je «saler» le résultat directement dans
John the Ripper , parce que, comme je l'ai dit, je veux créer mon propre algorithme de hachage de mot de passe.
Malheureusement, nous ne pouvons pas utiliser la liste
PHP ici, encore une fois pour des raisons de confidentialité, car vous ne pouvez pas démontrer le piratage de mot de passe à tout le monde, notre institut ne reconnaît pas cela comme légal. Par conséquent, je vais démontrer le travail du pirate sur l'exemple de la liste
MySpace , qui a été divulguée il y a 2 ans. Tous les mots de passe qu'il contient ont été présentés en texte clair, vous pouvez donc les lire, et cette opération ne pose pas de danger supplémentaire.
Nous avons utilisé le hachage
MD5 , c'est exactement le même algorithme de hachage que celui utilisé pour la liste
phpbb , donc ici il simule largement une attaque sur
phpbb . Environ 17 000 hachages de mot de passe sans «zeste» ont été chargés ici, et nous avons en fait divisé leurs listes en plusieurs parties différentes pour l'apprentissage automatique typique.
En ce moment sur l'écran, vous pouvez voir la vitesse à laquelle les mots de passe sont piratés, vous devriez donc probablement utiliser un algorithme de hachage plus lent. Il y a aussi un changement entre différentes règles, donc ce ne sont pas seulement des tentatives comme «essayer 1 chiffre, essayer 2 chiffres» et ainsi de suite.
Vous voyez que les mots de passe sont de tailles différentes, généralement les gens utilisent une longueur de 6 à 8 caractères et parfois il y a des points d'exclamation à la fin du mot de passe.
Il existe plusieurs autres types d'optimisation que nous essayons d'intégrer dans cet algorithme, car notre travail est toujours en cours. L'une de ces choses est l'inclusion d'attaques ciblées dans le processus, alors qu'au lieu de casser un gros vieux mot de passe, le programme essaie de casser le mot de passe d'un utilisateur spécifique.

Tout ce dont vous avez besoin pour une attaque ciblée est d'utiliser un dictionnaire d'entrée différent, comme les noms de bébé, les anniversaires, les codes postaux, etc.
Vous voyez que le processus de piratage à l'écran a un peu ralenti, ce sont des fonctionnalités de conception, si le piratage est assez simple, le processus est accéléré. Mais comme il est basé sur un modèle probabiliste, les mots de passe les plus probables sont devinés plus rapidement et les mots de passe les moins probables sont fissurés un peu plus lentement, donc un plus grand nombre de "suppositions" sont utilisées ici.
Vous avez également remarqué que les mots de passe de cette liste sont généralement assez faibles. C'est parce que nous commençons juste une session de piratage de mot de passe et que nous ne voulons pas utiliser de mots de passe trop complexes ou avancés.
Si vous avez une stratégie de piratage dans laquelle vous avez l'intention d'attaquer uniquement les mots de passe forts, vous devez créer une liste appropriée basée sur ces mots de passe et démarrer la session avec le piratage uniquement des mots de passe forts.
Notre programme a donc terminé son travail. Le processus de piratage a pris 2 minutes 30 secondes, pendant lesquelles 5586 mots de passe ont été piratés ou devinés, ce qui représente un peu plus de 30% du nombre total.
Il y a cent raisons pour lesquelles je pense que la politique de création de mots de passe doit être modifiée, non pas parce que l'utilisation même des mots de passe est quelque chose de rétroactif et de stupide. C’est juste que je crois vraiment qu’ils font plus de mal que de bien à notre sécurité. Surtout si nous parlons d'attaques hors ligne auxquelles il est impossible de résister à moins que vous ne changiez votre mot de passe toutes les 2 minutes.
Maintenant, je veux parler de la technique d'attaque
Brute Force . Ces attaques peuvent vraiment faire beaucoup de dégâts si vous ne vous occupez pas de la défense.
Ils sont assez puissants, mais vous pouvez leur résister, il vous suffit d'utiliser votre cerveau. Pour ce faire, vous devez analyser la fréquence d'utilisation des lettres et des symboles pour savoir quelles lettres ou symboles sont rarement utilisés dans les mots de passe.

Vous en avez sûrement tous entendu parler, essayez par exemple d'utiliser la lettre Q plus souvent, ce qui est rare dans les mots de passe. Votre algorithme de piratage ne doit pas essayer de casser tous les mots de passe, vous devez vous concentrer sur les plus probables.
Une option plus «avancée» est
le modèle de Markov . Il est basé sur la probabilité conditionnelle des lettres, par exemple, si vous avez deux lettres Q d'affilée, vous êtes plus protégé que lorsque vous avez U dans votre jeu de lettres, car U suit généralement la lettre Q dans les mots. Il suppose également que le mot de passe est créé dans De manière «humaine», c'est-à-dire que si une certaine lettre se trouve à cet endroit du mot, elle est suivie d'une autre lettre, qui est le plus souvent utilisée dans une telle combinaison de lettres. Le modèle de Markov est utilisé par l'
algorithme de piratage
JtR , qui prend en compte que la lettre Q dans les «mots humains» est généralement suivie par U ou W, mais pas S ou Z. Ne pensez pas que j'ai du mal à vous obtenir le «John the Ripper» ici, mais c'est très bon programme.
Nous pouvons approfondir la logique de
Brute Force en utilisant des attaques ciblées. Ils sont basés sur l'utilisation de tels principes de création de mots de passe:
- les gens ont tendance à commencer le mot de passe par une majuscule;
- ils ajoutent généralement des chiffres à la fin du mot de passe;
- pour la même raison, ils aiment utiliser des combinaisons php ou phpbb dans les mots de passe.
Les mêmes principes peuvent être utilisés pour les «attaques par dictionnaire». Il existe un très bon outil pour vérifier l'efficacité des attaques appelé
«Crunch» , il se trouve sur le
forum des programmeurs
remote-exploit.com .
Je veux vous donner un exemple de briser un mot de passe «fort» en utilisant l'attaque
Brute Force . Pour ce faire, je lance d'abord
JtR et il commence à générer des «suppositions» basées sur des lettres minuscules en utilisant le modèle de Markov.

Vous voyez que dans cette liste, il y a beaucoup de vrais mots, tels que chien, sans étoile, marin, qui sont dans le dictionnaire d'entrée. Mais grâce au modèle de Markov, il génère également des mots qui manquent là, par exemple, stech. Mais puisque nous résolvons un mot de passe fort, nous devons appliquer une logique supplémentaire. Par conséquent, j'utilise des scripts qui fournissent une majuscule au début d'un mot et ajoutent également des caractères spéciaux et des chiffres à la fin d'un mot.

Comme vous pouvez le voir, ces «suppositions» ressemblent à un vrai mot de passe fort. Maintenant que vous connaissez la politique de création de mot de passe, vous devez cliquer sur le bouton «désactiver la paresse» et passer 5 minutes pour donner à ces mots une certaine taille, car ils semblent trop courts.
Nous pouvons également essayer de tout télécharger sur
JtR et essayer de casser les hachages.

Au début de la présentation, j'ai parlé en détail de briser la liste des mots de passe pour les utilisateurs de
phpbb.com , et maintenant je veux parler un peu de briser la liste des
Web Hosting Talk .

Il a été piraté le 21 mars 2009, au moins à ce moment-là, une liste a été publiée sur le réseau, et l'attaquant s'est avéré être un véritable scélérat, car il a placé dans le domaine public environ 200000 connexions et mots de passe et autres informations confidentielles sur les utilisateurs. Il a volé des hachages, puis supprimé le site lui-même et toutes les sauvegardes. Ce fut un coup dur pour l'administrateur système.

Après cela, les propriétaires du site ont signalé qu'ils avaient été piratés, mais les utilisateurs n'ont pas à s'inquiéter, car maintenant ils sont en sécurité. En même temps, ils ont exprimé une pensée, qui était en fait trompeuse et dangereuse, je cite les mots du coordinateur de la communauté
iNET : «Les mots de passe ont du« zeste », et ce sera un événement sans précédent si quelqu'un peut les repenser. Je change périodiquement mon mot de passe, alors peut-être qu'aujourd'hui est un bon jour pour cela. "
On dirait que je dis: "bonjour les gars, vous savez, la salle de copie est allumée, mais ne vous inquiétez pas, il y a un système d'extinction d'incendie là-bas, donc il est absolument impossible que ce bâtiment brûle jusqu'au sol." Mais parfois, j'aime sortir dehors à l'heure du déjeuner, vous pouvez donc aussi marcher dehors si vous le souhaitez. » C'est l'une des raisons pour lesquelles j'ai décidé de pirater cette liste ici.
En outre, le coordinateur a publié la déclaration suivante: "Pas une seule carte de crédit d'utilisateur ou
un compte
PayPay n'a été piraté." Probablement uniquement parce que le pirate n'en avait pas besoin. Et puis il y a eu un nouvel échec - le même site a de nouveau été piraté par le même pirate le 7 avril, et cette fois il a publié sur le réseau environ 202 mille hachages de mots de passe et 2218 numéros de carte de crédit.
Je n'irai jamais sur le site dont l'administration dit: "Oui, deux mille cartes de crédit nous ont été volées, mais les autres sont en sécurité"!
Je veux clarifier un peu la situation. Pirater des gens est un fait, et je ne veux pas blâmer
Web Hosting Talk pour cela . Essayer d'enregistrer et d'extraire quelque chose de votre système immédiatement après qu'il a été piraté est un problème difficile, surtout si les utilisateurs vous ont demandé à plusieurs reprises de sauvegarder le système. Par conséquent, je pense que le principal problème avec
Web Hosting Talk est qu'ils minimisent les risques auxquels sont confrontés leurs utilisateurs. Et agir de leur part était très dangereux.
Parce que vous, au moins, devez fournir aux utilisateurs quelque chose comme une horloge qui indique la nécessité de se connecter et de changer votre mot de passe, et pas seulement pour ce site, mais pour tous les autres sites, aussi rapidement que possible. C'est très important, car j'ai vite découvert un fait intéressant sur ce site: après la première attaque, 1348 utilisateurs ont changé de mot de passe, ce qui ne représente que 0,6% du nombre total enregistré sur le site!
C'est pourquoi le pirate a eu une excellente occasion de revenir et de pirater à nouveau le site en utilisant les mêmes informations d'identification utilisateur inchangées, ou même de les utiliser pour pirater d'autres sites où ils étaient également enregistrés.
Je voulais savoir si le hachage de ce site était vraiment si faible, et je me suis tourné vers
Google pour savoir quel logiciel le site utilise. Il s'est avéré qu'il s'agit d'un moteur de forum
vBulletin , écrit en
PHP et utilisant le serveur
MySQL pour maintenir sa base de données. Google a également répondu à la question de l'algorithme de hachage utilisé par ce site - il s'agit du double hachage comme
MD5 (MD5 (Password) .salt) . C'est-à-dire que vous prenez le mot de passe de l'utilisateur, le hachez en utilisant
MD5 et encore une fois hachez le hachage de mot de passe reçu en utilisant le même
MD5 . Je ne savais pas comment «John the Ripper» gérerait un tel hachage, alors j'ai écrit mon propre «cracker». Mais je n'ai pas essayé de déchiffrer les vrais mots de passe de ce site, car cela prendrait plusieurs semaines, j'ai juste décidé de tester la présence du mot de passe «mot de passe» dans la liste et j'ai immédiatement piraté 1109 personnes qui ont utilisé le mot «mot de passe» comme mot de passe.

Je veux dire que la "surbrillance" dans le mot de passe devient vraiment un problème pour l'attaquant et est donc importante pour l'utilisateur. Je continue à «annoncer» des mots de passe avec différents «zestes» car pour un pirate, cela signifierait avoir à «deviner» le hachage de chaque mot de passe pour chaque utilisateur individuel. Si nous prenons le site
phpbb , par exemple, où le hachage en une étape MD5 a été utilisé, le pirate informatique a passé environ 1 heure à déchiffrer la liste des mots de passe. Pour une telle attaque sur la liste des mots de passe de
Web Hosting Talk , s'ils étaient protégés par "zeste", cela prendrait 200 mille heures.
Que faut-il dire d'autre?
Comme vous le savez, j'ai passé près d'une semaine avec mon ordinateur Dell à pirater 34% des hachages de 200 000 utilisateurs de phpbb . De plus, la plupart de ces mots de passe figuraient dans la liste des mots de passe déjà piratés d'autres sites, et ils n'utilisaient pas de «distorsion». Dites-moi, connaissez-vous des gens qui utilisent le même mot de passe sur plusieurs sites? Je pense que oui., «» , - , , , «». , , 200 , . , «admin» «webmaster».
, , . , , «», , .
, weir@cs.fsu.edu
- , .
: , «It's fun to try the impossible»! : «!!It's fun to try the impossible!» «!!ifttti!».
,
Mad Libs , .
: ASCII, :

Merci de rester avec nous. Aimez-vous nos articles? Vous voulez voir des matériaux plus intéressants? Soutenez-nous en passant une commande ou en le recommandant à vos amis, une
réduction de 30% pour les utilisateurs Habr sur un analogue unique de serveurs d'entrée de gamme que nous avons inventés pour vous: Toute la vérité sur VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbps à partir de 20 $ ou comment diviser le serveur? (les options sont disponibles avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de DDR4).
VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbit / s jusqu'en décembre gratuitement en payant pour une période de six mois, vous pouvez commander
ici .
Dell R730xd 2 fois moins cher? Nous avons seulement
2 x Intel Dodeca-Core Xeon E5-2650v4 128 Go DDR4 6x480 Go SSD 1 Gbps 100 TV à partir de 249 $ aux Pays-Bas et aux États-Unis! Pour en savoir plus sur la
création d'un bâtiment d'infrastructure. classe utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou?