Interesting Groups - Linux Privesc
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)
Wakati mwingine, kwa kawaida (au kwa sababu programu fulani inahitaji hivyo) ndani ya /etc/sudoers faili unaweza kupata baadhi ya mistari hii:
Hii inamaanisha kwamba mtumiaji yeyote anaye belong kwenye kundi la sudo au admin anaweza kutekeleza chochote kama sudo.
Ikiwa hii ni hali, ili kuwa root unaweza tu kutekeleza:
Pata binaries zote za suid na angalia kama kuna binary Pkexec:
Ikiwa unapata kwamba pkexec ni binary ya SUID na unategemea sudo au admin, huenda unaweza kutekeleza binaries kama sudo ukitumia pkexec
.
Hii ni kwa sababu kawaida hizo ndizo vikundi ndani ya polkit policy. Sera hii kimsingi inatambua ni vikundi vipi vinaweza kutumia pkexec
. Angalia kwa:
Hapo utapata ni vikundi vipi vinavyoruhusiwa kutekeleza pkexec na kwa default katika baadhi ya disktros za linux vikundi sudo na admin vinaonekana.
Ili kuwa root unaweza kutekeleza:
Ikiwa unajaribu kutekeleza pkexec na unapata kosa hili:
Sio kwa sababu huna ruhusa bali kwa sababu haujaunganishwa bila GUI. Na kuna suluhisho kwa tatizo hili hapa: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903. Unahitaji sessions 2 tofauti za ssh:
Wakati mwingine, kwa kawaida ndani ya faili ya /etc/sudoers unaweza kupata mstari huu:
Hii inamaanisha kwamba mtumiaji yeyote anaye belong kwa kundi la wheel anaweza kutekeleza chochote kama sudo.
Ikiwa hii ni hali, ili kuwa root unaweza tu kutekeleza:
Watumiaji kutoka kwa group shadow wanaweza kusoma faili ya /etc/shadow:
So, read the file and try to crack some hashes.
staff: Inaruhusu watumiaji kuongeza mabadiliko ya ndani kwenye mfumo (/usr/local
) bila kuhitaji ruhusa za root (zingatia kwamba executable katika /usr/local/bin
ziko kwenye mabadiliko ya PATH ya mtumiaji yeyote, na zinaweza "kufunika" executable katika /bin
na /usr/bin
zenye jina sawa). Linganisha na kundi "adm", ambalo lina uhusiano zaidi na ufuatiliaji/usalama. [source]
Katika usambazaji wa debian, mabadiliko ya $PATH
yanaonyesha kwamba /usr/local/
itatekelezwa kama kipaumbele cha juu zaidi, iwe wewe ni mtumiaji mwenye ruhusa au la.
Ikiwa tunaweza kuhamasisha programu fulani katika /usr/local
, tunaweza kwa urahisi kupata root.
Kuhamasisha programu ya run-parts
ni njia rahisi ya kupata root, kwa sababu programu nyingi zitakimbia run-parts
kama (crontab, wakati wa kuingia ssh).
au Wakati wa kuingia kwenye kikao kipya cha ssh.
Kuvunja
Hii haki ni karibu sawa na ufikiaji wa root kwani unaweza kufikia data zote ndani ya mashine.
Files:/dev/sd[a-z][1-9]
Kumbuka kwamba kutumia debugfs unaweza pia kuandika faili. Kwa mfano, ili nakala ya /tmp/asd1.txt
kwenda /tmp/asd2.txt
unaweza kufanya:
Hata hivyo, ikiwa unajaribu kuandika faili zinazomilikiwa na root (kama /etc/shadow
au /etc/passwd
) utapata kosa la "Ruhusa imekataliwa".
Kwa kutumia amri w
unaweza kupata nani aliyeingia kwenye mfumo na itatoa matokeo kama ifuatavyo:
The tty1 inamaanisha kwamba mtumiaji yossi ameunganishwa kimwili kwenye terminal kwenye mashine.
Kikundi cha video kina ufikiaji wa kuangalia matokeo ya skrini. Kimsingi unaweza kuangalia skrini. Ili kufanya hivyo unahitaji kuchukua picha ya sasa kwenye skrini katika data safi na kupata azimio ambalo skrini inatumia. Data ya skrini inaweza kuhifadhiwa katika /dev/fb0
na unaweza kupata azimio la skrini hii kwenye /sys/class/graphics/fb0/virtual_size
Ili fungua picha ya raw unaweza kutumia GIMP, chagua faili ya **screen.raw
** na chagua kama aina ya faili Data ya picha ya raw:
Kisha badilisha Upana na Kimo kuwa zile zinazotumika kwenye skrini na angalia Aina tofauti za Picha (na uchague ile inayoonyesha vizuri skrini):
Inaonekana kwamba kwa kawaida wanachama wa kundi la root wanaweza kuwa na ufikiaji wa kubadilisha baadhi ya faili za usanidi wa huduma au baadhi ya faili za maktaba au mambo mengine ya kuvutia ambayo yanaweza kutumika kuongeza mamlaka...
Angalia ni faili zipi wanachama wa root wanaweza kubadilisha:
Unaweza kuunganisha mfumo wa faili wa mizizi wa mashine mwenyeji kwenye kiasi cha mfano, hivyo wakati mfano unapoanza inachaji mara moja chroot
kwenye kiasi hicho. Hii kwa ufanisi inakupa mizizi kwenye mashine.
Finally, if you don't like any of the suggestions of before, or they aren't working for some reason (docker api firewall?) you could always try to run a privileged container and escape from it as explained here:
Docker SecurityIf you have write permissions over the docker socket read this post about how to escalate privileges abusing the docker socket.
Kawaida wanachama wa kundi adm
wana ruhusa za kusoma faili za log zilizoko ndani ya /var/log/.
Hivyo, ikiwa umepata udhaifu wa mtumiaji ndani ya kundi hili unapaswa kuangalia logi.
Ndani ya OpenBSD kundi la auth kawaida linaweza kuandika katika folda /etc/skey na /var/db/yubikey ikiwa zinatumika. Ruhusa hizi zinaweza kutumika vibaya kwa kutumia exploit ifuatayo ili kuinua mamlaka hadi root: https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)