ld.so privesc exploit example
Last updated
Last updated
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Katika sehemu ifuatayo unaweza kupata msimbo wa faili tunazotumia kuandaa mazingira
Unda hizo faili kwenye mashine yako katika folda ile ile
Kusanya maktaba: gcc -shared -o libcustom.so -fPIC libcustom.c
Nakili libcustom.so
kwenda /usr/lib
: sudo cp libcustom.so /usr/lib
(privs za root)
Kusanya kifaa: gcc sharedvuln.c -o sharedvuln -lcustom
Angalia kwamba libcustom.so inachukuliwa kutoka /usr/lib na kwamba unaweza kutekeleza binary hiyo.
Katika hali hii tunaenda kudhani kwamba mtu ameunda kiingilio chenye udhaifu ndani ya faili katika /etc/ld.so.conf/:
The vulnerable folder is /home/ubuntu/lib (where we have writable access). Pakua na uunde msimbo ufuatao ndani ya njia hiyo:
Sasa kwamba tumekuwa tumetengeneza maktaba ya libcustom yenye madhara ndani ya njia isiyo sahihi, tunahitaji kusubiri kwa kuanzisha upya au kwa mtumiaji wa root kutekeleza ldconfig
(ikiwa unaweza kutekeleza hii binary kama sudo au ina suid bit utaweza kuitekeleza mwenyewe).
Mara hii itakapofanyika angalia tena wapi sharevuln
inachukua maktaba ya libcustom.so
:
Kama unavyoona inachukua kutoka /home/ubuntu/lib
na ikiwa mtumiaji yeyote atatekeleza, shell itatekelezwa:
Kumbuka kwamba katika mfano huu hatujapandisha mamlaka, lakini kwa kubadilisha amri zinazotekelezwa na kusubiri mtumiaji wa root au mwingine mwenye mamlaka kutekeleza binary iliyo hatarini tutaweza kupandisha mamlaka.
Katika mfano wa awali tulifanya uongo kuhusu mipangilio isiyo sahihi ambapo msimamizi aliweka folda isiyo na mamlaka ndani ya faili ya mipangilio ndani ya /etc/ld.so.conf.d/
.
Lakini kuna mipangilio mingine isiyo sahihi ambayo inaweza kusababisha udhaifu sawa, ikiwa una idhini za kuandika katika baadhi ya faili za mipangilio ndani ya /etc/ld.so.conf.d
, katika folda /etc/ld.so.conf.d
au katika faili /etc/ld.so.conf
unaweza kuunda udhaifu sawa na kuutumia.
Fikiria una mamlaka ya sudo juu ya ldconfig
.
Unaweza kuonyesha ldconfig
wapi kupakia faili za mipangilio, hivyo tunaweza kutumia fursa hii kufanya ldconfig
ipakie folda zisizo na mipaka.
Hivyo, hebu tuunde faili na folda zinazohitajika kupakia "/tmp":
Sasa, kama ilivyoonyeshwa katika kuvunjwa kwa awali, unda maktaba mbaya ndani ya /tmp
.
Na hatimaye, hebu tupakue njia na kuangalia ni wapi binary inachukua maktaba:
Kama unavyoona, kuwa na ruhusa za sudo juu ya ldconfig
unaweza kutumia udhaifu huo huo.
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)