2021-01-28 18:37:55 +00:00
|
|
|
#Il y a un executable qui demande d'avoir un UID=4242 il est actuelement a 2013
|
|
|
|
#On va essayer de changer la fonciton getuid avec LD_PRELOAD pour qu'elle renvoiele bon UID
|
|
|
|
|
|
|
|
# on se place dans un dosier du /tmp
|
|
|
|
|
2021-02-02 18:43:43 +00:00
|
|
|
# depuis la vm:
|
2021-01-28 18:37:55 +00:00
|
|
|
$ mkdir -p /tmp/.level13 && cd /tmp/.level13
|
2021-02-02 18:43:43 +00:00
|
|
|
# on copie la fonction getuid adapter depuis la session extern:
|
|
|
|
$ scp -P 4242 level13/Ressources/inject_getuid.c level13@127.0.0.2:/tmp/.level13/
|
|
|
|
# depuis la vm:
|
2021-01-28 18:37:55 +00:00
|
|
|
$ gcc -shared -fPIC -o inject_getuid.so inject_getuid.c
|
|
|
|
|
|
|
|
$ LD_PRELOAD=/tmp/.level13/inject_getuid.so ./level13
|
|
|
|
|
2021-01-30 08:28:35 +00:00
|
|
|
# LD_PRELOAD n'est pas charge, car une securite linux empeche LD_PRELOAD sur les exe qui ne nous appartiennent pas.
|
|
|
|
# Heureusement, l'owner du fichier ne change rien a son fonctionnement, contrairement a getflag.
|
2021-01-28 18:37:55 +00:00
|
|
|
|
|
|
|
# On copie alors l'executable dans /tmp/.level13
|
|
|
|
# l'executable nmous appartient on peut donc utiliser LD_PRELOAD
|
|
|
|
|
2021-02-02 18:43:43 +00:00
|
|
|
$ cp ~/level13 .
|
2021-01-28 18:37:55 +00:00
|
|
|
$ LD_PRELOAD=/tmp/.level13/inject_getuid.so ./level13
|
|
|
|
> your token is 2A31L79asukciNyi8uppkEuSx
|
|
|
|
|