PROJET AUTOBLOG


Zythom

source: Zythom

⇐ retour index

Le PC d’occasion

mercredi 27 janvier 2021 à 17:33

J’ai besoin de faire des calculs intensifs, dans le cadre de mon apprentissage de Tensorflow, et de temps en temps pour casser du mot de passe.

J’ai donc une machine dédiée à cela. Mais elle date de 2005, à une période où les cartes mère basculaient vers des bus PCIe, et la magnifique carte graphique GTX 1060 récupérée sur le PC de mon gamer de fils n’était pas bien reconnue, malgré mes montages, disons, hasardeux, à base de ventilateur sur pied pour le refroidissement et d’alimentation ajoutée (avec la fameuse “astuce” du trombone, svp ne le faites pas).

Bref, il me fallait envisager d’investir dans un nouveau PC de calculs.

Seulement voilà, je ne voulais pas mettre trop cher dans la configuration, sachant que j’avais déjà la carte graphique et que la puissance d’icelle me convenait parfaitement. Mon cahier des charges était le suivant :
– une carte mère pouvant accueillir une carte graphique Nvidia
– 8 Go de RAM
– c’est tout

Je me tourne alors vers Internet (c’est une figure de style, je suis toujours face à mes écrans) et je découvre le monde merveilleux des ordinateurs d’occasion : entre les personnes qui pensent pourvoir vendre leur PC au même prix qu’elles l’ont acheté, voire plus, et celles qui vous dirigent vers un site russe entre pilules bleues revigorantes et promos sur les masques FFP2 (je navigue sur les sites que je veux) bloqué par mes Pi Hole / uBlock Origin / AdGuard-en-test…

Et puisqu’il faut bien parfois traverser la rue, je me lance, et je passe commande sur le site français www.backmarket.fr sur lequel j’avais débusqué un Dell Optiplex 3020 MT Core i3 3.4 GHz – HDD 500 Go RAM 8 Go, qui me faisait les yeux doux à 130 euros TTC (!) livraison incluse et garantie d’un an \o/

Matériel réceptionné trois jours après. Jusqu’ici tout va bien.

Je déballe le tout, je branche, j’allume pour voir si tout va bien: nickel ! J’éteins, je débranche, je décharge l’électricité statique de mon gros pull, j’ouvre la bête, je vire le disque dur, la carte wifi bizarre, je place un disque SDD de mon stock, la carte graphique surpuissante, une vieille alim ATX de mon stock (avec son trombone, de mon stock aussi), je branche écran/clavier/souris/câble réseau de mon stock, une clé USB (on peut écrire clef USB ?) pour installer une Debian, les drivers Nvidia, CUDA, etcétéra.

J’ai une nouvelle machine de calculs \o/

Mais pendant que cette nouvelle venue chauffait mon bric-à-brac bureau en faisant des milliards d’opérations, le disque dur de 500Go extrait du PC d’occasion me faisait de l’œil… Et si ?

Et si ce disque dur pouvait me raconter son histoire ? Ni une, ni deux, je le branche sur mon PC et procède à sa copie bit à bit (cf ce billet de 2014, ou celui-ci de 2008), puis je commence son analyse.

Nam et ipsa scienta potestas est, écrivait le philosophe Francis Bacon, dans “De haeresibus” en 1597 (pas lu, mais j’aime les citations latines <3, j’ai fait latin jusqu’en terminale, option au Bac, zéro point gagné).

Dans les données en clair, je récupère la clef de licence Windows 10 (j’aime bien écrire clef-avec-un-f). Ne voulant pas être receleur à l’insu de mon plein gré, j’appelle le support Microsoft (oui, oui). Après trois personnes ne comprenant pas trop mon appel, je tombe sur une charmante dame certainement PFE+++ (Premier Field Engineer) chez Microsoft, qui après diverses vérifications techniques, m’informe que la clef de licence correspond à une clef bloquée chez eux pour avoir été trop souvent activée. “Vous avez une clef PIRATÉE”, me dit-elle…

Je détruis mon téléphone jetable, coupe la liaison satellitaire chiffrée, reboote mon nœud Tor, m’essuie le front avec mon vieux T-Shirt SSTIC 2012 sous le regard désapprobateur d’Edward Snowden dont le livre usé est face à moi…

On m’a vendu un PC avec une licence Windows piratée…

