Interesting Groups - Linux Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ponekad, podrazumevano (ili zato što neki softver to zahteva) unutar /etc/sudoers datoteke možete pronaći neke od ovih linija:
To znači da bilo koji korisnik koji pripada grupi sudo ili admin može izvršavati bilo šta kao sudo.
Ako je to slučaj, da postanete root, možete jednostavno izvršiti:
Pronađite sve suid binarne datoteke i proverite da li postoji binarna datoteka Pkexec:
Ako otkrijete da je binarni fajl pkexec SUID binarni fajl i da pripadate grupi sudo ili admin, verovatno možete izvršavati binarne fajlove kao sudo koristeći pkexec
.
To je zato što su obično to grupe unutar polkit politike. Ova politika u suštini identifikuje koje grupe mogu koristiti pkexec
. Proverite to sa:
Tamo ćete pronaći koje grupe imaju dozvolu da izvrše pkexec i po defaultu u nekim linux distribucijama se pojavljuju grupe sudo i admin.
Da postanete root možete izvršiti:
Ako pokušate da izvršite pkexec i dobijete ovu grešku:
Nije zato što nemate dozvole, već zato što niste povezani bez GUI-a. I postoji rešenje za ovaj problem ovde: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903. Potrebno vam je 2 različite ssh sesije:
Ponekad, po defaultu unutar /etc/sudoers datoteke možete pronaći ovu liniju:
To znači da bilo koji korisnik koji pripada grupi wheel može izvršavati bilo šta kao sudo.
Ako je to slučaj, da postanete root možete jednostavno izvršiti:
Korisnici iz grupe shadow mogu čitati /etc/shadow datoteku:
So, pročitajte datoteku i pokušajte da provalite neke hash-e.
staff: Omogućava korisnicima da dodaju lokalne izmene u sistem (/usr/local
) bez potrebe za root privilegijama (napomena da su izvršne datoteke u /usr/local/bin
u PATH varijabli bilo kog korisnika, i mogu "prebrisati" izvršne datoteke u /bin
i /usr/bin
sa istim imenom). Uporedite sa grupom "adm", koja je više povezana sa nadzorom/bezbednošću. [source]
U debian distribucijama, $PATH
varijabla pokazuje da će /usr/local/
biti pokrenut kao najviši prioritet, bez obzira da li ste privilegovani korisnik ili ne.
Ako možemo preuzeti neke programe u /usr/local
, možemo lako dobiti root.
Preuzimanje run-parts
programa je jednostavan način da se dobije root, jer će većina programa pokrenuti run-parts
kao (crontab, kada se prijavite putem ssh).
или Kada se prijavite u novu ssh sesiju.
Eksploatacija
Ova privilegija je gotovo ekvivalentna root pristupu jer možete pristupiti svim podacima unutar mašine.
Files:/dev/sd[a-z][1-9]
Napomena da pomoću debugfs možete takođe pisati fajlove. Na primer, da kopirate /tmp/asd1.txt
u /tmp/asd2.txt
možete uraditi:
Međutim, ako pokušate da pišete datoteke koje su u vlasništvu root-a (kao što su /etc/shadow
ili /etc/passwd
) dobićete grešku "Permission denied".
Korišćenjem komande w
možete saznati ko je prijavljen na sistem i prikazaće izlaz kao što je sledeći:
tty1 значи да је корисник yossi физички пријављен на терминал на машини.
video group има приступ за преглед излаза на екрану. У основи, можете посматрати екране. Да бисте то урадили, потребно је да узмете тренутну слику на екрану у сировим подацима и добијете резолуцију коју екран користи. Податке о екрану можете сачувати у /dev/fb0
, а резолуцију овог екрана можете пронаћи на /sys/class/graphics/fb0/virtual_size
Da biste otvorili sirovu sliku, možete koristiti GIMP, odabrati **screen.raw
** datoteku i odabrati tip datoteke Sirovi podaci o slici:
Zatim promenite Širinu i Visinu na one koje koristi ekran i proverite različite Tipove slika (i odaberite onaj koji bolje prikazuje ekran):
Izgleda da po defaultu članovi root grupe mogu imati pristup modifikaciji nekih konfiguracionih datoteka usluga ili nekih biblioteka ili drugih interesantnih stvari koje se mogu koristiti za eskalaciju privilegija...
Proverite koje datoteke članovi root grupe mogu modifikovati:
Možete montirati root datotečni sistem host mašine na volumen instance, tako da kada se instanca pokrene, odmah učitava chroot
u taj volumen. Ovo vam efektivno daje root pristup na mašini.
Na kraju, ako vam se ne sviđa nijedna od prethodnih sugestija, ili ne rade iz nekog razloga (docker api firewall?), uvek možete pokušati da pokrenete privilegovani kontejner i pobegnete iz njega kao što je objašnjeno ovde:
Docker SecurityAko imate dozvole za pisanje preko docker socket-a pročitajte ovaj post o tome kako eskalirati privilegije zloupotrebom docker socket-a.
Obično članovi grupe adm
imaju dozvole da čitaju log fajlove smeštene unutar /var/log/.
Stoga, ako ste kompromitovali korisnika unutar ove grupe, definitivno biste trebali da pogledate logove.
Unutar OpenBSD auth grupa obično može da piše u foldere /etc/skey i /var/db/yubikey ako se koriste. Ove dozvole se mogu zloupotrebiti sa sledećim exploit-om da bi se eskalirale privilegije na root: https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)