ld.so privesc exploit example
Andaa mazingira
Katika sehemu ifuatayo unaweza kupata nambari ya faili ambazo tutatumia kuandaa mazingira
Faili hili linadefine kichwa cha ulinzi LIBCUSTOM_H
na ina kazi moja inayoitwa custom_function()
.
Tengeneza faili hizo kwenye kompyuta yako katika folda ile ile
Kamilisha maktaba:
gcc -shared -o libcustom.so -fPIC libcustom.c
Nakili
libcustom.so
kwenda/usr/lib
:sudo cp libcustom.so /usr/lib
(mamlaka ya msingi)Kamilisha programu inayoweza kushiriki:
gcc sharedvuln.c -o sharedvuln -lcustom
Angalia mazingira
Angalia kwamba libcustom.so ina pakuliwa kutoka /usr/lib na kwamba unaweza kutekeleza faili ya binari.
Kudukiza
Katika kisa hiki tutafikiria kwamba mtu fulani ameunda kiingilio kinachoweza kudukizwa ndani ya faili katika /etc/ld.so.conf/:
Kabati lenye udhaifu ni /home/ubuntu/lib (ambapo tuna ufikiaji wa kuandika). Pakua na kisindike nambari ifuatayo ndani ya njia hiyo:
Sasa tukiwa tumetengeneza maktaba ya hatari ya libcustom ndani ya njia iliyopangwa vibaya, tunahitaji kusubiri kwa ajili ya kuanza upya au kwa mtumiaji wa mizizi kutekeleza ldconfig
(katika kesi unaweza kutekeleza faili hii kama sudo au ina bit suid unaweza kuitekeleza mwenyewe).
Baada ya hili kutokea, angalia tena mahali ambapo kutekelezwa kwa sharevuln
inapakia maktaba ya libcustom.so
kutoka:
Kama unavyoona ina inapakia kutoka /home/ubuntu/lib
na ikiwa mtumiaji yeyote anatekeleza, kifaa cha kutekeleza kitatekelezwa:
Tafadhali kumbuka kuwa katika mfano huu hatujapandisha vyeo, lakini kwa kubadilisha amri zilizotekelezwa na kungoja mtumiaji wa mizizi au mtumiaji mwingine mwenye mamlaka kutekeleza faili inayoweza kudhurika tutaweza kupandisha vyeo.
Ulandanishi mwingine - Kosa sawa
Katika mfano uliopita tulifanya udanganyifu wa kosa ambapo msimamizi aliamsha folda isiyokuwa na mamlaka ndani ya faili ya usanidi ndani ya /etc/ld.so.conf.d/
.
Lakini kuna ulandanishi mwingine ambao unaweza kusababisha udhaifu sawa, ikiwa una ruhusa ya kuandika katika faili ya usanidi ndani ya /etc/ld.so.conf.d
, katika folda /etc/ld.so.conf.d
au katika faili /etc/ld.so.conf
unaweza kuweka udhaifu sawa na kuitumia.
Kudukua 2
Fikiria una ruhusa za sudo juu ya ldconfig
.
Unaweza kuonyesha ldconfig
mahali pa kupakia faili za usanidi kutoka, kwa hivyo tunaweza kutumia hilo kufanya ldconfig
ipakie folda za kiholela.
Basi, hebu tujenge faili na folda zinazohitajika kupakia "/tmp":
Sasa, kama ilivyoelezwa katika shambulio lililopita, unda maktaba ya hatari ndani ya /tmp
. Na mwishowe, tulete njia na tuchunguze wapi programu inapakia maktaba kutoka:
Kama unavyoona, ukiwa na mamlaka ya sudo juu ya ldconfig
unaweza kutumia udhaifu huo huo.
Sikupata njia ya kuutumia udhaifu huu ikiwa ldconfig
imeundwa na biti ya suid. Kosa lifuatalo linaonekana: /sbin/ldconfig.real: Haiwezi kuunda faili ya cache ya muda /etc/ld.so.cache~: Ruhusa imekataliwa
Marejeo
Dab machine in HTB
Last updated