Saved Credentials on Windows (cmdkey and runas)
Windows permite a los usuarios cachear credenciales en el Administrador de credenciales (para RDP, recursos de red, servicios de terminal, etc.). Un atacante con una sesión de ese usuario puede listarlas con cmdkey y reutilizarlas con runas /savecred sin llegar a ver la contraseña en claro: el sistema la inyecta por él. Es una vía discreta para moverse a otro host o escalar a otro usuario, y encaja con la caza más amplia de secretos guardados en el sistema.
Mecanismo
Se listan las credenciales almacenadas para el usuario actual:
cmdkey /list Target: LegacyGeneric:target=TERMSRV/SQL01
Type: Generic
User: inlanefreight\bobAunque no veamos la contraseña, podemos ejecutar comandos como ese usuario reutilizando el secreto cacheado (por ejemplo, lanzarnos una reverse shell):
runas /savecred /user:inlanefreight\bob "cmd.exe /c <command>"Si la credencial guardada es de tipo TERMSRV/<host>, una conexión RDP a ese host la usará automáticamente. Esta técnica se complementa con una caza más amplia de secretos: SessionGopher extrae sesiones guardadas de PuTTY, WinSCP, FileZilla y RDP; LaZagne recorre decenas de programas; SharpChrome logins /unprotect saca las contraseñas del navegador; y reg query revela texto en claro en el registro:
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
reg query HKCU\SOFTWARE\SimonTatham\PuTTY\SessionsRequisitos
El Administrador de credenciales está ligado al usuario y protegido con DPAPI, así que para leer y reutilizar sus entradas hace falta una sesión interactiva como ese usuario. Para acceder a las bóvedas de otros usuarios se necesita administrador local o SYSTEM. runas /savecred reutiliza lo que el usuario actual tenga cacheado, sin pedir la contraseña.
Cómo detectarlo
Delatan el abuso la ejecución de cmdkey /list y runas /savecred (evento 4688 con la línea de comandos), el acceso al Administrador de credenciales (actividad DPAPI, eventos 5379/16385), la lectura de las claves Winlogon o SimonTatham\PuTTY, y el uso de herramientas conocidas como LaZagne, SessionGopher o SharpChrome.
Defensa. Desactivar por GPO la opción de "recordar credenciales" y limpiar el Administrador de credenciales; usar cuentas de servicio gMSA en lugar de credenciales cacheadas; desplegar LAPS para el administrador local; y auditar 4688 con línea de comandos. Relacionado con credenciales de autologon, caza de credenciales, reutilización de credenciales, historial de PowerShell y Event Log Readers.