Post

Partie 17 - 🏆 Challenge - exploitation de la unsorted bin (4/4)

🏆 Challenge : exploitation de la unsorted bin (4/4)

Depuis plusieurs chapitres, nous avons eu l’occasion de rencontrer divers Ă©lĂ©ments utilisĂ©s dans le tas dont la unsorted bin. Il est temps de passer Ă  un exercice un peu plus croustillant et rĂ©aliste qui consiste cette fois-ci Ă  ouvrir un terminal en exploitant le tas.

Bon courage !

đŸ’» 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Ă©boggeur ;
  • la version de la glibc utilisĂ©e est 2.33-0ubuntu5_amd64

đŸ’« Lancer le challenge

Ci-dessous les commandes permettant de lancer le challenge :

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

Le port accessible est le suivant :

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

đŸ€“ Quelques conseils

  • Ce challenge est un peu plus complexe que les prĂ©cĂ©dents. Ainsi, si vous ne trouvez pas directement par quel bout le prendre ou comment atteindre l’objectif, c’est normal. En suivant une piste il est possible que vous fassiez face Ă  des Ă©cueils qu’il va falloir contourner. Dans tous les cas, tout ce qui a Ă©tĂ© prĂ©cĂ©demment vu devrait vous permettre de rĂ©ussir cet exercice. Plusieurs Ă©tapes seront nĂ©cessaires avant d’atteindre l’objectif.
  • 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, rĂ©flĂ©chissez aux potentiels problĂšmes auxquels vous devrez faire face et comment les contourner.
  • N’oubliez pas de lister les potentielles pistes qui pourraient vous permettre d’atteindre l’objectif.
  • N’hĂ©sitez pas Ă  ouvrir gdb dans votre script d’exploitation avec la commande ci-dessous, afin de voir ce qui est en train de se passer dans le tas :
1
2
3
gdb.attach(io, '''  
b *0xadresse   
''')

💡 Indices

Encore une fois, s’il vous arrive d’ĂȘtre bloquĂ© lors de certaines Ă©tapes, c’est normal. C’est le but du challenge : vous apprendre Ă  investiguer les causes d’un dysfonctionnement lorsque l’on pense avoir pourtant fait ce qui est correct.

Si vous pensez ĂȘtre totalement bloquĂ©s et que vous n’arrivez pas Ă  avancer mĂȘme en ayant cherchĂ© la cause du dysfonctionnement, alors vous pouvez vous aider des indices. Sinon, essayez d’éviter d’utiliser les indices tant que vous n’avez pas assez cherchĂ© 😉.

💡 Indice n°1

1
TGUgZMOpdmVsb3BwZXVyIGR1IGNoYWxsZW5nZSBuJ2VzdCBwYXMgdHLDqHMgZG91w6ksIGlsIHNlIHBldXQgcXVlIGNlcnRhaW5lcyBmb25jdGlvbm5hbGl0w6lzIG5lIGZvbmN0aW9ubmVudCBwYXMgY29tbWUgYXR0ZW5kdS4gVGVudGV6IGQnaW52ZXN0aWd1ZXIgbGEgY2F1c2UgLi4u

💡 Indice n°2

1
SWwgbid5IGEgcGFzIGRlIHBvaW50ZXVyIGRlIGZvbmN0aW9uIHV0aWxpc8OpIGRpcmVjdGVtZW50IHBhciBsZSBwcm9ncmFtbWUuIElsIHZhIGRvbmMgZmFsbG9pciB0cm91dmVyIHVuIG1veWVuIGQnZXjDqWN1dGVyIGR1IGNvZGUgb3UgdW5lIGZvbmN0aW9uLgoKTGEgdmVyc2lvbiBkZSBsYSBsaWJjIGVzdCAyLjMzLCBxdWUgcGV1dC1vbiBlbiBkw6lkdWlyZSA/

💡 Indice n°3

1
U2F2b2lyIG/DuSBs4oCZb24gdmEgY+KAmWVzdCBiaWVuLCBtYWlzIHLDqXVzc2lyIMOgIHkgYWxsZXIgY+KAmWVzdCBlbmNvcmUgbWlldXggIQoKVGVudGV6IGRlIHRyb3V2ZXIgdG91cyBsZXMgZHlzZm9uY3Rpb25uZW1lbnRzIG91IHZ1bG7DqXJhYmlsaXTDqXMgcHLDqXNlbnRlcyBkYW5zIGxlIGNvZGUgZXQgw6l2YWx1ZXogY2UgcXVlIHZvdXMgcG91dmV6IGZhaXJlIGF2ZWMgY2hhY3VuLgoKVm91cyBmYWl0ZXMgc8O7cmVtZW50IGZhY2Ugw6AgdW4gb3UgcGx1c2lldXJzIGRlcyBwcm9ibMOobWVzIHN1aXZhbnRzIDoKCi0gY29tbWVudCBmYWlyZSBmdWl0ZXIgdW5lIGFkcmVzc2UgZGUgbGEgbGliYyA/Ci0gY29tbWVudCBmYWlyZSBmdWl0ZXIgdW5lIGFkcmVzc2UgZHUgdGFzID8KLSBjb21tZW50IHLDqXVzc2lyIMOgIGFsbG91ZXIgdW4gYmxvYyBkYW5zIGxhIHVuc29ydGVkIGJpbiBhbG9ycyBxdWUgbGUgdGNhY2hlIGVzdCBwcsOpc2VudCA/CgrDh2EgdG9tYmUgYmllbiwgbm91cyBhdm9ucyB2dSBkZXMgw6lsw6ltZW50cyBkZSByw6lwb25zZXMgw6AgY2VzIHF1ZXN0aW9ucyBkYW5zIGxlcyBwcsOpY8OpZGVudHMgY2hhcGl0cmVzIDspLiA=

💡 Indice n°4

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