A los usuarios les (nos) resulta muy conveniente utilizar las credenciales cacheadas (cuando escogemos la opción «recordar», por ejemplo) dado que nos ahorra tener que introducir la información de inicio de sesión en adelante. Sin embargo, para el departamento de IT es más un problema que una solución en aquellos casos en que el dispositivo es robado o se pierde su rastro.
Las credenciales cacheadas en el almacén de credenciales de Windows incluyen tanto sitios web como recursos de red. Si una persona malintencionada se lo propone, podría llegar en el peor de los casos a transformar estos usuarios y contraseñas en texto claro.
Además de por seguridad, podría interesarnos eliminar las credenciales del almacén de Windows en casos de diagnóstico de fallos con determinados programas, o si no somos capaces de acceder a determinado sitio por una credencial desactualizada que está siendo cacheada por el sistema.
¿Es posible ver las contraseñas almacenadas en Windows?
La respuesta es no. Los detalles de las cuentas de usuario se almacenan dentro del SAM (Security Account Manager) ubicado en:
c:\windows\system32\config
Esta carpeta no está accesible con el sistema operativo iniciado, así que para obtener los datos contenidos en el SAM sería necesario acceder al disco desde otro equipo, para esto hay varias formas.
El problema es que incluso entrando en la carpeta no serás capaz de obtener ningún dato en claro, ya que todas las credenciales están hasheadas.
Es posible crackear o romper las contraseñas a través de uno de los mecanismos diseñados a tal efecto, que quedan fuera del alcance de este artículo. También existen soluciones profesionales que podrían permitirte hacerlo, como OsForensics.
"Espacio para un consejo: He creado una lista con los mejores antivirus gratis Windows 10 y 11. También tienes disponible el mismo ranking en versiones premium para una mayor protección. ¡No dejes nunca de Proteger tu PC!."
Eliminar o administrar credenciales de Windows
Existen diferentes formas de gestionar el almacén de credenciales, no solo para eliminar estas sino para gestionar las existentes o añadir otras nuevas.
Gestionar credenciales en modo gráfico
Mediante la GUI de Windows y a través del entorno gráfico tenemos la forma más sencilla de gestionar usuarios y contraseñas, borrar o añadir.
La forma más sencilla de abrir el almacén de credenciales de Windows es ejecutando el siguiente comando desde «Ejecutar» (pulsando la combinación WIN + R):
control keymgr.dll
Veremos la siguiente ventana.
Una vez allí, pulsaremos en la opción correspondiente.
Método alternativo para administrar contraseñas de usuario
- Pulsaremos las teclas WINDOWS + R
- Abriremos el CMD escribiendo lo propio en el recuadro, después Aceptar
- Escribiremos el comando:
rundll32.exe keymgr.dll,KRShowKeyMgr
Se abrirá ante nosotros la utilidad «nombres de usuario y contraseñas almacenados«.
Podremos hacer varias cosas, como cambiar o eliminar credenciales de Windows y otros servicios, exportarlas o restaurar otras previamente exportadas. Lo único que no podremos hacer es visualizarlas.
Gestionar credenciales con cmdkey
Uno de los métodos más sencillo es a través de la utilidad de linea de comandos cmdkey. Nos mostrará credenciales cacheadas y permitirá añadir o eliminar estas. Cmdkey se puede combinar con powershell para automatizar estos procesos.
Para mostrar la sintaxis de la herramienta usaremos:
cmdkey /?
Ahora, listaremos algunas opciones básicas.
Mostrar las credenciales almacenadas:
cmdkey /list
cmdkey /list:nombre_objeto
Añadir nuevas credenciales:
cmdkey /add:nombre_objeto /user:username /pass:contraseña
cmdkey /add:nombre_objeto /user:username /pass
cmdkey /add:nombre_objeto /user:username
cmdkey /add:nombre_objeto /smartcard
Eliminar credenciales del almacén:
cmdkey /delete:nombre_objeto
Ejemplo: cmdkey /list:
Otras opciones, como crear credenciales genéricas o eliminarlas del RAS (Remote Access Server) están disponibles en la ayuda del comando.
Gestionar credenciales de Windows con Powershell
Si echamos mano del potente Powershell, podemos conseguir optimizar lo comentado anteriormente. Seremos capaces de crear un script con el que gestionar las credenciales en un equipo remoto de una sola vez, realizando la acción en tantos equipos como sea necesario sin tener que lanzar comandos múltiples veces.
Para ello empezaremos por instalar el módulo PSCredentialManager para Powershell, utilizando el comando Install-Module.
Install-Module -Name PSCredentialManager
Una vez instalado el complemento, este contiene todos los comandos necesarios en adelante. Es posible que se muestre un mensaje advirtiendo que el repositorio no es de confianza.
Continuaremos sin preocuparnos, al menos en lo referente a la procedencia (es un sitio mantenido por Microsoft) aunque tendremos cuidado al desplegar este tipo de componentes en servidores de producción.
Por ejemplo, para consultar todas las credenciales cacheadas en un equipo Windows, ejecutaremos:
Get-CachedCredential
En el departamento de IT de turno se podrían enumerar también las credenciales de un equipo remoto de la siguiente manera:
Get-CachedCredential -ComputerName nombre
Esto funcionaría de igual manera para varios equipos remotos al mismo tiempo, si los separamos por una coma en la ejecución:
Get-CachedCredential -ComputerName equipo1 equipo2 equipo3
Otros comandos que podríamos lanzar son:
Remove-CachedCredential --> eliminar credencial cacheada
Add-CachedCredential --> añadir credencial cacheada
Todos estos comandos tienen sintaxis similares.
NOTA: si la política de seguridad de Windows no te deja ejecutar scripts (como ocurre por defecto en Windows 10) sigue esta guía.
Descubre el mejor antivirus para 2024
Accede a nuestro comparador gratuito y encuentra el antivirus que mejor se adapte a lo que necesitas y con mejor valoración de los expertos.
Ir al comparador