ld.so privesc exploit example
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
In die volgende afdeling kan jy die kode van die lêers vind wat ons gaan gebruik om die omgewing voor te berei
Skep daardie lêers op jou masjien in dieselfde gids
Kompileer die biblioteek: gcc -shared -o libcustom.so -fPIC libcustom.c
Kopieer libcustom.so
na /usr/lib
: sudo cp libcustom.so /usr/lib
(root privs)
Kompileer die uitvoerbare: gcc sharedvuln.c -o sharedvuln -lcustom
Kontroleer dat libcustom.so vanaf /usr/lib gelaai word en dat jy die binêre kan uitvoer.
In hierdie scenario gaan ons veronderstel dat iemand 'n kwesbare invoer geskep het binne 'n lêer in /etc/ld.so.conf/:
Die kwesbare gids is /home/ubuntu/lib (waar ons skrywe toegang het). Laai en kompileer die volgende kode binne daardie pad:
Nou dat ons die kwaadwillige libcustom biblioteek binne die verkeerd geconfigureerde pad geskep het, moet ons wag vir 'n herlaai of vir die root gebruiker om ldconfig
uit te voer (in die geval dat jy hierdie binaire as sudo kan uitvoer of dit die suid bit het, sal jy dit self kan uitvoer).
Sodra dit gebeur het, herkontroleer waar die sharevuln
uitvoerbare lêer die libcustom.so
biblioteek laai vanaf:
Soos jy kan sien, laai dit dit vanaf /home/ubuntu/lib
en as enige gebruiker dit uitvoer, sal 'n shell uitgevoer word:
Let daarop dat ons in hierdie voorbeeld nie privilige verhoog het nie, maar deur die opdragte wat uitgevoer word te verander en te wag vir root of 'n ander bevoorregte gebruiker om die kwesbare binêre uit te voer sal ons in staat wees om privilige te verhoog.
In die vorige voorbeeld het ons 'n miskonfigurasie gefak waar 'n administrateur 'n nie-bevoorregte gids binne 'n konfigurasie-lêer binne /etc/ld.so.conf.d/
gestel het.
Maar daar is ander miskonfigurasies wat dieselfde kwesbaarheid kan veroorsaak, as jy skryfregte in 'n konfigurasie-lêer binne /etc/ld.so.conf.d
, in die gids /etc/ld.so.conf.d
of in die lêer /etc/ld.so.conf
het, kan jy dieselfde kwesbaarheid konfigureer en dit benut.
Neem aan jy het sudo privilige oor ldconfig
.
Jy kan aan dui ldconfig
waar om die konfigurasie-lêers van te laai, so ons kan dit benut om ldconfig
te laat laai willekeurige gidse.
So, kom ons skep die lêers en gidse wat nodig is om "/tmp" te laai:
Nou, soos aangedui in die vorige uitbuiting, skep die kwaadwillige biblioteek binne /tmp
.
En laastens, laat ons die pad laai en kyk waar die binêre die biblioteek van laai:
Soos jy kan sien, as jy sudo-regte oor ldconfig
het, kan jy dieselfde kwesbaarheid benut.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)