Je pousse plus loin mes investigations, cette fois en regardant les données (mal) effacées du disque dur. Celui-ci a été reformaté rapidement : toutes les données antérieurement présentes sont toujours là, à attendre que je les récupère. Une vie complète d’ordinateur se déroule devant moi, comme au plus fort des expertises judiciaires que j’ai menées : emails, rapports, fichiers Excel, notes de frais…

On m’a vendu le PC d’un employé de la mairie d’une grande ville de la région parisienne…

Je contacte le vendeur, le SAV Backmarket, l’ANSSI, et la CNIL. La suite va vous étonner (billets à suivre).

Savoir s’arrêter : la réponse

jeudi 31 décembre 2020 à 14:54

Pour faire suite au billet de janvier 2020 “Savoir s’arrêter : le courrier‘, voici le courrier de la Cour d’Appel de mon ressort judiciaire que j’ai reçu fin novembre 2020 :

Monsieur,

J’ai l’honneur de vous notifier, en application des dispositions de la loi du 29 juin 1971 modifiée par la loi du 11 février 2004 et du décret du 23 décembre 2004 modifié relatifs aux experts judiciaires que l’assemblée générale de la cour d’appel de [Tandaloor] réunie le 13 novembre 2020, a constaté votre souhait de ne pas renouveler votre inscription et procédé à la suppression de celle-ci sur la liste des experts judiciaires établie pour l’année 2021.

Les décisions prises pour l’établissement des listes d’experts ne peuvent donner lieu qu’à un recours devant la Cour de cassation en application de l’article 20 du décret n°2004-1463 modifié.

Ce recours doit être formé dans un délai d’un mois, à compter de la présente notification par déclaration au greffe de la cour de cassation ou par lettre recommandée avec demande d’avis de réception adressée au greffe de la cour de cassation.

Je vous prie d’agréer, Monsieur, l’expression de mes salutations distinguées.

P/Le procureur général
Mme [Gowachin]
Substitut Général

Comme mon courrier de décembre 2019 n’a pu être pris en compte qu’en novembre 2020, à partir de ce soir, officiellement, je ne suis donc plus expert judiciaire. Je suis fier d’avoir apporté mon concours à la Justice, accompli mes missions, fait mes rapports,
et donné mon avis en mon honneur et en ma conscience. Je l’ai fait en toute indépendance, de mon mieux et en gardant ma liberté de parole et d’esprit.

Je laisse la place à plus jeunes et plus compétents que moi.

Mais je continuerai à m’exprimer ici, sur tous les sujets, y compris sur ceux de l’expertise judiciaire, n’en déplaise aux vieux cons.

Je profite de ce billet du 31 décembre pour vous souhaiter à tous de bonnes fêtes et, avec quelques heures d’avance, une bonne année 2021.

Malgré tout.

Awk awk awk

jeudi 31 décembre 2020 à 09:56

Pour retirer les lignes en doublon dans un fichier texte contenant beaucoup de lignes (voir le billet “Dictionnaire français pour hashcat“), j’ai utilisé la commande suivante :

cat toto.txt | sort | uniq > pas-de-doublons.txt

où toto.txt est un fichier texte d’environ 20 Go et où le fichier pas-de-doublons.txt résultant ne fait plus que 311 Mo. La commande met 1h30 à s’exécuter sur mon ordinateur.

Un internaute m’a fait remarquer en commentaire sur mon GitHub que cette commande pouvait être avantageusement remplacée par la commande suivante :

cat toto.txt | awk '!x[$0]++' > pas-de-doublons.txt

Mais avant d’essayer la commande awk sur mon ordinateur, je voulais la comprendre. Et à ma grande surprise, je n’ai pas réussi à trouver d’explications sur cet usage particulièrement concis sur internet (spoiler : j’ai mal cherché). J’ai donc demandé de l’aide sur Twitter où @CyrilBrulebois m’a fourni une explication en quelques secondes : https://unix.stackexchange.com/questions/159695/how-does-awk-a0-work

Je vais détailler ici l’explication, pour pouvoir m’y référer plus tard, quand ma mémoire me fera défaut.

awk est une commande très puissante, c’est un langage de programmation a elle tout seule qui permet une recherche de chaînes et l’exécution d’actions sur les lignes sélectionnées. Elle est utile pour récupérer de l’information, générer des rapports, transformer des données entre autres (source funix.org).

!x[$0]++ est à interpréter de la manière suivante :

