Credential reuse
La reutilización de credenciales es uno de los pivotes más fiables en una intrusión: las personas (y las configuraciones) tienden a repetir la misma contraseña en varios sitios. Una clave encontrada en un servicio rara vez se queda en ese servicio.
Los sitios donde más aparecen credenciales que luego sirven en otra parte:
- Ficheros de configuración de aplicaciones web (
configuration.php,wp-config.php,.env,settings.py, cadenas de conexión), normalmente con la contraseña de la base de datos en texto plano. - Historiales de shell (
.bash_history), de PowerShell o de comandos con la contraseña pasada como argumento. - Volcados de bases de datos, copias de seguridad, scripts de despliegue y notas.
El patrón de ataque es simple: una vez tienes una contraseña, pruébala en todo lo demás, en especial contra los usuarios reales del sistema (los que tienen shell en /etc/passwd) por SSH, y contra otros servicios (SMB, WinRM, bases de datos, paneles).
# buscar credenciales en ficheros de configuracion habituales
grep -rniE 'password|passwd|secret|api[_-]?key' /var/www /opt /home 2>/dev/null
cat /var/www/app/config/configuration.php | grep -i password
cat /etc/passwd | grep -i 'sh$' # usuarios con shell
ssh <user>@<ip> # misma contrasena
# probar la misma credencial en TODOS los servicios (netexec)
netexec smb <ip> -u <user> -p '<pass>'
netexec winrm <ip> -u <user> -p '<pass>'
netexec ssh <ip> -u <user> -p '<pass>'
netexec ldap <ip> -u <user> -p '<pass>'
# rociar/credential-stuffing contra una lista de hosts o usuarios
netexec smb <targets.txt> -u <user> -p '<pass>' --continue-on-successCómo detectarlo. La reutilización no es un exploit sino un login válido en el sitio equivocado, así que la detección va de anomalía, no de firma. La señal es una autenticación con éxito (4624 en Windows, sshd Accepted en Linux) de una cuenta desde un host, servicio u horario inusuales para ella: la misma credencial apareciendo de golpe en SMB/WinRM/SSH cuando esa cuenta solo se usaba en un panel web. Una cuenta de servicio que de repente inicia sesión interactiva, o un usuario que autentica contra sistemas que nunca tocaba, son los patrones. Ayuda mucho una línea base de "quién entra a qué"; sin ella, la reutilización pasa por tráfico legítimo. El acceso previo al fichero de configuración con la credencial (un 4663/auditd) es la pista temprana.
Defensa. Contraseñas distintas por servicio y por cuenta, gestores de secretos en lugar de credenciales embebidas en ficheros, cuentas de servicio sin acceso interactivo y rotación tras cualquier exposición. Relacionado con el rociado de contraseñas, que aplica la misma idea a escala sobre muchas cuentas.
Máquinas donde se aplica
- AdmirerHackTheBox
- AmbassadorHackTheBox
- ApexProving Grounds Practice
- BackendHackTheBox
- BitforgeProving Grounds Practice
- BoardLightHackTheBox
- BountyHunterHackTheBox
- CascadeHackTheBox
- ChatterboxHackTheBox
- ChemistryHackTheBox
- CicadaHackTheBox
- ClueProving Grounds Practice
- CockpitProving Grounds Practice
- ConsolelogDockerLabs
- Darkhole 2VulnHub
- DomainDockerLabs
- ExpresswayHackTheBox
- GreenHornHackTheBox
- HealHackTheBox
- HokkaidoProving Grounds Practice
- HunitProving Grounds Practice
- Infovore 1VulnHub
- InstantHackTheBox
- LinkVortexHackTheBox
- MantisProving Grounds Practice
- MarketingProving Grounds Practice
- MiceProving Grounds Practice
- NukemProving Grounds Practice
- OpenSourceHackTheBox
- PandoraHackTheBox
- PermXHackTheBox
- PostfishProving Grounds Practice
- ResourceHackTheBox
- SeaHackTheBox
- ShoppyHackTheBox
- SightlessHackTheBox
- SnookumsProving Grounds Practice
- SPXProving Grounds Practice
- Symfonos 1 & 2VulnHub
- Symfonos 6VulnHub
- TeacherHackTheBox
- TimelapseHackTheBox
- TricksterHackTheBox
- UnderPassHackTheBox
- VmdakProving Grounds Practice
- WorkaholicProving Grounds Practice
- YummyHackTheBox