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 — Demuestra la ejecución de código arbitrario CVE-2021-21300 mediante ganchos de Git maliciosos en sistemas de archivos que no distinguen entre mayúsculas y minúsculas, incluidos los pasos de explotación y las medidas defensivas. | Kitploit
Herramientas/GitHubGitHub/sizvy/cve-2021-21300
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPapers e InvestigaciónAprendizaje y EducaciónExplotación de Binarios
GitHubsizvy/cve-2021-21300

CVE-2021-21300

Demuestra la ejecución de código arbitrario CVE-2021-21300 mediante ganchos de Git maliciosos en sistemas de archivos que no distinguen entre mayúsculas y minúsculas, incluidos los pasos de explotación y las medidas defensivas.

Ver Repositorio
11hace 1 añoAú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

CVE-2021-21300: Ejecución de Código Arbitrario a través de Hooks Maliciosos de Git

📌 Resumen

CVE-2021-21300 es una vulnerabilidad crítica en Git (versiones 2.14.2 a 2.30.1) que permite a atacantes ejecutar código arbitrario en máquinas víctimas explotando enlaces simbólicos y sistemas de archivos que no distinguen mayúsculas y minúsculas.


🧠 Declaración del Problema

  • Vulnerabilidad: Ejecución de código arbitrario mediante hooks maliciosos de Git.
  • Causa Raíz: Los sistemas de archivos que no distinguen mayúsculas y minúsculas (por ejemplo, Windows/macOS) resuelven A/post-checkout como .git/hooks/post-checkout.
  • Impacto: Los atacantes pueden inyectar y ejecutar hooks maliciosos cuando un usuario clona el repositorio infectado.

🔍 Trasfondo Teórico

El Truco

Git permite hooks definidos por el usuario almacenados en .git/hooks/. En sistemas de archivos que no distinguen mayúsculas y minúsculas:

  • Una carpeta manipulada como A/post-checkout puede interpretarse como .git/hooks/post-checkout.
  • Un enlace simbólico reemplaza A/ con .git/hooks/, evitando las restricciones.

El Exploit

  1. Crear el directorio A y un archivo A/post-checkout que contenga comandos maliciosos.
  2. Preparar el directorio y su contenido para Git.
  3. Eliminar el directorio y reemplazar A con un enlace simbólico a .git/hooks/.
  4. Cuando Git ejecuta A/post-checkout, en realidad ejecuta el archivo malicioso en .git/hooks/.

⚠️ Condiciones de Activación

  • Sistema de archivos que no distingue mayúsculas y minúsculas (Windows/macOS).
  • Enlace simbólico a .git/hooks/.
  • Filtros globales de Git LFS habilitados.
  • La víctima tiene permiso para ejecutar código malicioso.

🛠️ Flujo de Ataque

Generación de Repositorio Malicioso

  • Crear .gitattributes para activar el procesamiento LFS de A/post-checkout.
  • Agregar un script malicioso A/post-checkout (por ejemplo, que imprima "PWNED").
  • Agregar archivos falsos A/a, A/b para que parezca legítimo.
  • Reemplazar A/ con un enlace simbólico a .git/hooks/.
  • Confirmar (commit) y subir (push) los cambios.

🛡 Defensas Existentes

Basadas en Configuración

root@kitploit:~
git clone -c core.symlinks=true
git config --system core.symlinks true

##💡 Otras Defensas Potenciales

  • Automatizar Clonación Segura con un Alias de Git

  • Crear directorio.

  • Habilitar distinción de mayúsculas y minúsculas (Windows):

    root@kitploit:~
    fsutil file setcasesensitiveinfo <DESTINATION FOLDER> enable
    
  • Clonar en ese directorio.

  • Crear un alias de Git para automatizar estos pasos para una clonación más segura.

Descargar herramienta