PROJET AUTOBLOG


Zythom

source: Zythom

⇐ retour index

Casser les mots de passe de ses utilisateurs avec le plus gros dictionnaire français du monde

dimanche 6 avril 2025 à 16:19

En tant que responsable de la sécurité des systèmes d’information de mon entreprise, j’ai plusieurs missions, dont celle de la sensibilisation à la sécurité informatique de mes utilisateurs. Pour cela, j’utilise plusieurs approches : les messages de sensibilisation (phishing, ransomware, etc.), les messages opportunistes lorsqu’une crise (chez les autres) est médiatisée, les vidéos de sensibilisation, les interventions dans les services, auprès du COMEX, etc.

Je fais intervenir des sociétés spécialisées dans les attaques éthiques, pour aller plus vite et pour avoir un regard externe, regard externe qui est souvent mieux perçu que celui du local de l’étape. Mais je mène parfois des audits internes moi-même. Voici un retour d’expérience que je partage avec vous, parce que cela illustre (pour les jeunes) l’un des aspects de la cybersécurité, et parce que cela peut peut-être aider un ou deux RSSI débutants qui passeraient par là, sait-on jamais.

Je précise que la méthode que je présente ici n’est qu’une des nombreuses méthodes existantes.

1ère étape : Récupérer la base de données des utilisateurs

Dans l’environnement de mon entreprise, comme c’est souvent le cas, les comptes des utilisateurs sont gérés par Microsoft Active Directory. Problème, il faut des droits particuliers pour pouvoir accéder à la base de données des utilisateurs. Or, le RSSI que je suis ne dispose pas de droits permettant cet accès…

Il m’a donc fallu contourner le problème : je suis passé par la console de gestion de mon antivirus++ que l’on appelle un EDR. En effet, la console de gestion de mon EDR me permet d’exécuter des commandes sur toutes les machines sur lesquelles cet EDR est installé.

Je me suis donc connecté sur un contrôleur de domaine secondaire pour y ouvrir un terminal particulier via la console EDR et j’ai exécuté la commande suivante :

ntdsutil "ac i ntds" "ifm" "create full c:\temp\SSI" quit quit

Cette commande crée une copie des fichiers NTDS.dit et SYSTEM qui contiennent toutes les informations utiles pour moi et les place dans le répertoire c:\temp\SSI du contrôleur de domaine. J’ai ensuite compressé ce répertoire dans une archive avec mot de passe. Puis j’ai supprimé tout le contenu de ce répertoire, par sécurité.

Problème : ma console EDR ne me permet pas de télécharger le fichier c:\temp\SSI.7z car il dépasse la taille autorisée… Il m’a donc fallu demander un peu d’aide : j’ai attendu 24h puis j’ai ouvert un ticket de demande de récupération du fichier SSI.ZIP au support informatique à partir des sauvegardes quotidiennes de cette machine. C’est passé crème.

Attention, le fait d’avoir mis les fichiers NTDS.dit et SYSTEM dans une archive avec mot de passe permet de garantir la confidentialité de ces données, surtout qu’elles se sont trouvées dans plusieurs sauvegardes, sur l’ordinateur de l’ingénieur qui a traité ma demande ET sur mon propre ordinateur…

2e étape : Constitution du plus gros dictionnaire de mots français du monde

J’ai déjà évoqué sur ce blog en détail comment j’ai eu l’idée d’utiliser tout le contenu du site Wikipédia français. Vous trouverez le résumé dans le billet intitulé « Dictionnaire français pour hashcat« , et le détail technique sur mon dépôt GitHub

Voici les commandes utilisées :

wget https://dumps.wikimedia.org/frwiki/latest/frwiki-latest-pages-articles-multistream.xml.bz2
bzcat frwiki-latest-pages-articles-multistream.xml.bz2 | tr "\040\041\042\043\044\045\046\047\050\051\052\053\054\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\133\134\135\136\137\140\173\174\175\176" "\n" > toto
cat toto | tr -s "\n" | awk '!x[$0]++' | sort > wikipedia.fr.txt

