Basic Gitea Information
Jifunze na kufanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na kufanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Basic Structure
Muundo wa msingi wa mazingira ya Gitea ni kuunganisha repos kwa shirika(s), kila moja inaweza kuwa na repo kadhaa na tim kadhaa. Hata hivyo, kumbuka kwamba kama ilivyo kwenye github watumiaji wanaweza kuwa na repos nje ya shirika.
Zaidi ya hayo, mtumiaji anaweza kuwa mwanachama wa mashirika tofauti. Ndani ya shirika mtumiaji anaweza kuwa na ruhusa tofauti juu ya kila repo.
Mtumiaji anaweza pia kuwa sehemu ya timu tofauti na ruhusa tofauti juu ya repos tofauti.
Na hatimaye repos zinaweza kuwa na mifumo maalum ya ulinzi.
Permissions
Organizations
Wakati shirika linaundwa timu inayoitwa Owners inaundwa na mtumiaji anawekwa ndani yake. Timu hii itatoa upatikanaji wa admin juu ya shirika, hizo ruhusa na jina la timu haziwezi kubadilishwa.
Org admins (wamiliki) wanaweza kuchagua kuonekana kwa shirika:
Public
Limited (watumiaji walioingia tu)
Private (wanachama tu)
Org admins wanaweza pia kuonyesha kama repo admins wanaweza kuongeza na au kuondoa upatikanaji kwa timu. Wanaweza pia kuonyesha idadi ya juu ya repos.
Wakati wa kuunda timu mpya, mipangilio kadhaa muhimu inachaguliwa:
Inaonyeshwa repos za org ambazo wanachama wa timu wataweza kufikia: repos maalum (repos ambapo timu imeongezwa) au zote.
Inaonyeshwa pia kama wanachama wanaweza kuunda repos mpya (muundaji atapata upatikanaji wa admin kwake)
Ruhusa ambazo wanachama wa repo watakuwa nazo:
Upatikanaji wa Administrator
Upatikanaji maalum:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3270244124-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FNMQzPwpgCFpke97H2tTI%252Fuploads%252Fgit-blob-79ded4931f1ecf5ab407c077b05f15ef66bf9771%252Fimage%2520%28118%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=db2a0eb7&sv=1)
Teams & Users
Katika repo, org admin na repo admins (ikiwa inaruhusiwa na org) wanaweza kusimamia majukumu yaliyotolewa kwa washirika (watumiaji wengine) na timu. Kuna 3 majukumu yanayowezekana:
Administrator
Write
Read
Gitea Authentication
Web Access
Kutumia jina la mtumiaji + nenosiri na uwezekano (na inapendekezwa) 2FA.
SSH Keys
Unaweza kusanidi akaunti yako na ufunguo mmoja au kadhaa wa umma kuruhusu ufunguo wa kibinafsi kufanya vitendo kwa niaba yako. http://localhost:3000/user/settings/keys
GPG Keys
Huwezi kujifanya mtumiaji na funguo hizi lakini kama hutumii inaweza kuwa inawezekana kwamba ugunduliwe kwa kutuma commits bila saini.
Personal Access Tokens
Unaweza kuzalisha token ya upatikanaji wa kibinafsi ili kutoa programu upatikanaji wa akaunti yako. Token ya upatikanaji wa kibinafsi inatoa upatikanaji kamili juu ya akaunti yako: http://localhost:3000/user/settings/applications
Oauth Applications
Kama ilivyo kwa token za upatikanaji wa kibinafsi Oauth applications zitakuwa na upatikanaji kamili juu ya akaunti yako na maeneo ambayo akaunti yako ina upatikanaji kwa sababu, kama ilivyoonyeshwa katika docs, scopes hazijaungwa mkono bado:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3270244124-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FNMQzPwpgCFpke97H2tTI%252Fuploads%252Fgit-blob-218057ddbf5414069dbe60e049295868f883af65%252Fimage%2520%28194%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=b69d58aa&sv=1)
Deploy keys
Deploy keys zinaweza kuwa na upatikanaji wa kusoma tu au kuandika kwa repo, hivyo zinaweza kuwa za kuvutia kuathiri repos maalum.
Branch Protections
Branch protections zimeundwa ili kutopeana udhibiti kamili wa repo kwa watumiaji. Lengo ni kutoa mbinu kadhaa za ulinzi kabla ya kuweza kuandika msimbo ndani ya tawi fulani.
Branch protections za repo zinaweza kupatikana katika https://localhost:3000/<orgname>/<reponame>/settings/branches
Haiwezekani kuweka ulinzi wa tawi katika ngazi ya shirika. Hivyo zote lazima zitangazwe kwenye kila repo.
Ulinzi tofauti unaweza kutumika kwa tawi (kama kwa master):
Disable Push: Hakuna mtu anayeweza kusukuma kwa tawi hili
Enable Push: Mtu yeyote mwenye upatikanaji anaweza kusukuma, lakini si kusukuma kwa nguvu.
Whitelist Restricted Push: Watumiaji/timu zilizochaguliwa tu wanaweza kusukuma kwa tawi hili (lakini si kusukuma kwa nguvu)
Enable Merge Whitelist: Watumiaji/timu zilizoorodheshwa tu wanaweza kuunganisha PRs.
Enable Status checks: Inahitaji ukaguzi wa hali kupita kabla ya kuunganisha.
Require approvals: Inaonyesha idadi ya idhini zinazohitajika kabla ya PR kuunganishwa.
Restrict approvals to whitelisted: Inaonyesha watumiaji/timu zinazoweza kuidhinisha PRs.
Block merge on rejected reviews: Ikiwa mabadiliko yanahitajika, haiwezi kuunganishwa (hata kama ukaguzi mwingine unapita)
Block merge on official review requests: Ikiwa kuna maombi rasmi ya ukaguzi haiwezi kuunganishwa
Dismiss stale approvals: Wakati commits mpya, idhini za zamani zitafutwa.
Require Signed Commits: Commits lazima zisainiwe.
Block merge if pull request is outdated
Protected/Unprotected file patterns: Inaonyesha mifumo ya faili kulinda/kutoilinda dhidi ya mabadiliko
Kama unavyoona, hata kama umefanikiwa kupata baadhi ya sifa za mtumiaji, repos zinaweza kulindwa kukuzuia kusukuma msimbo kwa master kwa mfano kuathiri CI/CD pipeline.
Jifunze na kufanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na kufanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated