Repositorios de código
Subtécnica de T1213 Datos de repositorios de información ↗
Sacar código, secretos y credenciales de repositorios git (expuestos en la web o internos como Gitea).
Cómo aparece en Hack The Box
Un /.git/ accesible se descarga con git-dumper. Revisa todos los commits, no solo el último: las credenciales borradas siguen en el historial.
Técnicas de nuestro catálogo que corresponden a esta (el número son sus máquinas):
Máquinas para practicarla
Ordenadas de más fácil a más difícil. El enlace ▶ te lleva al minuto del vídeo de IppSec donde se usa.
- Fuerza bruta de directorios
- Fuzzing de vhosts y subdominios
- Repositorio .git expuesto
- Cross-Site Scripting (XSS)
- CSRF
- Explotación de CVE público
- Server-Side Template Injection
- Escape de contenedores
- Credenciales en ficheros
- Servicios internos y port forwarding
- Cracking de hashes
- Backups y archivos comprimidos
- Abuso de sudo
Guías
- Fuzzing web: directorios, extensiones, subdominios y vhosts con ffuf, gobuster y feroxbuster 3 min de lectura Descubrir rutas ocultas, copias de seguridad, vhosts y repositorios .git expuestos con ffuf y gobuster: qué diccionario usar y cómo filtrar falsos positivos.
- Directorio .git expuesto: git-dumper y secretos en el historial 3 min de lectura Cómo detectar un .git expuesto en una web, reconstruir el repositorio con git-dumper y encontrar contraseñas y claves en el historial de commits.
Comandos
Sacados de nuestras chuletas y fichas de herramientas. Escribe tus datos y se rellenan en todos los comandos.
Tus datos
Se guardan en este navegador y se aplican a todas las chuletas.
Enumeración web › Hallazgos típicos
Descargar un .git expuesto
git-dumper http://box.htb/.git/ repo
Revisar el historial
cd repo && git log --oneline && git show HEAD~1
Buscar secretos en todos los commits
git log -p | grep -iE 'pass|secret|token|key'
git-dumper › Del .git al secreto
Buscar secretos en todo el historial
git log -p --all | grep -iE 'pass|secret|token|key'
Ver qué cambió en el último commit
git show --stat HEAD && git diff HEAD~1
Ningún comando coincide.