Post

Partie 25 - 🏆 Challenge - exploitation avancĂ©e par ROP (6/6)

🏆 Challenge : exploitation avancĂ©e par ROP (6/6)

En parcourant ce fameux « rĂ©seau social professionnel », nous sommes tombĂ©s sur un programme dĂ©veloppĂ© par ce que l’on appelle un « vibe codeur ». Il affirme que son outil de cryptage de donnĂ©es (sic) est d’une robustesse Ă  toute Ă©preuve.

Et si on lui démontrait le contraire ?

  • 🎯 Objectif : rĂ©ussir Ă  afficher le contenu de flag.txt.

— TĂ©lĂ©chargement du challenge

L’archive du challenge est disponible ici :

Si vous avez des difficultĂ©s Ă  mettre en place le challenge, n’hĂ©sitez pas Ă  jeter un Ɠil Ă  la page annexe concernant la rĂ©solution des challenges.

đŸ’» Contexte d’exĂ©cution

Le contexte d’exĂ©cution est le suivant :

  • activer l’ASLR ;
  • atteindre l’objectif en dehors d’un dĂ©bogueur ;
  • atteindre l’objectif Ă  distance via le port 12345 ;
  • la version de la glibc utilisĂ©e n’est pas importante.

đŸ’« Lancer le challenge

Ci-dessous les commandes permettant de lancer le challenge :

  • construction du conteneur : docker build -t pwn-rop-chall .;
  • lancement du conteneur et du challenge :
1
2
3
4
5
6
docker run --rm \
  -p 12345:12345 \
  -p 1234:1234 \
  --cap-add=SYS_PTRACE \
  --security-opt seccomp=unconfined \
  pwn-rop-chall

Les ports accessibles sont les suivants :

  • 12345 : port du programme Ă  exploiter Ă  distance ;
  • 1234 : port qu’il est possible d’utiliser pour dĂ©boguer Ă  distance avec gdbserver.

đŸ€“ Quelques conseils

  • Le challenge peut ĂȘtre rĂ©solu en suivant plusieurs Ă©tapes petit Ă  petit ;
  • la rĂ©solution peut paraĂźtre longue mais chaque Ă©tape intermĂ©diaire n’est pas trĂšs compliquĂ©e ;
  • ne nĂ©gligez pas la phase de recherche de vulnĂ©rabilitĂ©s ;
  • ne croyez pas tout ce que vous voyez đŸ€­ ;
  • ce n’est pas un challenge destinĂ© Ă  exploiter le tas.

💡 Indices

Si vous avez Ă©tĂ© attentifs lors de ce cours jusqu’à prĂ©sent, vous devriez disposer de tout le bagage thĂ©orique pour parvenir Ă  exploiter le programme 😎. DĂ©sormais, “il n’y a plus qu’à”.

This post is licensed under CC BY 4.0 by the author.