Dr Clèm's Blog

Tags: Security Coding C++ GCC Git Free Software FLOSS FOSS GNU General Public License GPLv3 GPL

SHA1BruteForce

Wednesday Nov 08, 2017 00:05

I'm proud to announce my first (free) software, SHA1BruteForce, that performs brute-force attack to crack SHA-1 hash.
Page of the project

Why?

After my 10yo Firefox session crashed, I lost a password stored in it. But, I managed to find the hash and it turns out to be a SHA-1 hash (software installed in 2009 on my server). I could change it, I guess, but I knew that SHA-1 is now considered as a weak encryption (although the first real collision is from February), so I challenged myself to recover it by writing a piece of code that do the job. It took me a bit more than a day to achieve a working code.
After, I began to optimized it and to have fundamental questioning about C++.

It is pretty simple and it seems to perform well. It takes about 4h to crack any 6 characters password on my computer. So I decided to publish it on my server, which was not as simple as I expected.
But I also have account in the main git platforms.
So I also published it on GitHub, GitLab and FramaGit, more know by the French.

It is licensed under GPL3.

It performs the tasks on the CPU only. GPU implementation does not seems possible at the time using only free software. Indeed, CUDA required the proprietary drivers and OpenCL does not seems to work properly with Nouveau (last version of the Linux kernel, i.e.4.13, on Ubuntu 16.04). But I want to use only free software (and I cannot install Nvidia drivers anyway, they do not work on my system).

It is not a revolutionary tools that intends to bit existing ones. I did it for myself and share it for anyone interested.

It is my first published code, so there are most likely some improvements to do on how to write the manual, how to write the code so it can be used by others, how I should comment it, and so on. The same goes for the code itself. Feel free to comment, share, submit commits, report bugs, etc.

Mastodon Follow me Mastodon Share
Comments
There is no comment yet.
Dr Clément Février

I am Dr Clément Février, French, living in Grenoble. I defended my PhD on July 4th, 2016. After my defense I run as deputy deputy (not a typo) for the national parliamentary elections in the 1st circonscription of Isère for the political movement La France Insoumise.


Ça se passe dans l'Ain (entre autre). La France n'a pas les moyens de mettre 10000€ pour faire une enquête sur des malformations de bébés, on doit vraiment être un des pays les plus pauvre de la planète. L'État abandonnait déjà les vieux avec les retraites (ça coûte trop cher), la santé (ça coûte trop cher), la sécurité (ça coûte trop cher), la recherche (ça coûte trop cher), les pauvres (ça coûte trop cher), l'environnement (ça coûte trop cher),

mamot.fr/@LeMediaTV/1032052807

"Les états-unis [gentil] aurait espionner Assange [méchant]" (sauf dans Médiapart)
"Durant la manifestation, 15 policiers ont été gravement blessés par des projectiles a base d’œufs et de farines lancés par les manifestants, désigné de "ultra" par le gouvernement, et 12 manifestants auraient été légèrement blessés par des projectiles de provenances inconnus"

Si le gentil est accusé d'une exaction, alors non seulement le conditionnel est utilisé, mais en plus, les propos sont rapportés par le méchant. Exemple : "Selon [gilet jaune/Erdogan/Putin/Trump], le [gouvernement/kurdes/USA/UnPeuToutLeMonde] aurait fait un truc mal."
"Selon Erdogan [méchant], le PKK [gentil] est a l'origine de l'attaque suicide qui a tué des dizaines de civiles sur la place public."
"Erdogan [méchant] a lancé l'offensive contre les kurdes [gentils]"

"Gilet jaune blessé : les "selon" du 20 Heures" par Arrêt sur Images.

Maintenant, regardez n'importe quel article, si le conditionnel est utilisé sauf pour les exactions, où le présent de vérité général est utilisé, alors c'est un méchant/ennemis/terroriste/"ultra"/dictateur/..., si au contraire, le présent de vérité général est utilisé par défaut, alors c'est un gentil.

arretsurimages.net/emissions/c