Voir aussi dans ce billet l’explication de la commande awk utilisée.

Le fichier wikipedia.fr.txt ainsi obtenu contient plus de 29 millions de mots, incluant tous les mots de la langue française, mais aussi les noms de lieux ou lieux dits, les prénoms, les noms de famille, les mots surannées, le jargon de toutes les professions, les mots d’argots ou de patois, les sigles, les marques, beaucoup de mots latins ou en grec ancien, et des mots en d’autres langues courantes (anglais, allemand…) ou moins courantes (breton, corse, leetspeak…).

Bref, vous voici avec un fichier quasi parfait pour une attaque par dictionnaire.

3e étape : Préparer une machine de calcul

Pour craquer des mots de passe par une attaque par dictionnaire, il est préférable d’utiliser une machine performante. Dans mon cas, mon entreprise ne me donne pas accès à une telle machine, mais mon radiateur oui.

Les lecteurs de ce blog savent que je me suis fabriqué un radiateur qui me chauffe l’hiver tout en minant des cryptomonnaies. Ceux qui veulent en savoir plus peuvent lire ce billet. L’hiver étant fini, j’ai une machine disponible avec plusieurs cartes GPU (anciennes). Mais une machine de gamer actuelle suffirait.

La machine est sous Windows, avec WSL, mais une machine GNU/Linux serait aussi bien quand on maîtrise bien l’installation des drivers des cartes graphiques.

J’ai ensuite installé hashcat par le cassage des mots de passe, VeraCrypt pour garder en sécurité à l’abri des regards tous les fichiers et mots de passe découverts et le packet Impacket pour utiliser le script Python secretsdump.py que j’installe dans WSL.

Enfin, je récupère la règle OneRuleToRuleThemAll que je place dans le répertoire « rules » de hashcat.

4e étape : A L’ATTAAAAQUE

Je décompresse mon fichier SSI.7z protégé par mot de passe, dans mon containeur sécurité VeraCrypt et récupère le fichier NTDS.dit et SYSTEM

J’exécute ensuite la commande suivante dans WSL sous Windows :

secretsdump.py LOCAL -ntds NTDS.dit -system SYSTEM -outputfile hash.txt

Le fichier hash.txt contient les mots de passe de mes utilisateurs, chiffrés sous forme de hashs. Je peux enfin lancer la commande suivante :

hashcat -m 1000 -a 0 -w 1 hash.txt wikipedia.fr.txt -r rules/OneRuleToRuleThemAll.rule

Je peux laisser la machine travailler, et quatre heures après, j’ai cassé environ 10% des mots de passe de mes utilisateurs.

Conclusions

Il y a beaucoup de choses à dire, et sans doute beaucoup de monde à son avis sur le sujet, mais voici les actions que j’ai menées suite à la découverte (en quelques heures) de 10% des mots de passe de mes utilisateurs :

Si vous avez des réactions constructives à ce billet, n’hésitez pas à laisser un commentaire.

Une histoire d’onduleurs

mercredi 5 mars 2025 à 15:16

Un jour, j’ai été missionné comme expert judiciaire par un magistrat sur un dossier de litige entre une entreprise et son fournisseur d’onduleurs. L’affaire semblait plutôt simple. La salle serveurs de l’entreprise était maintenue sous tension par un groupe d’onduleurs, eux-mêmes alimentés par un groupe électrogène. Un matin, les salariés ont trouvé les serveurs éteints. En essayant de les redémarrer, ils n’ont pu que constater que les onduleurs n’étaient plus opérationnels. Le litige avec le fournisseur des onduleurs, qui assurait également leur entretien, commence là.

J’ai accepté la mission, j’ai contacté les avocats et les parties concernées pour trouver une date de première réunion d’expertise, et le jour J me voilà sur place pour étudier les pièces du dossier et les lieux.

La salle serveurs est plutôt grande pour ce type d’entreprise, les onduleurs dysfonctionnels ont été laissés sur place à côté de leurs remplaçants. J’analyse sur pièce et sur place l’ensemble du système et tout semble bien dimensionné.

