Post

Partie 11 - 🏆 Challenge - exploitation des fastbins (4/4)

🏆 Challenge : exploitation des fastbins (4/4)

Il y a pas mal d’infos autour de la fastbin mĂȘme si elle est bien moins utilisĂ©e depuis que le tcache a fait son apparition. Un petit exercice s’impose afin que vous sachiez si vous maĂźtrisez les bases de la fastbin ou si des rĂ©visions s’imposent 🙃.

Une fois les bases du tcache et de la fastbin acquises, nous pourrons explorer des techniques d’exploitation avancĂ©es visant Ă  obtenir un shell en fin d’exploitation.

đŸ’» Contexte d’exĂ©cution

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

  • activer l’ASLR ;
  • atteindre l’objectif en dehors d’un dĂ©bogueur ;
  • la version de la glibc utilisĂ©e est 2.24-9ubuntu2.2_i386, il s’agit donc d’un programme 32 bits.

đŸ’« Lancer le challenge

Ci-dessous les commandes permettant de lancer le challenge :

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

Le port accessible est le suivant :

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

đŸ€“ Quelques conseils

  • Le programme a la structure d’un challenge classique dans le tas avec diverses opĂ©rations possibles impliquant des allocations, libĂ©rations 

  • Prenez le temps de faire un bon coup de reverse afin de trouver les diffĂ©rentes structures utilisĂ©es
  • En fonction de la version de la glibc et des protections en place, prenez le temps de rĂ©flĂ©chir aux potentiels problĂšmes auquel vous devrez faire face et comment les contourner
  • Prenez le temps de lister les diffĂ©rentes pistes qui pourraient vous permettre d’atteindre l’objectif

💡 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
Vm9pY2kgbGVzIHN0cnVjdHVyZXMgZXQgw6ludW3DqXJhdGlvbnMgdXRpbGlzw6llcyBwb3VyIGxlcyBhbGxlcmdpcXVlcyBhdSByZXZlcnNlIDoKCmBgYApzdHJ1Y3QgUGVycnVjaGUKewogIGNoYXIgbm9tWzEyXTsKfTsKCnN0cnVjdCBQZXJyb3F1ZXQKewogIGNoYXIgbm9tWzhdOwogIHZvaWQgKCpkaXJlQm9uam91cikoY2hhciAqKTsKfTsKCmVudW0gdHlwZV9vaXNlYXUKewogIFBFUlJVQ0hFLAogIFBFUlJPUVVFVCwKfTsKCnN0cnVjdCBvaXNlYXUKewogIGVudW0gdHlwZV9vaXNlYXUgdHlwZTsKICB2b2lkICpvaXNlYXU7Cn07CmBgYA==

💡 Indice n°2

1
Q29tbWVudCBhcHBlbGVyIGxhIGZvbmN0aW9uIGBnZ2AgPyBJbCBkZXZyYWl0IGJpZW4geSBhdm9pciBtb3llbiBkZSBiaWRvdWlsbGVyIGRhbnMgbGUgdGFzIHBvdXIgYXBwZWxlciBjZXR0ZSBmb25jdGlvbi4=

💡 Indice n°3

1
RGVzIHBvaW50ZXVycyBkZSBmb25jdGlvbiBzb250IHByw6lzZW50cywgc29udC1pbHMgbW9kaWZpYWJsZXMgPw==

💡 Indice n°4

1
RW4gcmFpc29uIGRlIGwnQVNMUiwgb24gbmUgcGV1dCBwYXMgY29ubmHDrnRyZSDDoCBsJ2F2YW5jZSBsJ2FkcmVzc2UgZGUgbGEgZm9uY3Rpb24gYGdnYC4gSWwgZmF1dCB0cm91dmVyIHVuIG1veWVuIGRlIGNvbnRvdXJuZXIgbCdBU0xSLCBwYXIgZXhlbXBsZSBlbiBmYWlzYW50IGZ1aXRlciB1bmUgYWRyZXNzZSBkZSBmb25jdGlvbiBldCBlbiBkw6lkdWlyZSBsJ2FkcmVzc2UgZGUgYGdnYCA/

💡 Indice n°5

1
UHLDqnRleiB1bmUgYXR0ZW50aW9uIHBhcnRpY3VsacOocmUgw6AgdG91dGVzIGxlcyBtYW5pcHVsYXRpb25zIGRlIGNoYcOubmVzIGRlIGNhcmFjdMOocmVzIGV0IGRlIGJ1ZmZlcnMsIGlsIHkgYSBzb3V2ZW50IGRlcyB2dWxuw6lyYWJpbGl0w6lzIGNhY2jDqWVzIGRlcnJpw6hyZSBsZXMgYm9ubmVzIGludGVudGlvbnMgZHUgZMOpdmVsb3BwZXVyLiA=

💡 Indice n°6

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