Informations de base sur Gitea
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Structure de base
La structure de base de lâenvironnement Gitea consiste Ă regrouper les dĂ©pĂŽts par organisation(s), chacune dâelles pouvant contenir plusieurs dĂ©pĂŽts et plusieurs Ă©quipes. Cependant, notez que tout comme sur GitHub, les utilisateurs peuvent avoir des dĂ©pĂŽts en dehors de lâorganisation.
De plus, un utilisateur peut ĂȘtre membre de diffĂ©rentes organisations. Au sein de lâorganisation, lâutilisateur peut avoir diffĂ©rentes permissions sur chaque dĂ©pĂŽt.
Un utilisateur peut Ă©galement ĂȘtre partie de diffĂ©rentes Ă©quipes avec diffĂ©rentes permissions sur diffĂ©rents dĂ©pĂŽts.
Et enfin, les dépÎts peuvent avoir des mécanismes de protection spéciaux.
Permissions
Organisations
Lorsquâune organisation est créée, une Ă©quipe appelĂ©e PropriĂ©taires est créée et lâutilisateur y est ajoutĂ©. Cette Ă©quipe donnera un accĂšs admin sur lâorganisation, ces permissions et le nom de lâĂ©quipe ne peuvent pas ĂȘtre modifiĂ©s.
Les admins dâorg (propriĂ©taires) peuvent sĂ©lectionner la visibilitĂ© de lâorganisation :
- Publique
- Limitée (utilisateurs connectés uniquement)
- Privée (membres uniquement)
Les admins dâorg peuvent Ă©galement indiquer si les admins de dĂ©pĂŽt peuvent ajouter ou retirer lâaccĂšs pour les Ă©quipes. Ils peuvent Ă©galement indiquer le nombre maximum de dĂ©pĂŽts.
Lors de la crĂ©ation dâune nouvelle Ă©quipe, plusieurs paramĂštres importants sont sĂ©lectionnĂ©s :
- Il est indiquĂ© les dĂ©pĂŽts de lâorg auxquels les membres de lâĂ©quipe pourront accĂ©der : dĂ©pĂŽts spĂ©cifiques (dĂ©pĂŽts oĂč lâĂ©quipe est ajoutĂ©e) ou tous.
- Il est également indiqué si les membres peuvent créer de nouveaux dépÎts (le créateur obtiendra un accÚs admin à celui-ci)
- Les permissions que les membres du dépÎt auront :
- AccĂšs Administrateur
- AccÚs Spécifique :
.png)
Ăquipes & Utilisateurs
Dans un dĂ©pĂŽt, lâadmin dâorg et les admins de dĂ©pĂŽt (si autorisĂ©s par lâorg) peuvent gĂ©rer les rĂŽles attribuĂ©s aux collaborateurs (autres utilisateurs) et aux Ă©quipes. Il y a 3 rĂŽles possibles :
- Administrateur
- Ăcrire
- Lire
Authentification Gitea
AccĂšs Web
Utilisation de nom dâutilisateur + mot de passe et potentiellement (et recommandĂ©) un 2FA.
Clés SSH
Vous pouvez configurer votre compte avec une ou plusieurs clĂ©s publiques permettant Ă la clĂ© privĂ©e associĂ©e dâeffectuer des actions en votre nom. http://localhost:3000/user/settings/keys
Clés GPG
Vous ne pouvez pas usurper lâidentitĂ© de lâutilisateur avec ces clĂ©s, mais si vous ne lâutilisez pas, il pourrait ĂȘtre possible que vous soyez dĂ©couvert pour avoir envoyĂ© des commits sans signature.
Jetons dâaccĂšs personnels
Vous pouvez gĂ©nĂ©rer un jeton dâaccĂšs personnel pour donner Ă une application accĂšs Ă votre compte. Un jeton dâaccĂšs personnel donne un accĂšs complet Ă votre compte : http://localhost:3000/user/settings/applications
Applications Oauth
Tout comme les jetons dâaccĂšs personnels, les applications Oauth auront un accĂšs complet Ă votre compte et aux endroits auxquels votre compte a accĂšs car, comme indiquĂ© dans la documentation, les scopes ne sont pas encore pris en charge :
.png)
Clés de déploiement
Les clĂ©s de dĂ©ploiement peuvent avoir un accĂšs en lecture seule ou en Ă©criture au dĂ©pĂŽt, elles peuvent donc ĂȘtre intĂ©ressantes pour compromettre des dĂ©pĂŽts spĂ©cifiques.
Protections de branche
Les protections de branche sont conçues pour ne pas donner un contrĂŽle complet dâun dĂ©pĂŽt aux utilisateurs. Lâobjectif est de mettre plusieurs mĂ©thodes de protection avant de pouvoir Ă©crire du code dans une certaine branche.
Les protections de branche dâun dĂ©pĂŽt peuvent ĂȘtre trouvĂ©es sur https://localhost:3000/<orgname>/<reponame>/settings/branches
Note
Il nâest pas possible de dĂ©finir une protection de branche au niveau de lâorganisation. Donc, toutes doivent ĂȘtre dĂ©clarĂ©es sur chaque dĂ©pĂŽt.
DiffĂ©rentes protections peuvent ĂȘtre appliquĂ©es Ă une branche (comme Ă master) :
- Désactiver Push : Personne ne peut pousser vers cette branche
- Activer Push : Quiconque ayant accĂšs peut pousser, mais pas forcer le push.
- Liste blanche de Push restreint : Seuls les utilisateurs/équipes sélectionnés peuvent pousser vers cette branche (mais pas de force push)
- Activer la liste blanche de fusion : Seuls les utilisateurs/équipes sur liste blanche peuvent fusionner des PRs.
- Activer les vĂ©rifications dâĂ©tat : Exiger que les vĂ©rifications dâĂ©tat rĂ©ussissent avant de fusionner.
- Exiger des approbations : Indiquer le nombre dâapprobations requises avant quâune PR puisse ĂȘtre fusionnĂ©e.
- Restreindre les approbations aux utilisateurs sur liste blanche : Indiquer les utilisateurs/équipes qui peuvent approuver les PRs.
- Bloquer la fusion sur des revues rejetĂ©es : Si des modifications sont demandĂ©es, elle ne peut pas ĂȘtre fusionnĂ©e (mĂȘme si les autres vĂ©rifications rĂ©ussissent)
- Bloquer la fusion sur des demandes de rĂ©vision officielles : Si des demandes de rĂ©vision officielles existent, elle ne peut pas ĂȘtre fusionnĂ©e
- Rejeter les approbations obsolÚtes : Lors de nouveaux commits, les anciennes approbations seront rejetées.
- Exiger des commits signĂ©s : Les commits doivent ĂȘtre signĂ©s.
- Bloquer la fusion si la demande de tirage est obsolĂšte
- ModÚles de fichiers protégés/non protégés : Indiquer les modÚles de fichiers à protéger/non protéger contre les modifications
Note
Comme vous pouvez le voir, mĂȘme si vous parvenez Ă obtenir des identifiants dâun utilisateur, les dĂ©pĂŽts peuvent ĂȘtre protĂ©gĂ©s vous empĂȘchant de pousser du code vers master par exemple pour compromettre le pipeline CI/CD.
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