Mon problème est que le magistrat a indiqué dans les missions qu’il faut que je découvre la cause du dysfonctionnement. Un sous-dimensionnement ou un manque d’entretien aurait pu être la cause de la panne mais ce n’est pas le cas ici. La journée d’expertise se passe et je collecte le plus d’informations possibles en plus des copies des dossiers des parties. Une date est prise pour une deuxième réunion dans deux mois, premier créneau disponible pour tout le monde. Je rentre chez moi dubitatif.

Il y a beaucoup de causes possibles pour qu’un onduleur tombe en panne : surcharge, surtension, problème de batteries, de composants, une surchauffe, une humidité excessive, etc. Mais mon problème ici est que tout le groupe d’onduleurs est devenu dysfonctionnel, que la maintenance est régulière, que les équipements sont récents, que les locaux sont adaptés et l’alimentation électrique stable.

Il va falloir démonter et analyser l’intérieur des onduleurs. Et pour cela, je vais devoir m’adjoindre les services d’un sapiteur, ce qui est toujours une complexité dans la procédure. Mais je dois me rendre à l’évidence, c’est le moyen le plus efficace pour résoudre cette énigme. Je trouve un technicien pointu sur ce type d’onduleur et lui propose d’intervenir à la date de la prochaine réunion d’expertise.

Parmi mes hypothèses de cause possibles de cette panne, la surtension arrive en bonne position. Problème : comment savoir si une surtension électrique a eu lieu sur le réseau de transport d’électricité d’EDF, géré par sa filiale RTE ? Je me doute bien que ce réseau est supervisé par des sondes qui gardent un historique, mais comment accéder à cette information ? Mes contacts chez EDF se limitent à mon réseau familial et professionnelle et tous travaillent dans des bureaux parisiens loin du terrain…

Je me dis qu’un coup de foudre sur un pylône peut donner lieu à une surtension, mais qui contacter pour savoir si la foudre est tombée telle nuit, il y a six mois ? Je ne connais personne dans mon cercle de contacts qui saurait répondre à cette question précise…

Je pense alors à la presse quotidienne régionale. Mon beau père est abonné à un titre papier et je sais qu’il garde beaucoup de ses exemplaires. Lorsque je passe le voir, je lui demande les exemplaires publiés ce jour là et les jours suivants. J’ai de la chance, il les a gardé et je commence à les feuilleter. Rien…

J’emmène les exemplaires du journal en lui promettant d’en prendre soin et de les lui ramener, et une fois chez moi, je lis chaque page sur les affaires locales à la recherche d’une piste. Et bingo !

Ceux qui suivent ce blog depuis longtemps, ont peut-être lu ce billet de 2013 intitulé « l’incendie » où je raconte un événement qui m’avait bien secoué en tant que responsable technique : l’incendie du poste de transformation électrique de mon entreprise pendant un dimanche d’été mémorable ; allez le (re)lire, j’ai appris beaucoup de choses ce jour là, dont la part de chance que j’ai eu.

Et en lisant les journaux gardés par mon beau père, je vois que la fameuse nuit où les onduleurs ont rendu l’âme, un transformateur a pris feu dans un quartier proche de l’entreprise. Le feu a été rapidement circonscrit et le courant tout aussi rapidement rétabli. Mais je me souviens d’avoir appris pendant ma propre expérience que les transformateurs sont reliés ensemble dans une boucle locale, qui permet d’isoler le transformateur défectueux pour rétablir rapidement le courant chez les clients ne dépendant pas directement de ce transformateur. L’inconvénient est qu’une panne brutale d’un transformateur impacte tout aussi brutalement les autres transformateurs, avec une possibilité non nulle de surtension.

Le technicien sapiteur a pu prouver que la cause de la panne des onduleurs était liée à une surtension et j’ai pu proposer au magistrat de m’aider à obtenir de RTE les mesures de la supervision du réseau électrique de cette fameuse nuit, mesures qui montraient une brève surtension importante du réseau au moment de l’incendie du transformateur voisin.

