ver saber registro las internet ingresadas guardan guardadas donde contraseñas como chrome celular security internet-explorer passwords password-protection

security - saber - ¿Dónde almacena Internet Explorer las contraseñas guardadas?



ver contraseñas guardadas en chrome android (3)

¿Dónde almacena Internet Explorer las contraseñas guardadas?

Y dado que este es un sitio de programación, no estoy preguntando literalmente por la ubicación donde IE almacena las contraseñas, sino qué API utiliza para guardar las contraseñas .

Al principio asumí que Microsoft estaba usando la API estándar:

que se utiliza para guardar el dominio y las credenciales genéricas del programa / sitio web.

CredRead / CredWrite luego da la vuelta y usa:

para cifrar los datos con la cuenta del usuario actual. CredRead / CredWrite luego almacena los datos en una ubicación mágica, cuyos contenidos puede ver desde el Panel de control:

Pero no veo las contraseñas de IE allí. Así que es decir, no almacena contraseñas usando CredRead / CredWrite .

¿Qué api usa IE para almacenar las contraseñas y, si usa CryptProtectData , dónde almacena los datos protegidos?

Edición: la razón por la que pregunto no necesita explicación (ya que es bastante obvia), pero es porque podría querer usar el mismo mecanismo.



encontré la respuesta IE almacena las contraseñas en dos ubicaciones diferentes según el tipo de contraseña:

  • Http-Auth: %APPDATA%/Microsoft/Credentials , en archivos cifrados
  • Basado en la forma: HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/IntelliForms/Storage2 , cifrado con la url

De una muy buena página en NirSoft.com :

A partir de la versión 7.0 de Internet Explorer, Microsoft cambió completamente la forma en que se guardan las contraseñas. En versiones anteriores (4.0 - 6.0), todas las contraseñas se guardaron en una ubicación especial en el Registro conocida como "Almacenamiento protegido". En la versión 7.0 de Internet Explorer, las contraseñas se guardan en diferentes ubicaciones, según el tipo de contraseña. Cada tipo de contraseñas tiene algunas limitaciones en la recuperación de contraseñas:

  • Autocompletar contraseñas: estas contraseñas se guardan en la siguiente ubicación en el Registro: HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/IntelliForms/Storage2 Las contraseñas están cifradas con la URL de los sitios web que solicitaron las contraseñas, y por lo tanto solo pueden ser recuperado si las URL se almacenan en el archivo de historial. Si borra el archivo histórico, IE PassView no podrá recuperar las contraseñas hasta que vuelva a visitar los sitios web que solicitaron las contraseñas. Alternativamente, puede agregar una lista de URL de sitios web que requieren nombre de usuario / contraseña en el archivo de sitios web (ver más abajo).

  • Contraseñas de autenticación HTTP: estas contraseñas se almacenan en el archivo de credenciales en Documents and Settings/Application Data/Microsoft/Credentials , junto con las contraseñas de inicio de sesión de las computadoras de LAN y otras contraseñas. Debido a las limitaciones de seguridad, IE PassView puede recuperar estas contraseñas solo si tiene derechos de administrador.

En mi caso particular responde a la pregunta de dónde; Y decidí que no quiero duplicar eso. Continuaré usando CredRead / CredWrite , donde el usuario puede administrar sus contraseñas desde un sistema de IU establecido en Windows.


Respuesta corta: en la bóveda. Desde Windows 7, se creó un Vault para almacenar datos confidenciales entre ellos las credenciales de Internet Explorer. Vault es, de hecho, un servicio LocalSystem: vaultsvc.dll.

Respuesta larga: Internet Explorer permite dos métodos de almacenamiento de credenciales: credenciales de sitios web (por ejemplo: su usuario y contraseña de Facebook) y datos de autocompletado. Desde la versión 10, en lugar de usar el Registro, se introdujo un nuevo término: Windows Vault. Windows Vault es el almacén de almacenamiento predeterminado para la información del administrador de credenciales.

Es necesario comprobar qué sistema operativo se está ejecutando. Si es Windows 8 o superior, llame a VaultGetItemW8 . Si no lo es, llamas a VaultGetItemW7 .

Para usar "Vault", cargue una DLL llamada "vaultcli.dll" y acceda a sus funciones según sea necesario.

Un código típico de C ++ será:

hVaultLib = LoadLibrary(L"vaultcli.dll"); if (hVaultLib != NULL) { pVaultEnumerateItems = (VaultEnumerateItems)GetProcAddress(hVaultLib, "VaultEnumerateItems"); pVaultEnumerateVaults = (VaultEnumerateVaults)GetProcAddress(hVaultLib, "VaultEnumerateVaults"); pVaultFree = (VaultFree)GetProcAddress(hVaultLib, "VaultFree"); pVaultGetItemW7 = (VaultGetItemW7)GetProcAddress(hVaultLib, "VaultGetItem"); pVaultGetItemW8 = (VaultGetItemW8)GetProcAddress(hVaultLib, "VaultGetItem"); pVaultOpenVault = (VaultOpenVault)GetProcAddress(hVaultLib, "VaultOpenVault"); pVaultCloseVault = (VaultCloseVault)GetProcAddress(hVaultLib, "VaultCloseVault"); bStatus = (pVaultEnumerateVaults != NULL) && (pVaultFree != NULL) && (pVaultGetItemW7 != NULL) && (pVaultGetItemW8 != NULL) && (pVaultOpenVault != NULL) && (pVaultCloseVault != NULL) && (pVaultEnumerateItems != NULL); }

Luego enumeras todas las credenciales almacenadas llamando

VaultEnumerateVaults

Luego repasamos los resultados.