this post was submitted on 15 Aug 2023
0 points (50.0% liked)

France

2188 readers
85 users here now

La France et les Français

Communautés principales

Nous rejoindre sur Matrix: https://matrix.to/#/#jlai.lu:matrix.org

🔍 Recherche

FAQ, guides et ressources :

Actualité internationale

Loisirs:

Vie Pratique:

Société:

Villes/Régions

Pays:

Humour:

Fedivers:

Règles

  1. Multi-lingual community: posts in other language than French are allowed. 🚀

  2. Tous les francophones sont bienvenus. 🐌

  3. Remember the human : pas d’insultes, pas d’agressivité, pas de harcèlement entre utilisateurs. 🤖

  4. Xénophobie, racisme et autre forme de discrimination sont interdits.🌈

  5. Pas de doublon. Pas de spam. Évitez les paywalls autant que possible.☔

  6. Utilisez la fonction "Report" pour signaler le contenu contrevenant aux règles.🏴

  7. Le contenu doit être en rapport avec la France ou la population française.🇨🇵


Communauté de secours:

founded 1 year ago
MODERATORS
0
submitted 1 year ago* (last edited 1 year ago) by wgs@lemmy.sdf.org to c/france@jlai.lu
 

Salut les Français !

Je bosse sur un projet dans le cadre duquel j'ai besoin de construire une table de correspondance entre des mots de passe et leurs hash cryptographiques.

Seulement voilà, l'algorithme de calcul de ces hash (argon2id) est spécifiquement construit pour être long et coûteux a calculer. Or moi j'ai besoin d'un gros volume de données aléatoires (+2Gib), et memes avec toute ma puissance dont je dispose a la maison, ça me prendrait des mois.

J'ai donc mis au point hashcrush, un "brûleur de CPU", qui calcule ces précieux hash en utilisant toute la puissance disponible sur la machine qui l'exécute. Je l'ai testé sous Linux et OpenBSD.

Parce que je crois en l''esprit communautaire et l'entraide dans la vie de tous les jours, je préfères demander de l'aide au sein des communautés auxquelles j'appartiens plutôt que d'engraisser les fournisseur de service (qui me louerait du CPU à foison pour le même résultat avec grand plaisir).

Donc si vous voulez bien me filer un coup de main, clonez le dépôt et mangez du hash ! Toutes les infos sont sur la page du projet.

Si vous avez des questions, n'hésitez pas à les poser ici.

Merci les copains :)

Edit: pour ceux que ça intéresse, on a atteint l'objectif. Ça nous aura prit 3 jours, contre 8 mois si j'avais fais ça tout seul !

top 14 comments
sorted by: hot top controversial new old
[–] Syl@jlai.lu 7 points 1 year ago (1 children)
[–] wgs@lemmy.sdf.org 2 points 1 year ago (1 children)

Sans rentrer dans les détails, c'est pour un challenge de type CTF (donc à but purement récréatif).

[–] Syl@jlai.lu 16 points 1 year ago (1 children)

parce que sans rentrer dans le détail, ça ressemble à du brute force sur un dump de base de donnée.

[–] wgs@lemmy.sdf.org 5 points 1 year ago* (last edited 1 year ago) (1 children)

Effectivement ça peut y ressembler, et t'as raison d'être méfiant.

Mais si vraiment c'était du brute force et que c'était illégal, je ne publierais pas ça en mon nom, publiquement sur le web :)

Ensuite, concrètement tu peux voir que les hash générés utilisent un "sel" généré aléatoirement pour chaque mot de passe: hashgen.go#L97 et hashdump#L4. Si vraiment c'était un brute-force sur une base existance, alors je devrais utiliser un sel pré-existant récupéré dans cette DB. La technique est décrite dans l'article d'OWASP sur le stockage des mot de passe, qui mentionne justement Argon2ID. Spécifiquement cette phrase:

an attacker has to crack hashes one at a time using the respective salt rather than calculating a hash once and comparing it against every stored hash.

Comme je le disais dans mon cas, les "salt" de chaque hash sont générés aléatoirement à la volée, et donc ne peuvent pas correspondre dump de données (ou alors ce serait pas de bol, avec 1 chance sur 2^128).

Dans mon cas, je m'en fiche car le but est justement de générer une "fausse" base de données, mais avec des résultats cohérents.

Si tu as d'autres questions, ou si je dois éclaircir certains points, n'hésites pas !

[–] Mubelotix@jlai.lu 3 points 1 year ago (2 children)

Mais qui dépenserait de l'argent à miner tes mots de passe sans contrepartie financière? Autant miner du Bitcoin quand tu as les ressources

[–] iraldir@jlai.lu 2 points 1 year ago* (last edited 1 year ago) (1 children)

J'imagine que c'est pour de l'entrainement en sécurité / hacking white-hat etc.

Dans une ancienne boite ils faisaient des concours comme ça régulièrement où le mec de la sécurité créaient des services avec des failles à attaquer etc., avec des prix à la clé pour qui y arrivait. Ça permet d'éduquer sur la sécurité et aussi de repérer les devs qui ont le talent pour, un mec de mon équipe a d'ailleurs été transféré dans le departement de sécurité IT suite à un de ces exercises.

[–] wgs@lemmy.sdf.org 1 points 1 year ago

C'est effectivement quelque chose dans ce goût là (mais a titre personnel plutôt que professionnel).

[–] wgs@lemmy.sdf.org 2 points 1 year ago

Malheureusement je ne pourrais pas te payer pour le faire donc si c'est un frein pour toi, tu es libre de t'abstenir !

Il y a quelques personnes qui me donnent déjà un coup de main uniquement par gentillesse, et c'est cool ! C'est tout ce que je demande :)

[–] Ashiette@lemmy.one 4 points 1 year ago (1 children)

argon2id me fait penser à des bases de données sur disque luks. Ça me paraît shady ton truc.

Peux-tu entrer dans les détails, exactement ?

[–] wgs@lemmy.sdf.org 1 points 1 year ago (1 children)

cf. ce commentaire.

Pour donner des détails sur le contexte, mon but est de générer une "fausse" base de données, mais avec des résultats cohérents (donc de vrais hash). Et j'ai besoin d'un gros volume de données pour rendre difficile l'utilisation d'outils standard type grep(1) et forcer les joueurs à utiliser des méthodes plus efficaces de recherches de valeurs.

[–] Ashiette@lemmy.one 1 points 1 year ago (1 children)

Super. Merci de la précision. Ça peut en effet être super intéressant, c'est le genre de choses qui pourraient aussi m'intéresser d'apprendre si j'avais le temps/les compétences.

Je vais essayer de faire tourner ton programme un peu les prochains jours. Comment poster les hashs ?

[–] wgs@lemmy.sdf.org 1 points 1 year ago

Tu peux les uploader ici: https://up.qw.is Tout est indiqué dans le README ;)

[–] iraldir@jlai.lu 3 points 1 year ago* (last edited 1 year ago) (1 children)

J'ai la flemme de faire ça manuellement, mais si tu crées une image docker avec un paramètre qui permet de le faire tourner sur une plage horaire spécifique je veux bien mettre ça sur mon serveur local pour quelques semaines

[–] wgs@lemmy.sdf.org 1 points 1 year ago

Mmmh je saurais pas pondre un dockerfile pour ça, et puis j'ai aucun moyen de tester en plus, désolé :/