LE BLOG DE RICK Linux Random WU

Par Rick dans WU le 21/04/2021.


Tendu comme un slip & No strings

Cet article est le numéro 7 de la série WU PhackCTF 2021.

  1. WU PHACKCTF 2021
  2. Alien
  3. Alter Egg-o
  4. Ben & Harry
  5. Git de France
  6. Quick Response Code
  7. Tendu comme un slip & No strings

Tendu comme un slip

Il n’y a qu’un fichier exécutable, sans aucune autre information pour ce challenge. Premier réflexe à avoir quand on télécharge un chall pour du reverse : utiliser la commande strings. Elle permet d’afficher plein d’informations intéressantes comme les strings enregistrés en mémoire par l’assembleur ainsi que des informations de compilations. Je rajoute un petit grep pour me faciliter la tâche.

strings tendu | grep PHACK

No strings

Comme pour le chall précédent, je ne reçois qu’un fichier exécutable sans informations. Cependant, le nom laisse sugérer qu’il n’y a pas de flags trouvable avec la commande strings. Si je reproduis la commande précédente, je ne trouve rien.

Ouvrons alors le fichier dans Cutter. C’est un outil qui va nous montrer le code assembleur du fichier avec des informations intéressantes en plus, comme l’arbre d’appel des fonctions, la liste des fonctions, etc. Je vois directement une fonction display_flag dans la liste.

fonction display_flag dans la liste des fonctions

Cependant, si j’ouvre l’abre d’appel du main, je ne vois aucun appel à display_flag.

abre d’appel du main

Je vais alors regarder dans le main pour faire quelque chose de tout simple : modifier un appel pour mettre la fonction voulue. Je copie alors l’adresse de la fonction display_flag et modifie un call pour la mettre.

Avant :

main modifié

Après :

main modifié

Je ferme Cutter et lance le programme. Le flag apparait alors…