J’ai pu déposer un rapport d’expert judiciaire précis et argumenté.

Merci à la presse quotidienne régionale (et à mon beau père).

Héberger son serveur chez soi

mardi 18 février 2025 à 14:03

J’aime bien mettre les mains dans la technique, d’abord parce que ce n’est pas sale, mais aussi parce que je suis curieux et que j’aime tester des trucs.

Lorsque j’ai ouvert ce blog, il était hébergé sur une plateforme de blogs et je n’avais presque rien à faire. Mais j’étais très dépendant du bon vouloir de la plateforme de garder ce service ouvert, surtout qu’il s’agissait d’un service gratuit proposé par le « G » de GAFAM, habitué à fermer des services, y compris ceux rencontrant un certain succès.

C’est donc autant par curiosité, par envie d’apprendre, que par soucis de la maîtrise de ce blog, que je l’ai migré sur un serveur que j’héberge chez moi.

J’ai donc installé un serveur Debian sous forme de machine virtuelle sur mon NAS et un WordPress sur lequel j’ai migré mon blog. Debian parce que c’est la distribution GNU/Linux que j’apprécie le plus, et en place dans les différentes entreprises dans lesquelles j’ai travaillé comme RSSI, et WordPress parce qu’il s’agit du CMS le plus utilisé dans le monde, et que j’avais envie d’étudier sa sécurisation, également pour le travail.

J’ai donc configuré toutes les protections possibles sur ce WordPress, même si je sais qu’il sera piraté un jour. J’ai fait au mieux des connaissances que j’ai pu acquérir.

J’ai ensuite mis en place un système de sauvegarde du serveur et du WordPress, vers un autre NAS et vers un stockage en ligne.

Mais exposer un serveur sur internet depuis l’adresse IP attribuée par mon fournisseur d’accès à internet pose plusieurs problèmes :
– j’ai une fibre Free avec IP fixe (ce qui est pratique), mais sujette à quelques coupures de temps en temps.
– il est facile de retrouver mon identité réelle à partir de cette adresse IP, ce qui en soit n’est pas un problème car mon identité n’est pas secrète, mais je souhaite segmenter le plus possible mes activités de blogueur de mes activités professionnelles et personnelles.
– certains billets rencontrent parfois un succès, surtout si un « gros compte » des réseaux sociaux le met en valeur. Un gros afflux de visiteurs crée une sorte d’attaque DDoS qui met en difficulté ma liaison internet.

J’ai donc fait le choix d’utiliser le CDN Cloudflare, car celui-ci propose un compte gratuit pour un nom de domaine unique, avec presque toutes les fonctionnalités. Comme je suis curieux, cela m’a permis d’apprendre beaucoup de choses sur le paramétrage relativement complexe d’un CDN, et de régler les problèmes de coupure (grâce aux caches), d’anonymisation de mon adresse IP et d’attaque DDoS.

Il y a néanmoins plusieurs défauts dans ce choix : le premier (et le plus important) est de dépendre d’un acteur tiers supplémentaire (Cloudflare) en plus de mon FAI (Free), de mon registraire (BookMyName). Le deuxième est que je confie à ce partenaire beaucoup d’informations sur mes lecteurs. Le troisième est que ce partenaire peut changer très vite sa politique de service. Et enfin, tout le paramétrage se fait « sur la prod » puisque je n’ai pas d’environnement de tests (tester, c’est douter ^^).

Plusieurs lecteurs de ce « vieux » blog viennent lire les billets grâce à son flux RSS, et m’ont signalé des difficultés d’accès à ce flux RSS. Après enquête dans les logs fournis par Cloudflare, je me suis rendu compte que deux options anti-bots cochées par mes soins bloquaient aléatoirement le flux RSS des billets du blog :

Les deux options fautives

Normalement tout doit être rentré dans l’ordre maintenant, et vous devriez pouvoir utiliser vos lecteurs de flux RSS préférés.

Prochain objectif : abandonner le front WordPress pour le remplacer par un site statique, beaucoup plus rapide. Mais ça, c’est une autre histoire.

