Osnovne Gitea Informacije
Reading time: 5 minutes
tip
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)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovna Struktura
Osnovna struktura Gitea okruženja je grupisanje repozitorijuma po organizacijama, svaka od njih može sadržati several repositories i several teams. Međutim, imajte na umu da, kao i na github-u, korisnici mogu imati repozitorijume van organizacije.
Štaviše, korisnik može biti član različitih organizacija. Unutar organizacije, korisnik može imati različite dozvole za svaki repozitorijum.
Korisnik može biti i deo različitih timova sa različitim dozvolama za različite repozitorijume.
I konačno, repozitorijumi mogu imati posebne mehanizme zaštite.
Dozvole
Organizacije
Kada se organizacija kreira, tim pod nazivom Owners se kreira i korisnik se stavlja unutar njega. Ovaj tim će dati admin pristup nad organizacijom, te dozvole i ime tima se ne mogu menjati.
Org admins (vlasnici) mogu odabrati vidljivost organizacije:
- Javno
- Ograničeno (samo prijavljeni korisnici)
- Privatno (samo članovi)
Org admins takođe mogu naznačiti da li repo admins mogu dodavati ili uklanjati pristup za timove. Takođe mogu naznačiti maksimalan broj repozitorijuma.
Kada se kreira novi tim, biraju se nekoliko važnih podešavanja:
- Naznačuje se repozitorijumi organizacije kojima će članovi tima moći da pristupaju: specifični repozitorijumi (repozitorijumi gde je tim dodat) ili svi.
- Takođe se naznačuje da li članovi mogu kreirati nove repozitorijume (kreator će dobiti admin pristup).
- Dozvole koje će članovi repozitorijuma imati:
- Administrator pristup
- Specifičan pristup:
Timovi & Korisnici
U repozitorijumu, org admin i repo admins (ako to dozvoljava org) mogu upravljati ulogama dodeljenim saradnicima (drugim korisnicima) i timovima. Postoje 3 moguće uloge:
- Administrator
- Pisanje
- Čitanje
Gitea Autentifikacija
Web Pristup
Korišćenje korisničkog imena + lozinke i potencijalno (i preporučeno) 2FA.
SSH Ključevi
Možete konfigurisati svoj nalog sa jednim ili više javnih ključeva koji omogućavaju povezani privatni ključ da izvršava radnje u vaše ime. http://localhost:3000/user/settings/keys
GPG Ključevi
Ne možete se pretvarati da ste korisnik sa ovim ključevima, ali ako ih ne koristite, može biti moguće da budete otkriveni zbog slanja commit-a bez potpisa.
Lični Pristupni Tokeni
Možete generisati lični pristupni token da dajte aplikaciji pristup vašem nalogu. Lični pristupni token daje potpun pristup vašem nalogu: http://localhost:3000/user/settings/applications
Oauth Aplikacije
Baš kao lični pristupni tokeni, Oauth aplikacije će imati potpun pristup vašem nalogu i mestima kojima vaš nalog ima pristup, jer, kao što je naznačeno u docs, opsezi još nisu podržani:
Ključevi za Implementaciju
Ključevi za implementaciju mogu imati pristup samo za čitanje ili pisanje repozitorijumu, tako da mogu biti zanimljivi za kompromitovanje specifičnih repozitorijuma.
Zaštite Grana
Zaštite grana su dizajnirane da ne daju potpunu kontrolu nad repozitorijumom korisnicima. Cilj je postaviti nekoliko metoda zaštite pre nego što se može pisati kod unutar neke grane.
Zaštite grana repozitorijuma mogu se naći na https://localhost:3000/<orgname>/<reponame>/settings/branches
note
Nije moguće postaviti zaštitu grane na nivou organizacije. Tako da sve one moraju biti deklarisane na svakom repozitorijumu.
Različite zaštite mogu se primeniti na granu (kao na master):
- Onemogući Push: Niko ne može da pošalje na ovu granu
- Omogući Push: Svako ko ima pristup može da pošalje, ali ne može da forsira push.
- Whitelist Ograničen Push: Samo odabrani korisnici/timovi mogu da pošalju na ovu granu (ali ne i forsirati push)
- Omogući Merge Whitelist: Samo korisnici/timovi sa liste mogu da spajaju PR-ove.
- Omogući Status provere: Zahteva da provere statusa prođu pre spajanja.
- Zahteva odobrenja: Naznačite broj odobrenja potrebnih pre nego što se PR može spojiti.
- Ograniči odobrenja na belu listu: Naznačite korisnike/timove koji mogu odobriti PR-ove.
- Blokiraj spajanje na odbijenim recenzijama: Ako su tražene izmene, ne može se spojiti (čak i ako ostale provere prođu)
- Blokiraj spajanje na zvanične zahteve za recenziju: Ako postoje zvanični zahtevi za recenziju, ne može se spojiti
- Odbaci zastarele odobrenja: Kada su novi commit-i, stara odobrenja će biti odbijena.
- Zahteva Potpisane Commit-e: Commit-i moraju biti potpisani.
- Blokiraj spajanje ako je pull request zastareo
- Zaštićeni/Nezaštićeni obrasci datoteka: Naznačite obrasce datoteka koje treba zaštititi/nezaštititi od izmena
note
Kao što možete videti, čak i ako ste uspeli da dobijete neka akreditivna sredstva korisnika, repozitorijumi mogu biti zaštićeni sprečavajući vas da šaljete kod na master, na primer, da biste kompromitovali CI/CD pipeline.
tip
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)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.