ld.so privesc exploit example
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
Berei die omgewing voor
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 die omgewing
Kontroleer dat libcustom.so gelaai word vanaf /usr/lib en dat jy die binêre kan uitvoer.
Exploit
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 af 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 vanaf /home/ubuntu/lib
en as enige gebruiker dit uitvoer, sal 'n shell uitgevoer word:
Let daarop dat ons in hierdie voorbeeld nie privaathede 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 privaathede te verhoog.
Ander miskonfigurasies - Dieselfde kwesbaarheid
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 of ander 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.
Exploit 2
Neem aan jy het sudo-regte oor ldconfig
.
Jy kan aan ldconfig
aanwys waar om die konfig-lêers 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)
Last updated