Jeunes femmes des années 80

vendredi 31 janvier 2025 à 11:50

J’ai fait mes premiers pas post bac en classes préparatoires au lycée Faidherbe de Lille, en septembre 1981. J’étais interne, logé sur place du dimanche soir au samedi midi. Les garçons disposaient de deux bâtiments : le premier contenait de grands dortoirs un peu vieillots à chaque étage, et le second bâtiment des chambres individuelles refaites à neuf.

Les filles avaient un seul bâtiment, lui aussi un peu vieillot, et séparé des garçons par la cantine. Je vous ai fait un dessin avec la méthode R.A.C.H.E. :

A 18 ans, nous étions tous très concentrés sur nos études (non), et l’administration d’alors tenait à ce que les deux genres reconnus à cette époque soient bien séparés, afin de favoriser une ambiance studieuse (non).

Pour cela, la méthode employée était d’une simplicité redoutable : le bâtiment des filles était interdit aux garçons, et était fermé à 22h. Pour dire les choses autrement, les filles avaient un couvre feu à 22h.

Bien entendu, pas les garçons.

Dans le bâtiment des garçons proche de la cantine se trouvait une salle commune avec télévision, où les garçons et les filles regardaient ensemble la chaîne de télévision imposée par les redoublants de 2e année. Et bien entendu, à 21h55, toutes les filles étaient obligées de rejoindre leur bâtiment sans voir la fin du film.

Les filles qui sortaient en ville pour aller au cinéma ou au spectacle, étaient obligées de revenir en urgence avant 22h, ratant souvent la fin du film ou du spectacle, sinon elles trouvaient porte close et restaient dehors.

Tout le monde trouvait ça injuste et stupide, mais les surveillantes étaient intraitables.

J’étais (et je suis toujours) un garçon timide et un peu gauche, l’un des seuls à avoir un ordinateur, « passionnée voire obnubilée par des sujets intellectuels et liés aux sciences, en général symboliques (comme les mathématiques, la physique ou la logique) ou techniques« . Bref, un nerd mais sans lunettes.

Mais j’avais un esprit très chevaleresque, et l’injustice faite à mes consœurs de galère me révoltait. J’avais donc mis au point un stratagème lors de ma deuxième année (carré dit aussi 3/2) et lors de ma deuxième deuxième année (cube dit aussi 5/2) : j’avais récupéré deux matelas une place que je rangeais sous le lit de ma chambre individuelle, et toutes les filles savaient qu’elles pouvaient trouver refuge chez moi.

Il fallait rester discrètes car elles devaient échapper aux surveillants, et aux autres garçons parfois un peu trop entreprenants, il fallait accepter de ne pas prendre de douche ni changer de vêtement le lendemain, mais elles savaient qu’elles pouvaient faire confiance à ce garçon un peu différent, qui respectait leur intimité en quittant sa chambre lorsqu’elles faisaient leurs toilettes et se déshabillaient avant de se coucher, et qui les laissait dormir en toute tranquillité.

Un havre de paix au milieu de centaines de jeunes hommes en rut.

Je n’ai jamais su ce que les filles se disaient entre elles dans leur dortoir, à mon sujet, mais entre 1982 et 1984, j’ai été le garçon qui a vu défiler le plus de filles dans sa chambré.

Et sans me prendre une chapatte, car les femmes du 20ème siècle méritent qu’on les respecte.

Bonne chance pour 2025…

vendredi 3 janvier 2025 à 11:58

L’IA a fait d’immenses progrès ces dernières années et ne tardera pas à pouvoir résoudre ce message codé :

J’ai beaucoup de mal à trouver au fond de moi un peu d’optimisme pour les vœux, avec les événements internationaux et nationaux de ces derniers temps. Donc, je nous/vous souhaite « bonne chance pour 2025 ».

Je ne pourrai pas faire mieux.

L’article Bonne chance pour 2025… est apparu en premier sur Le blog de Zythom.

I'm richer than you! infinity loop