HACKME PART TWO (HACKERS ET MOT DE PASSE)

cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021 - 22 août 2002 à 17:29
jojo56340 Messages postés 1 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 13 juillet 2008 - 13 juil. 2008 à 00:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12101-hackme-part-two-hackers-et-mot-de-passe

jojo56340 Messages postés 1 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 13 juillet 2008
13 juil. 2008 à 00:10
eaimerais aprendre le coding et tout parsque j la soif apprendre et jaimerais aussi crer des logitiel je demande un maitre et moi etre eleve en clair merci!!!!! fbi.quiteparle@hotmail.fr
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
31 août 2003 à 23:43
Lol, Orion2k4,

tu'a un peux de retard au dèbut c'etais l'exe only, apres les sources on ètèes publièes logique , non ?

Bon coding....

ManChesTer.
Orion2k4 Messages postés 1 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 28 août 2003
28 août 2003 à 16:41
mais..euh je comprends pas tt...je suis pas un fortiche en ASM ni en delphi mais j'ouvre ta source et la ks ke je vois marqué ??
passw : String='La pipe du pape Pi pue';
c logique ou g pas ouvert le bon fichier ?
Bon jveux bien croire ke g ouvert un mauvais fichier mais kan meme!
Meme le premier newbie venu (moi par exemple) prend windasm ouvre ton fichier et le plombe ...t'aurai pu fournir l'exe compressé ac UPx ou codé mais la ct vraiment trop facile .....
koike je me suis bien marré ac ton code ^^
Merci pour l'un des rares crackme VB fonctionnel!!

Orion2k4
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
17 janv. 2003 à 22:07
lol,

On peut aller baucoups plus loin pour proteger...

Pour le mot de passe, pensez a des solution comme le md5 et autres du genre .....

Dans la base de registre, il y a des emplacements appleès régulièrement par le systeme dans lesquels vous pouvez "planquer" vos cryptages ou encodages etc.....

Le Multithread et la gestion des erreures peuvent permettre l'anti debuging de vos applications.... (le dèclenchement d'une exception dans un thread qui officielement ne fais pas partie de votre application est assez cool pour verifier vos password).

Et surtout la crèation de boites de saisies a la volèe dans le code, rend le repèrage du point de saisie du mot de passe plus difficile (sutout si c'est un thread qui le fais) etc.....

La suite de ses "articles" seras bientot disponible....

Je vous tiend au courrant.

ManChesTer.
balgrim Messages postés 52 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 28 octobre 2003
17 janv. 2003 à 20:41
J'ai rien pigé, moi g deja passw : String='La pipe du pape Pi pue';... c pas bien compliquée si c sa... enfin sa doit etre parceque qqun a deja trouvé :P

c dommage, j'été chaud manchy :D
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
30 nov. 2002 à 00:30
zappy,

peut etre que + sur encore, est de ne pas stocker le mot de passe (ni dans le code ni ailleur)....

Bon Coding...

ManChesTer.
cs_zappy Messages postés 161 Date d'inscription mardi 19 juin 2001 Statut Membre Dernière intervention 10 avril 2007 2
29 nov. 2002 à 17:21
je peux me tromper, mais il existe des techniques sûr pour cacher un password.
Ex: utiliser un hachage MD5 (a priori pas reversible à ce jour)
cs_zappy Messages postés 161 Date d'inscription mardi 19 juin 2001 Statut Membre Dernière intervention 10 avril 2007 2
29 nov. 2002 à 17:10
Woo, ça déchire :)
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
22 août 2002 à 17:29
TomRipley,

Ne mettons pas la charrue avant les bœufs, chaque technique seras examinée l'une après l'autre :

(Hackme III montreras comment faire un "anti patch (y compris les timepatch)" et comment appelé les routines de vérification de vos passwords, Hackme IV, comment "planté correctement" le pc, Hackme IV, comment faire un petit code auto modifié etc...)

J'essayerai d'être le plus régulier possible même si en se moment j'ai énormément de travail.

Bien sur je ne dévoilerai pas toutes mes techniques de protection mais suffisamment pour pouvoir protéger efficacement votre sharware.

Bon coding

