Credenciales en ficheros
Subtécnica de T1552 Credenciales sin proteger ↗
Encontrar contraseñas en ficheros de configuración, backups, historiales o repositorios git.
Cómo aparece en Hack The Box
Tras entrar, revisa la configuración de la web (.env, wp-config.php, appsettings.json), las bases de datos SQLite, los backups y el historial de git: la contraseña de la base de datos suele ser la de un usuario.
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.
Se muestran 48 de 121. Entra en cada técnica del catálogo de arriba para verlas todas.
Guías
- 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.
- 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.
Comandos
Sacados de nuestras chuletas y fichas de herramientas. Escribe tus datos y se rellenan en todos los comandos.
Enumeración web › Hallazgos típicos
cd repo && git log --oneline && git show HEAD~1
git log -p | grep -iE 'pass|secret|token|key'
Escalada de privilegios en Linux › Comprobaciones
grep -rniE '(pass(word)?|pwd|secret|token)\s*[=:]' /var/www /opt /etc /home 2>/dev/null | grep -v '^Binary'
find / \( -name '*.conf' -o -name '*.config' -o -name '.env' -o -name 'wp-config.php' -o -name '*.kdbx' \) -readable 2>/dev/null | grep -vE '^/(proc|sys|usr/share)'
cat ~/.*history 2>/dev/null; ls -la /home/*/
Escalada de privilegios en Linux › Explotación
grep -riE 'pass|login' /var/log 2>/dev/null
Escalada en Windows y Active Directory › Windows
type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
findstr /si /m "password" C:\inetpub\*.config C:\Users\*.txt C:\Users\*.xml C:\Users\*.ini
$c = Import-Clixml -Path cred.xml; $c.GetNetworkCredential().Password
git-dumper › Del .git al secreto
git log -p --all | grep -iE 'pass|secret|token|key'
Ningún comando coincide.