Post

Partie 19 - 🏆 Challenge - exploitation complùte des format strings (5/5)

🏆 Challenge : exploitation complùte des format strings (5/5)

Comme Ă  l’accoutumĂ©e, c’est l’heure du du du du challenge !

Le programme Ă  exploiter est trĂšs basique. Pas besoin d’y passer des heures Ă  l’analyser. De mĂȘme que la phase d’exploitation ne devrait pas ĂȘtre trop compliquĂ©e.

C’est l’occasion de rĂ©aliser une chose dont nous n’avons pas parlĂ© dans les prĂ©cĂ©dents chapitres : comment ouvrir un terminal en exploitant une vulnĂ©rabilitĂ© dans une chaĂźne de format ?

C’est aussi l’occasion d’essayer de comprendre les choses par vous-mĂȘmes. Toujours est-il que si vous ne voyez pas de quelle technique il s’agit ou que vous ĂȘtes totalement bloquĂ©s, n’hĂ©sitez pas Ă  jeter un Ɠil aux indices.

đŸ’» Contexte d’exĂ©cution

Afin de se placer dans le contexte d’exĂ©cution prĂ©vu pour ce exercice, il est nĂ©cessaire :

  • d’activer l’ASLR ;
  • d’atteindre l’objectif en dehors d’un dĂ©boggeur.

đŸ’« Lancer le challenge

Ci-dessous les commandes permettant de lancer le challenge :

  • construction du conteneur : docker build -t pwn-fmt-challenge .;
  • lancement du conteneur et du challenge :
1
docker run -it --rm -p 1234:1234 --cap-add=SYS_PTRACE --security-opt seccomp=unconfined pwn-fmt-challenge

Le port accessible est le suivant :

  • 1234 : port qu’il est possible d’utiliser pour dĂ©boguer Ă  distance avec gdbserver.

💡 Indices

Voici quelques indices qui devraient vous permettre d’avancer lorsque vous ĂȘtes bloquĂ©s et que vous ne voyez pas comment aller plus loin.

💡 Indice n°1

1
LSBRdWVsbGVzIHNvbnQgbGVzIHByb3RlY3Rpb25zIHByw6lzZW50ZXMgPyAuLi4gb3Ugbm9uID8gUXUnaW1wbGlxdWUgbGV1ciBwcsOpc2VuY2Ugb3UgYWJzZW5jZSA/Ci0gUXVlbGxlIGVzdCBsZSBwcmVtaWVyIHByb2Jsw6htZSDDoCByw6lzb3VkcmUgYWZpbiBkJ2F2b2lyIHBsdXMgZGUgbWFyZ2UgZGUgbWFuxZN1dnJlLg==

💡 Indice n°2

1
RW4gYXlhbnQgc2V1bGVtZW50IHVuZSB0ZW50YXRpdmUgYXZlYyBsYSBjaGHDrm5lIGRlIGZvcm1hdCBub3VzIG5lIHBvdXJyb25zIHBhcyBhbGxlciB0csOocyBsb2luLiBDb21tZW50IGZhaXJlIHBvdXIgcmVsYW5jZXIgbGEgbGVjdHVyZSBldCB1dGlsaXNhdGlvbiBkZSBub3RyZSBjaGHDrm5lIGRlIGZvcm1hdCA/

💡 Indice n°3

1
U2NvIHBhIHR1IG1hbmFhCgpgYGAKICAgIEFyY2g6ICAgICBpMzg2LTMyLWxpdHRsZQogICAgUkVMUk86ICAgIFBhcnRpYWwgUkVMUk8gPC0tLS0gPwogICAgU3RhY2s6ICAgIENhbmFyeSBmb3VuZAogICAgTlg6ICAgICAgIE5YIGVuYWJsZWQKICAgIFBJRTogICAgICBObyBQSUUgKDB4ODA0ODAwMCkKYGBg

💡 Indice n°4

1
U2kgdm91cyBuJ2F2ZXogcGFzIHRyb3V2w6kgY29tbWVudCBsJ2V4cGxvaXRlciwgbuKAmWjDqXNpdGV6IHBhcyBhIGpldGVyIHVuIMWTaWwgYXUgY2hhcGl0cmUgZMOpZGnDqSBhdXggcmVsb2NhbGlzYXRpb25zIC8gR09UIC9QTFQgOyk=

💡 Indice n°5

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