$0 contient une ligne complète du fichier toto.txt

x[] est un tableau associatif. Pour en savoir plus, lire cet article sur les tableaux en bash. Il reçoit en argument autre chose que des entiers de 0 à N comme un tableau habituel. Il peut recevoir une chaîne de caractère.

x[$0] regarde si la valeur de la clé $0 est déjà présente dans le tableau associatif x[]. Si elle ne s’y trouve pas, une chaîne de caractère vide est placée dans x[$0]. Dans tous les cas, x[$0] retourne son contenu.

Lequel des deux opérateurs “!” ou “++” est-il prioritaire sur l’autre ? Il s’agit de vérifier la précédence de ces deux opérateurs. Le tableau que l’on trouve par exemple dans ce document, nous indique que ++ est prioritaire sur “!”. Mais comme il est situé à droite de x[$0] (post-incrément), il faut d’abord évaluer le contenu de x[$0], considéré comme un entier (1ère action de “++”), passer cette évaluation à l’opérateur “!”, puis l’incrémenter de 1 (2e action de “++”).

Donc si la ligne contenue dans $0 vient d’apparaître pour la première fois, x[$0] contient une chaîne de caractère vide considérée comme équivalente à 0, et x[$0] retourne 0 (= faux), puis passe à 1. Sinon x[$0] retourne N (= non nul = vrai), puis passe à N+1.

Comme !x[$0]++ est la négation de x[$0]++, il suffit d’inverser le résultat du paragraphe précédent : si la ligne contenue dans $0 vient d’apparaître pour la première fois, !x[$0] retourne 1 (= non nul = vrai), puis x[$0] passe à 1. Sinon !x[$0] retourne 0 (= faux), puis x[$0] passe à N+1.

Dit autrement, !x[$0]++ retourne :
– vrai si $0 contient une ligne non déjà vue, puis incrémente x[$0]
– faux si $0 contient une ligne déjà vue, puis incrémente x[$0]

Enfin, le comportement par défaut de awk est d’imprimer $0 en cas d’évaluation à vrai, et de ne rien faire dans le cas contraire. Toutes les lignes déjà vues disparaissent. Le fichier résultant ne possède pas de lignes en doublon.

La commande recommandée fait donc bien ce qu’elle est sensée faire, et elle le fait plus vite : 15mn sur mon ordinateur au lieu d’1h30 avec la commande “sort | uniq”…

Par contre, elle fonctionne bien parce que mon fichier texte initial contient beaucoup de doublons (le fichier final fait 311 Mo) et ne sature pas la mémoire de mon ordinateur. J’ai eu moins de chance avec un fichier texte de 15 Go recommandé par @CyrilleFranchet, et qui contient peu de doublons… Ça a fait exploser en vol ma machine. Comme quoi, la lisibilité a ses avantages ^^. Cette commande awk est donc à utiliser avec un œil sur l’évolution de l’occupation de la mémoire vive.

Pour aller plus loin : grep – sed – awk, exemples avancés

Rien ne vaut que le silence

mercredi 30 décembre 2020 à 10:51

J’ai fait mon service militaire en Allemagne dans un régiment français de transmission dont la devise était “Rien ne vaut que le silence”. Je trouvais cette devise étrange pour des soldats responsables des transmissions, aussi, entre deux exercices destinés à aguerrir les plus faibles, j’ai posé la question au sergent de ma compagnie. Voici ce qu’il m’avait répondu :

“Les transmetteurs sont parachutés derrière les lignes ennemis et doivent rester discrets. Avant de rendre compte, les transmetteurs observent l’ennemi et écoutent ses transmissions”, m’a-t-il expliqué, avant de m’envoyer préparer l’arrivée des beaux jours.

Aujourd’hui, je suis tombé sur une citation du poète Rumi : “Plus vous êtes silencieux, plus vous êtes capable d’entendre.” D’après ce que j’ai pu comprendre, le sens profond de cette citation est que nous sommes invités à méditer pour observer notre cœur spirituel et reconnaître la vérité ultime (Rumi était un poète mystique persan qui a profondément influencé le soufisme). D’après lui, le silence mental nous donne un aperçu profond, et Rumi nous encourage à faire taire notre esprit pour entendre la vérité.

Il se trouve que cette citation de Rumi est traduite en anglais par “the quieter you are, the more you are able to hear”, et que cette phrase est la devise de la distribution Back track 5″, qui s’appelle aujourd’hui Kali Linux, et qui est spécialisée dans la sécurité informatique.