ManChesTer
TomRipley Messages postés 4 Date d'inscription mardi 20 août 2002 Statut Membre Dernière intervention 3 septembre 2002
21 août 2002 à 19:46
Pour le code emulé il suffit generalement de coder un decompilateur pour le code emulé, ce qui n'est pas un exploit mais peut être interessant. Dans le genre certains ont même codé des debuggers pour ce genre de code(par exemple wktvde pour le vb p-code), ce qui est loin d'être evident :p.
Pour le code automodifié j'ai deja rencontré aussi mais c'est très loin d'être facile à implementer dans un language de haut niveau c'est le petit defaut de cette protection, sa difficulté à l'implementer :).
Tk j'espere que tu vas nous faire un ptit mix de tout ça pour le prochain ça risque d'être interessant :).

Tom
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
21 août 2002 à 00:00
merci pour le petit cours
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
20 août 2002 à 22:53
TomRipley,

Je ne lis pas les 200 lignes, je cherche les endroits "critiques", il suffit de localise les datas contenant le passowds, et l(a)(es) partie(s) du code qui les manipule.
et dans certains cas, je fais l'inverse.

Encore Bravo, si tu n'a pas utilisé l'indice, c encore mieux, cependant il etait plus facile de trouvé avec l'indice.

As tu trouvé le texte crypté dans les clefs de vérifications ? ....

DelphiCool
Une partie de la technique consiste a utiliser du code "auto modifié".

Par exemple si ma routine de teste est a $447856 j'écris "jmp $FFFFFFFF" dans le code et je le modifie en "jmp $447856" avec une routine (idem pour d'autres instructions), donc un désassembler va trouvé jmp $FFFFFFFF et non $447856.

Pour être encore plus complet, on peut également modifier des instruction, remplacer des mov ou des add par autre chose...

On peut aussi utilisé une technique de code auto généré ou code "émulé", je doute qu'un debugeur 8086 sois capable de comprendre du code crypté ou du code 68xxx.

Pour faire une protection efficace, il suffit de craillé un émulateur d'un cpu inventé de toute pièce (donc une sorte de runtime mais + proche du hardware), et de l'exécuter dans un mode incompatible avec les debugers du marché.....

Le mode debug des cpu intel peut en effet être "supplanté", dans ce cas rares sont les hacker qui comprennent ce que tu fais exactement, donc la protection deviens très difficile a détournée car elle ne peux être analysée qu'au run (donc avec un debuger).
Le hacker doit donc, détourné tes protections de base, examiner tout l'émulateur, tout le crypteur et tous ce que fais ton code, il y a du du travail pour le hacker éventuel !

C'est des variantes de ces techniques que j'utilise aujourd'hui ;o))

bon coding

ManChesTer
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
20 août 2002 à 22:33
Bravo à TomRipley aussi !!
cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008
20 août 2002 à 20:21
J'ai rien a dire que : Bravo Manchester
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
20 août 2002 à 14:49
//Je ne rentrerai cependant pas dans les méthode anti debuger et déassembleur,
//ceux-ci nécessitant une maîtrise de l'assembleur que le codeur delphi n'est
//pas "censé" avoir .


Par contre, je serait curieux de savoir la methode de ton anti deassembleur,
cela m'interresse
TomRipley Messages postés 4 Date d'inscription mardi 20 août 2002 Statut Membre Dernière intervention 3 septembre 2002
20 août 2002 à 10:20
Heu pour l'indice je vois pas trop...c quoi le rapport avec l'as? :p
En tk si c un indice ça m'a pas aidé du tout :p.
Ps:
je me demande comment tu fais pour lire 200 lignes de code asm et les comprendre en 2 minutes :>
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
20 août 2002 à 10:04
Bravo, TomRipley, tu est un vrai as ;o))

Si tu as fais ça en 15 min c bien, moi je le fais en 2 mais ça fais longtemps que je maîtrise ce genre de technique c'est même devenu mon métier (je travaille dans le domaine de la protection de logiciels et du cryptage de données depuis plus de 10 ans).

(2x + c pas bien difficile a trouver surtout que j'avais laissé l'indice "un as" que j'aurais très bien pu ne pas laisser, mais comme dans ce cas je n'étais pas sur qu'un coder trouverais ....).

Cependant, je te félicite quand même, ça démontre que tu as une capacité d'analyse digne de se nom. Et crois moi un algo de ce type et même plus simple a empêché le piratage d'un jeux durant plus de 2 mois en 1988. 90% des hackers actuels sont incapable de le trouver, ils étaient 99% en 88.

Dans la version Hackme III, on fermeras la porte, et on verras comment le reverse deviens presque impossible avec un algorithme beaucoup plus complexe.

Je ne rentrerai cependant pas dans les méthode anti debuger et déassembleur, ceux-ci nécessitant une maîtrise de l'assembleur que le codeur delphi n'est pas "censé" avoir .

Bon coding censé ..... ;o))

