Archives du blog

dimanche 27 mars 2011

Wargame Leviathan, challenges à la portée de tous

Oui, qu'on ne me dise plus "oui il faudrait que je m'y mette" ou encore "Je comprends pas trop le concept" .
Là, vous ne pourrez plus m'envoyer votre incompréhension en pleine face.
Voici à quoi ressemble le niveau 2 (parce-que le premier c'est pas vraiment un challenge que de savoir faire un grep) :


Le binaire a exploiter ici, c'est "check" parce-qu'il est UID Level3 & Level2 et comme nous sommes au niveau 2... Gotcha ?


On le lance, on se prend une trappe à cause du mot de passe qu'on ne connait bien évidemment pas.
Heureusement le serveur du challenge a les outils qu'il faut, où il faut.
Alors, soit on se la joue vrai mec cool et on lance GDB pour apprendre des trucs, soit on se la joue petit branleur avec ltrace.
Allé ! Je lance ltrace ! :) (non je déconne, je suis un cool dude)

On remarque la présence (ô combien inattendue) d'un petit STRCMP à la ligne 133
qui va comparer le mot de passe que je rentre et celui qui est en dur dans le binaire.
On y place un Breakpoint et on lance le carrosse :


Le mot de passe est donc sex . Et ça nous ouvre un shell vers le niveau suivant.
Cmon ! Mettez vous-y un peu !

3 commentaires:

  1. Salut, pourrais tu expliquer un peu ce que tu fais avec gdb stp ?

    RépondreSupprimer
  2. Blorf, rien de bien compliqué. Dans l'ordre :
    *Il désassemble la partie "main" du programme". (disas main).
    *Il pose un point d'arret sur le strcmp ,à l'adresse de main + 133 octets. : (b *main+133) peut aussi s'écrire (break *main+133)
    *Il lance le programme : (r) qui peut aussi s'écrire (run).
    *Il examine (x) la pile à l'adresse du registre esp avec affichage des données sous forme de chaine de caractère (x/s $esp) (x pour examine, s pour string)
    *Il examine la pile à l'adresse de esp. Il affiche 2 DWORD sous forme hexa (x/2x $esp). Le premier x pour examin, le deuxième pour "forme hexa" et le 2 pour le nombre de DWORD.
    *Puis il le contenu pointé par les adresses en mémoire, affichage sous forme de chaine de caractères. Je te laisse interpreter à partir de là.

    RépondreSupprimer
  3. Thx Pheimors pour ton explication ^^ je rentre juste du taf :p

    Content d'avoir des lecteurs \o/

    RépondreSupprimer