La devise existait en deux versions, la deuxième étant : “the quieter you become, the more your are able to hear”, que je traduis par “plus vous devenez silencieux, plus vous êtes capables d’écouter”.

Mais au fond de mon cœur, la meilleure traduction serait “Rien ne vaut que le silence”.

Je vous laisse, j’ai des magnifiques fonds d’écran Kali à aller admirer.

Dictionnaire français pour hashcat

mardi 29 décembre 2020 à 15:58

Dans la droite ligne du billet précédent, et toujours à la demande d’un collègue ayant perdu le mot de passe d’un fichier pro Excel, j’avais besoin d’un fichier de mots français susceptibles d’être utilisés comme mot de passe.

Il y a toute une littérature sur “comment choisir un bon mot de passe”, et une partie non négligeable de mon travail actuel consiste à expliquer aux gens les consignes de base de la sécurité informatique. Je dois reconnaître que c’est passionnant, mais que la base de la base de la base n’est pas toujours comprise malgré des trésors de pédagogie.

Si les politiques de choix d’un mot de passe se sont durcies au fil du temps, et qu’il est difficile aujourd’hui de créer un compte informatique sans devoir prendre un mot de passe d’au moins 12 signes dont des minuscules, des majuscules, des chiffres et/ou des caractères spéciaux, que se passe-t-il quand l’utilisateur PEUT choisir le mot de passe qu’il veut, par exemple pour limiter l’accès à un fichier Excel ? La réponse est simple : mon expérience de la casse de mot de passe pour les besoins de la justice m’a montré que la plupart des personnes choisissent un mot courant, éventuellement suivi par un nombre, parfois complété par un point d’exclamation.

Quand aucune politique de sécurité n’est imposée, le choix préféré des français est donc : mot courant [ + année] [ + ! ]

Avant de procéder à une attaque par force brute, ie en essayant toutes les combinaisons possibles, et après avoir testé les mots de passe “évidents” (date de naissance, nom de l’utilisateur, prénom de son partenaire et de ses enfants, date de mariage, etc.), une bonne méthode est donc l’attaque par dictionnaire, ou plutôt en bon français, “l’attaque par liste de mots”.

Il existe sur internet une grande quantité de listes de mots, toutes aussi intéressantes les unes que les autres, mais je n’ai pas trouvé une liste de mots courants français, incluant les noms des régions, départements, villes, villages, hameaux et lieux dits, incluant aussi les mots d’argots, le vieux français, les différents patois, le langage “jeune”, les prénoms français, les petits noms donnés aux animaux, etc. Le tout intégrant les magnifiques caractères spécifiques du clavier français (le plus courant) é è ç à ù €, mais aussi tous les autres â ê ŷ û î ô ä ë ÿ ü ï ö Ä Ë Ÿ Ü Ï Ö etc.

Je me suis alors souvenu qu’il était possible de récupérer tout le contenu de Wikipédia pour pouvoir en disposer hors ligne. J’ai donc récupéré TOUT le Wikipédia français sur mon ordinateur, et je l’ai trié pour ne garder qu’un mot par ligne, puis j’ai éliminé les doublons. En comptant les essais/erreurs et les différents tâtonnements, il m’a fallu une journée pour disposer d’une magnifique liste de mots courant utilisés par les Français…

Puis j’ai utilisé la commande hashcat suivante :

hashcat -m 9500 -a 0 -w 3 --username --status --session=toto hashExcel.txt wikipedia.fr.txt

Environ 20mn plus tard, l’ordinateur me fournissait le mot de passe utilisé : un village des Alpes dont le nom fait 10 caractères.

Si vous aussi vous voulez briller auprès de vos collègues, vous pouvez utiliser cette méthode, à condition d’en donner le crédit “au blogueur dont le nom est presque celui d’une bière de l’Égypte antique” en vous rendant sur mon Github : https://github.com/Zythom/french-wikipedia-word-list. Cette saine lecture vous fera réviser vos codes ASCII et la base octale ^^.

Si par contre vous voulez compliquer la tâche des casseurs de mot de passe, ajoutez un “µ” ou un “>” dans votre mot de passe, ou mieux : générez le aléatoirement avec votre KeePass et installez l’extension “Kee Password Manager” dans votre navigateur.

Mais chacun fait ce qu’il veut.