En février, Le_MaLaDe a rouvert le site: UFDC (Université Française de Cracking).
Sur lequel le premier défi dans la catégorie des crackmes à crypto de l'UFDC de "Compétence 5",est un keygenMe qui utilise RSA. Ce KeygenMe est packé avec (ASPack).
Je mets en lien le pack complet: Pack.zip (le KeygenMe et le source de mon Keygen).
(Car le site datant de 2000-2002, n'est malheureusement plus disponible actuellement!).
Protection du KeygenMe: Hash MD5 + chiffrement RSA.
Petit rappel rapide sur le chiffrement/déchiffrement RSA:
Si M est un entier naturel strictement inférieur à n représentant un message, alors le message chiffré sera représenté par:
C = M ^ e mod n
Pour déchiffrer C, on utilise d, l'inverse de e modulo (p – 1)(q – 1), et l'on retrouve le message clair M par:
M = C ^ d mod n
Sur notre keygenMe on sait que M et constitué de cette manière:
M = (hash MD5 du NOM)
Donc :
On prend ici N (2F774486FD3B97FFA559687F7F9D5335CA3D16FBB60C0019).
On connait aussi l'exposant publique dans le keygenme, e: 10001.
On factorise N à l'aide de l'outil RSA-Tool 2 by tE, après quelques secondes / minutes,
on obtient P et Q.
FACTEUR PREMIER (P): 69EF193F0EC20A9E57B455DB
FACTEUR PREMIER (Q): 72B4BF519A43852C9F9C761B
Maintenant avec ces clés, il ne nous reste plus qu'à calculer la clé privée D:
2312552808E487A2F561E2BBEF5FB7275C2BD350491DB9A1
Le hash MD5 pour « Xylitol » est: 9F01C4DEFB31F597423AC2E0CAB0FA54
Maintenant allons dans l'outil rSab0x:
Pour le Nom: Xylitol,
on obtient le Sérial suivant:
1A82A1823B1445B66580029237258D411C788A202D982451
Je voulais faire un keygen en PHP mais au final je n'ai pas trouvé de classe RSA pour le faire...
Donc j'espère que vous aimerez le langage assembleur... :)
Pour réaliser le keygen il faut le fichier cryptohash pour le MD5, et le fichier biglib pour le RSA et la lib ufmod pour la musique ...
Ces librairies sont très faciles à trouver
Copyright (C)- xtx Team (2021)