Un cliente VPN que muestra una contraseña cifrada en su XML casi no le ha dicho nada. El texto cifrado solo responde que el valor no se almacena como texto plano en esa representación. Quién puede descifrarlo, con qué clave y en qué contexto de usuario son las preguntas que deciden si el almacenamiento ayuda. Respóndalas antes de calificar el archivo de seguro o inseguro.

Determine qué objeto se almacena

Empiece por el modelo de almacenamiento documentado del producto. Un cliente puede guardar una contraseña recuperable, un token o una referencia a un almacén de credenciales, y cada uno tiene una exposición distinta. El nombre del elemento XML no es el diseño, y una cadena que parece base64 tampoco es prueba de cifrado.

Pregunte al proveedor o al administrador qué componente lee el valor al conectar.

Después identifique la API de protección si está documentada. En Windows, CryptProtectData protege los datos con una clave derivada de las credenciales de inicio de sesión del usuario que cifra, y su opción de ámbito de máquina cambia quién puede descifrar. Es un ejemplo concreto de por qué importa el ámbito. No es prueba de que ningún cliente VPN concreto use esa API.

Separe una copia robada del uso en tiempo de ejecución

Un cliente que se reconecta sin preguntarle necesita una forma compatible de recuperar la credencial. Proteger una copia de seguridad no elimina esa capacidad. Cualquier programa que se ejecute en el contexto de usuario correcto puede usar la misma ruta, y por eso el propio punto final está dentro del límite de confianza. Los permisos de archivo y los privilegios de proceso estrechan ese límite; no lo eliminan.

Esa es la distinción que suele errar una afirmación sobre un archivo sin conexión. El cifrado en reposo puede detener a quien copia un archivo sin la cuenta. No detiene el código que se ejecuta como la cuenta.

Ambas afirmaciones pueden ser ciertas a la vez, y la segunda es la que importa durante la respuesta a incidentes.

Lea los controles de acceso que se aplican realmente

Revise la ACL del archivo y el directorio superior, no solo el modo del archivo. En Windows, compare los permisos efectivos del perfil de usuario con los del servicio o la tarea programada del cliente. Un secreto protegido para un usuario no queda automáticamente protegido frente a un administrador, ni automáticamente expuesto a él.

icacls "%APPDATA%\Vendor\Client\profiles.xml"
whoami /priv

Registre qué identidad ejecuta el cliente, porque esa identidad es el sujeto del descifrado.

En un parque gestionado, el control relevante puede ser la gestión de dispositivos y no el archivo. Pregunte si la credencial se deposita en custodia, si puede revocarse de forma remota y cuál es el proceso cuando se pierde un dispositivo.

Planifique la exposición en lugar de probar el descifrado

No ejecute una herramienta de extracción desconocida contra el archivo para demostrar un punto. Puede funcionar, puede dañar el perfil y, en cualquier caso, altera las pruebas. Use el diseño documentado y una evaluación autorizada si la verificación es realmente necesaria.

Si se determina la exposición, rote la credencial en el propietario de la identidad.

Eliminar la entrada guardada no es revocar. Puede impedir que ese cliente vuelva a ofrecer el valor, y no hace nada con una copia ya tomada o una sesión ya autorizada. Sustituya la credencial, termine las sesiones que el propietario pueda terminar y registre qué se rotó y cuándo.

Las preguntas para una revisión del proveedor

Pregunte qué secreto se almacena, qué componente lo usa, qué clave de usuario o de máquina lo protege, qué controles de acceso se aplican al uso normal y a las copias de seguridad, y cómo se gestionan la política de guardado y la invalidación remota. Esas cinco respuestas describen el diseño; el XML no.

Guarde las respuestas con el registro de despliegue para que el siguiente revisor no repita el ejercicio.

Una credencial guardada es un intercambio entre comodidad y exposición. Haga el intercambio de forma deliberada y anote quién lo aceptó.

Artículos relacionados