Monday, November 11, 2013

[ Un CrackMe Fastidieux ]

Hello pour un premier article j’ai trouvé pas mal de cracker un « crackme » (que je viens de faire ^^’)

alors commençons !

D’abord nous allons lancer le programme sans arguments, nous obtiendrons la chose suivante qui nous indique qu’il faut mettre un premier argument :

1346240070-img1.png
Nous pouvons donc nous imaginer que la » string » que nous mettrons sera comparer avec le VRAI passe ..

allons donc désassembler la fonction mais a l’aide de GDB (debugger sous Linux):
1346240332-img2.png

Examinons un peu les fonctions utilisé en C !

Il y a strcmp ici :
1346240471-img3.png
Cette fonction en C, permet de comparer 2 chaîne de caractères, donc ici la comparaison du premier argument donné et du vrai password !

allons donc mettre un breakpoint sur l’appel de cette fonction a l’aide de la commande : « b *adressedelappel ». tel que :
1346241793-img4.png
Donc maintenant exécuter le programme avec la commande « r » et donner un argument aléatoire au programme come par exemple : »123456″.

Nous voyons que le programme bloque sur la fonction de comparaison « strcmp ».On voit aussi que la fonction est comme ceci : « strcmp(argv[1],pass) »

1346242129-img5.png
C’est le moment le plus important du cracking de ce crackme fastidieux. Il faut à présent aller regarder nos variables dans le registre ESP !
Pour ceci, exécuter la commande : « x/2x $esp » dans GDB encore ! :)

Cette commande sert à aller afficher les 2 premier octet d’ESP !

Après avoir exécuté cette commande, 3 adresses mémoire s’affiche !

( Nous nous occuperons pas de la première ! )

Donc ouvrons les chaînes de caractères qu’elles contiennent ! ;)

Comment ? grâce à la commande : « x/s adressememoire » !
Pour la première adresse, nous trouverons notre faux passe que l’on a entré avant de breaker !
Et pour la deuxième ? ;)

Aller je vous laisse regarder !
1346246197-imgfinal.png

Merci d’avoir lut et bonne chance pour vos prochains CrackMe !!

No comments:

Post a Comment