ManChesTer
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
20 août 2002 à 09:59
Lol

Merci Tom Ripley
TomRipley Messages postés 4 Date d'inscription mardi 20 août 2002 Statut Membre Dernière intervention 3 septembre 2002
20 août 2002 à 08:48
"La pipe du pape Pi pue"
voilà le mot de passe...
Ca m'a prit 15 mins pour reverser l'algo et coder un prog pour trouver la solution(en C desolé, je suis pas un codeur delphi :p)
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
20 août 2002 à 05:03
"censé" est le mot ....

Le source ? il arrive dimanche prochain ....

Quand a dire que mon exe est infaible, sûrement pas, il est a but éducatif et non commercial.

Dire que rien n'est infaible est juste ! Cependant on peut rendre un password très très difficile a trouver, voir impossible a l'échelle humaine étant donné l'état d'avance technologique actuel .....

Bon coding ....

ManChesTer
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
19 août 2002 à 23:49
lol :-D

tout ceci etant dit, ça n'a pas trop d'interet pour la programmation delphi, que de mettre un exe sans source, meme si c'est pour demontrer que ton exe est infaiible (rien ne l'ait).

par contre mettre le source comme tu l'a fait precdement est tres instructif, coté programmation et coté algo.

c'est sur que de demander à des codeur delphi de trouver ton pass peut semblé delicat, mais demande donc à des crackeurs de le trouver.

ici il n'est pas censé y avoir de cackeur je crois?
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
19 août 2002 à 22:22
heuu

Le but du jeux c de trouvé le mot de passe delphicool, pas de faire un jump lol

donne moi le mot de passe et la tu as gagné lol.
(je doute que qq un le trouve meme qd j'aurai mis le source delphi mais bon j'ai qd meme laissé 1 porte ouverte ...)

Bon coding

ManChesTer.
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
19 août 2002 à 22:02
tu parle de quel debugger Manchester ? (ceux qui plantent)


tu dit qu'il n'est pas evident à hcker.
En effet, au debut j'ai fait un patch tt con bebte, le prog m'a dit "t
'est pas con toi"

j'ai ensuite vu que cette phrase me prenait pour un con, car le prog plantait apres l verif.

Ensuite j'ai fait un patch plus subtil, et la ça me dit "bravo"

Manchester, tu dit que seul un as peut trouver ton pass, moi je dit que les mec qui pige l'ASm le trouverait.

Mais bon je pige pas l'asm.
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
19 août 2002 à 20:25
yo, bestiol, non, c'est baucoups plus complexe que ca, mais tu as raison, je modifie aussi le mot de passe entré, donc celui que tu met dans l'edit n'est pas tout a fait celui qui est "traité" par le systeme ;o))

Ensuite il y a plusieurs verifications de validités etc.....

Puis il pas evident a hacké avec certains debuggers, c le plantage garanti etc ...

bon coding

ManChesTer
cs_zmc Messages postés 147 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 26 avril 2008 1
19 août 2002 à 20:00
hum hum, rien qu'en lisant le message en rouge j'ai pas telechargé le progs ;)
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
19 août 2002 à 15:36
Bon sang... Je sais pas ce que tu as fais, mais c'est vrai que ça m'a l'air assez compliqué !!!
J'ai cru comprendre deux trois trucs :
-Je pense que tu ne t'intéresse pas à tout le mot de passe rentré... Apparemment, seules les 1ère, 4ème et peut-être 7ème (ou dernière...) sont importantes...
-Je pense que tu crées un chaîne avec le mote de passe donné, du type [Lettre 4 (ou 3, je sais plus !)][Lettre 1] + Mot de passe...

Voilà où j'en suis... J'ai peut-être (certainement !!) tout faux, et peut-être que tu vas même pas comprendre comment j'ai réussi à trouver de telles co... Mais je ne suis pas un as (loin de là !), alors...

Bye !
Bestiol.
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
19 août 2002 à 11:42
voila, je n'ai pas trouvé le pass,
mais j'ai fait un petit patch pour qu'il dise bravo.


http://progzed.free.fr/crk_hackme2.exe
Rejoignez-nous