Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gitlab-cve-2020-10977 — Exploit de lecture arbitraire de fichiers GitLab | Kitploit
Outils/GitHubGitHub/vandycknick/gitlab-cve-2020-10977
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubvandycknick/gitlab-cve-2020-10977

gitlab-cve-2020-10977

Exploit de lecture arbitraire de fichiers GitLab

Voir le dépôt
222il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

GitLab CVE2020-10977

Introduction

Ce script permet une exécution de code à distance sur GitLab Community Edition (CE) et Enterprise Edition (EE). La CVE est une lecture arbitraire de fichier qui vous permet d'extraire le secret_key_base de Rails en téléchargeant le fichier secrets.yaml de GitLab. Ce qui vous permet ensuite d'obtenir une exécution de code en signant votre propre cookie experimentation_subject_id que GitLab utilise en interne pour les tests A/B. La charge utile intégrée dans le cookie contient une vulnérabilité de désérialisation qui permet d'exécuter du code sur l'instance GitLab.

La lecture arbitraire de fichier existe dans GitLab EE/CE 8.5 et versions ultérieures. Cela a été corrigé dans les versions 12.9.1, 12.8.8 et 12.7.8. Cependant, la RCE n'affecte que les versions 12.4.0 et supérieures lorsque le cookie vulnérable experimentation_subject_id a été introduit.

Testé sur 12.8.1

Utilisation

Le module a été testé avec Python 3.9 et nécessite les dépendances suivantes :

  • requests
  • beautifulsoup4

Si vous avez pipenv installé, vous pouvez rapidement démarrer en exécutant et pour obtenir un shell dans l'environnement virtuel pipenv.

pipenv install
pipenv shell
root@kitploit:~
 $ ./cve_2020_10977.py --help

usage: cve_2020_10977.py [-h] --url URL -u USERNAME -p PASSWORD [--cmd CMD]

optional arguments:
  -h, --help            show this help message and exit
  --url URL             Target URL
  -u USERNAME, --username USERNAME
                        Gitlab username
  -p PASSWORD, --password PASSWORD
                        Gitlab password
  --cmd CMD             Command to execute

Développement

Un Makefile est inclus pour faciliter le développement local ou le test de l'exploit. Il dépend de docker et docker-compose pour déployer rapidement une version locale de GitLab vulnérable à cette CVE.

root@kitploit:~
make up

Cela déploiera une instance locale de GitLab et une instance Debian pour faciliter le test d'un shell inversé. L'instance GitLab sera disponible depuis votre localhost sur le port 5580. Cette image supplémentaire vous donne une IP accessible depuis le réseau Docker. Il est possible de rendre votre localhost accessible depuis le conteneur Docker, mais cela n'en vaut pas la peine à mon avis, et je ne veux certainement pas promouvoir l'utilisation de --privileged

La connexion à l'instance Debian RHOST peut être facilement réalisée avec :

root@kitploit:~
make shell

Cela vous permet de préparer votre shell inversé avec nc -lnvp 9000.

Une fois cela fait, vous êtes prêt à tester l'exploit. Vous pouvez exécuter :

root@kitploit:~
make exploit

Pour exécuter l'exploit, cela ne fera pas la RCE, mais affichera le secret rails de GitLab.

root@kitploit:~
make exploit-rce

Enchaînera cette CVE avec la charge utile RCE mentionnée ci-dessus pour obtenir un shell inversé.

Bon hacking !

Références

  • https://hackerone.com/reports/827052
  • https://nvd.nist.gov/vuln/detail/CVE-2020-10977
  • https://www.exploit-db.com/exploits/48431
Télécharger l’outil