Interesting Groups - Linux Privesc
Last updated
Last updated
Učite i vežbajte hakovanje AWS-a:HackTricks Obuka AWS Crveni Tim Ekspert (ARTE) Učite i vežbajte hakovanje GCP-a: HackTricks Obuka GCP Crveni Tim Ekspert (GRTE)
Ponekad, podrazumevano (ili zato što neki softver to zahteva) unutar datoteke /etc/sudoers možete pronaći neke od ovih linija:
Ovo znači da svaki korisnik koji pripada grupi sudo ili admin može izvršiti bilo šta kao sudo.
Ako je to slučaj, da biste postali root, jednostavno izvršite:
Pronađite sve suid binarne datoteke i proverite da li postoji binarna datoteka Pkexec:
Ako otkrijete da je binarni pkexec SUID binarni i pripadate grupama sudo ili admin, verovatno možete izvršiti binarne datoteke kao sudo koristeći pkexec
.
To je zato što su obično te grupe unutar polkit politike. Ova politika u osnovi identifikuje koje grupe mogu koristiti pkexec
. Proverite to sa:
Ovde ćete pronaći koje grupe imaju dozvolu da izvrše pkexec i podrazumevano u nekim Linux distribucijama grupe sudo i admin se pojavljuju.
Za postati 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 grafičkog korisničkog interfejsa. Postoji način da se reši ovaj problem ovde: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903. Potrebne su vam 2 različite ssh sesije:
Ponekad, po podrazumevanim postavkama unutar datoteke /etc/sudoers možete pronaći ovu liniju:
Ovo znači da svaki korisnik koji pripada grupi wheel može izvršiti bilo šta kao sudo.
Ako je to slučaj, da biste postali root, jednostavno izvršite:
Korisnici iz shadow grupe mogu čitati fajl /etc/shadow:
Dakle, pročitajte datoteku i pokušajte provaliti neke hešove.
osoblje: Omogućava korisnicima da dodaju lokalne modifikacije na sistemu (/usr/local
) bez potrebe za privilegijama root korisnika (napomena da izvršni fajlovi u /usr/local/bin
su u PATH varijabli svakog korisnika, i mogu "zameniti" izvršne fajlove u /bin
i /usr/bin
sa istim imenom). Uporedite sa grupom "adm", koja je više povezana sa nadgledanjem/bezbednošću. [izvor]
U debian distribucijama, $PATH
varijabla pokazuje da će /usr/local/
biti pokrenut sa najvišim prioritetom, bez obzira da li ste privilegovani korisnik ili ne.
Ako možemo preuzeti kontrolu nad nekim programima u /usr/local
, lako možemo dobiti root pristup.
Preuzimanje kontrole nad programom run-parts
je jedan od načina za lako dobijanje root pristupa, jer će većina programa pokrenuti run-parts
(kao što su crontab, prilikom ssh prijave).
ili kada se prijavi nova ssh sesija.
Iskoristi
Ova privilegija je skoro ekvivalentna pristupu kao root jer omogućava pristup svim podacima unutar mašine.
Fajlovi: /dev/sd[a-z][1-9]
Imajte na umu da pomoću debugfs-a takođe možete pisati datoteke. Na primer, da biste kopirali /tmp/asd1.txt
u /tmp/asd2.txt
, možete uraditi:
Međutim, ako pokušate pisati datoteke koje su u vlasništvu root-a (poput /etc/shadow
ili /etc/passwd
), dobićete "Permission denied" grešku.
Korišćenjem komande w
možete saznati ko je prijavljen na sistemu i prikazaće izlaz poput sledećeg:
tty1 znači da je korisnik yossi fizički prijavljen na terminal na mašini.
video grupa ima pristup za pregled izlaza ekrana. U osnovi, možete posmatrati ekrane. Da biste to uradili, treba da uhvatite trenutnu sliku ekrana u sirovim podacima i dobijete rezoluciju koju ekran koristi. Podaci ekrana mogu biti sačuvani u /dev/fb0
, a rezoluciju ovog ekrana možete pronaći na /sys/class/graphics/fb0/virtual_size
.
Da biste otvorili sirovu sliku, možete koristiti GIMP, izaberite datoteku **screen.raw
** i izaberite kao tip datoteke Podaci o sirovoj slici:
Zatim promenite Širinu i Visinu na one koje se koriste na ekranu i proverite različite Tipove slika (i izaberite onaj koji najbolje prikazuje ekran):
Izgleda da prema podrazumevanim postavkama članovi root grupe mogu imati pristup izmeni nekih konfiguracionih datoteka servisa ili nekih biblioteka datoteka ili drugih interesantnih stvari koje se mogu koristiti za eskalaciju privilegija...
Proverite koje datoteke članovi root grupe mogu da menjaju:
Možete montirati korenski fajl sistem glavne mašine na instancu zapremine, tako da kada instanca počne, odmah učitava chroot
u tu zapreminu. To vam efektivno daje root pristup mašini.
Konačno, ako vam se ne sviđaju predlozi ranije ili iz nekog razloga ne rade (firewall docker api?), uvek možete pokušati pokrenuti privilegovan kontejner i izbeći ga kako je objašnjeno ovde:
Ako 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 za čitanje log fajlova koji se nalaze unutar /var/log/.
Stoga, ako ste kompromitovali korisnika unutar ove grupe, definitivno biste trebali pregledati logove.
Unutar OpenBSD-a, grupa auth obično može pisati u fascikle /etc/skey i /var/db/yubikey ako se koriste. Ove dozvole mogu biti zloupotrebljene pomoću sledećeg eksploata za escalaciju privilegija na root: https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot