Introducción
En un escenario típico de compromiso de endpoint, los atacantes suelen seguir un flujo de post-explotación: escalar privilegios, moverse lateralmente y recolectar credenciales para persistir en el entorno. Sin embargo, en mayo de 2025, el investigador de seguridad Pieter Arntz (ex MVP de Microsoft en seguridad al consumidor) demostró que Microsoft Edge acelera este proceso al cargar todo el almacén de contraseñas en texto plano en memoria RAM al iniciar el navegador. Esta decisión de diseño —defendida por Microsoft como «por diseño»— reduce el overhead de autocompletado y autologin, pero expone credenciales sensibles a cualquier proceso con acceso a la memoria del proceso de Edge, incluso si el atacante solo logró escalar privilegios parcialmente.
El hallazgo surge de un análisis comparativo realizado por Arntz sobre navegadores basados en Chromium, donde se evaluó cómo cada uno maneja las credenciales en memoria. Mientras que Chrome, Brave y otros solo descifran contraseñas específicas bajo demanda (por ejemplo, al autocompletar o mostrar la contraseña), Edge carga el vault completo en memoria sin cifrar desde el inicio de la sesión, manteniéndolo así durante toda la ejecución del proceso. Esto incluye contraseñas de sitios web, credenciales de redes corporativas, y otros datos sensibles almacenados en el gestor integrado.
Qué ocurrió
El 12 de mayo de 2025, Malwarebytes publicó un informe técnico detallando cómo Edge almacena el vault de contraseñas en memoria sin cifrar desde el arranque del navegador. El investigador desarrolló un proof of concept (PoC) que demuestra que, con acceso a la memoria del proceso de Edge (requiriendo privilegios elevados), un atacante puede leer todas las contraseñas guardadas sin explotar vulnerabilidades de día cero ni técnicas complejas. El PoC consiste en:
- Enumerar los procesos en ejecución para identificar el PID de
msedge.exe. - Leer la memoria del proceso usando herramientas como
Process HackeroCheat Engine. - Parsear la memoria para extraer el vault de contraseñas en formato plano.
# Ejemplo de comandos para obtener el PID de Edge y leer su memoria (requiere privilegios de administrador)
tasklist /FI "IMAGENAME eq msedge.exe" /FO CSV /FI "PID ne 0"
# Luego, usar herramientas como:
# - Process Hacker: Procesos > msedge.exe > Propiedades > Memoria
# - Cheat Engine: Attach to process > Buscar valores de texto planoLa respuesta de Microsoft fue clara: «este comportamiento es por diseño», justificándolo por la optimización en el tiempo de inicio y autocompletado de credenciales. Desde la perspectiva de Redmond, un atacante que ya logró escalar privilegios y acceder a la memoria del proceso ya tiene control total del sistema, por lo que el riesgo adicional es mínimo. Sin embargo, este enfoque ignora un vector clave: la recolección masiva de credenciales tras un compromiso parcial, donde el atacante no necesita acceso administrativo total, sino solo la capacidad de leer memoria de procesos con privilegios elevados.
Contexto técnico: ¿Por qué otros navegadores Chromium no tienen este comportamiento?
Los navegadores basados en Chromium (Chrome, Brave, Vivaldi) implementan mecanismos de protección en memoria para evitar este tipo de fugas:
- App-Bound Encryption (ABE): Las claves de cifrado están vinculadas al binario del navegador, impidiendo que otros procesos las usen.
- Descifrado bajo demanda: Las contraseñas se descifran solo cuando son necesarias (ej.: al autocompletar o mostrar la contraseña), y se borran de memoria una vez usadas.
- Protección contra volcado de memoria: Algunos navegadores usan heap encryption o ASLR (Address Space Layout Randomization) para dificultar la lectura directa de credenciales.
En contraste, Edge no aplica estas protecciones para el vault de contraseñas, lo que lo convierte en un objetivo prioritario para herramientas de infostealing como RedLine, Raccoon o Lumma, que ya incluyen módulos para extraer credenciales de Edge mediante volcado de memoria.
Impacto para DevOps / Infraestructura / Cloud / Seguridad
1. Riesgo para entornos corporativos
En organizaciones donde los empleados usan Edge como navegador corporativo (especialmente en entornos Windows con Active Directory), este comportamiento aumenta el riesgo de brechas de credenciales tras un ataque de phishing, drive-by download, o living-off-the-land binaries (LOLBins). Según el Informe de Amenazas 2025 de Malwarebytes, el 68% de los ataques a endpoints incluyen etapas de recolección de credenciales, y herramientas como Mimikatz ya pueden extraer credenciales de Edge sin explotar vulnerabilidades.
- Escenario crítico: Un atacante compromete un equipo con privilegios de usuario estándar mediante un phishing con un dropper de malware. Con acceso a memoria, puede extraer:
– Credenciales de sitios externos (ej.: servicios cloud no corporativos donde el usuario reutiliza contraseñas).
– Tokens de sesión o cookies sensibles.
2. Diferencias con otros gestores de contraseñas
Mientras que los gestores de contraseñas de terceros (1Password, Bitwarden, KeePass) no cargan el vault completo en memoria sin cifrar, Edge sí lo hace, incluso cuando el usuario no ha iniciado sesión en el sitio. Esto se debe a que Edge pre-carga el vault para acelerar el autocompletado, pero sacrifica seguridad por usabilidad.
3. Impacto en certificaciones y cumplimiento
Empresas que usan Edge en entornos regulados (ej.: salud, finanzas, gobierno) deben considerar:
- PCI DSS: Si los empleados guardan contraseñas de tarjetas de crédito en Edge, la organización podría incumplir los requisitos de protección de datos (Requisito 3.4).
- ISO 27001: La fugas de credenciales en memoria podrían ser consideradas una no conformidad en controles como A.9.4.3 (Uso de información de autenticación).
- NIST SP 800-53: Requiere que los sistemas implementen protección contra fugas de credenciales en memoria (Control SI-4).
Detalles técnicos
Versiones afectadas
| Navegador | Versión afectada | Comportamiento en memoria | Estado |
|---|---|---|---|
| Microsoft Edge | ≤ **124.0.2478.105** | Carga vault completo en texto plano en RAM | Sin parche |
| Chrome | ≤ **124.0.6367.91** | Descifra bajo demanda; usa ABE | Parcheado |
| Brave | ≤ **1.64.118** | Descifra bajo demanda; usa heap encryption | Parcheado |
| Vivaldi | ≤ **6.6.3258.60** | Descifra bajo demanda; usa memoria protegida | Parcheado |
- Acceso a memoria con privilegios elevados:
– Herramientas como Mimikatz, ProcDump, o WinDbg pueden volcar la memoria de msedge.exe.
- Infostealers con módulos para Edge:
– Raccoon Stealer (versión 1.8+) usa reflection para leer el vault sin necesidad de inyectar código.
- Ataques side-channel:
¿Por qué Microsoft considera esto «por diseño»?
En la respuesta oficial a Malwarebytes, Microsoft argumentó:
> «Edge prioriza la experiencia del usuario al reducir el tiempo de inicio y autocompletado de credenciales. Un atacante que ya tiene acceso a la memoria del proceso ya tiene control total del sistema, por lo que el riesgo adicional es mínimo.»
Sin embargo, este enfoque ignora:
- La recolección masiva de credenciales tras un compromiso parcial (ej.: un empleado con malware que aún no escaló privilegios).
- La reutilización de credenciales en otros servicios (ej.: un usuario que usa la misma contraseña para su correo corporativo y su banco personal).
- La compliance en entornos regulados.
Qué deberían hacer los administradores y equipos técnicos
1. Actualizar Edge (cuando esté disponible)
Aunque Microsoft no ha lanzado un parche oficial, los equipos de seguridad deben monitorear los canales de actualización de Edge (usando Microsoft Update for Business o Windows Server Update Services). La versión 125.0.2535.67 (lanzada el 28 de mayo de 2025) no resuelve el problema, pero podría incluir cambios en futuras versiones.
# Verificar versión actual de Edge (PowerShell)
Get-AppxPackage -Name "Microsoft.MicrosoftEdge" | Select Version2. Deshabilitar el gestor de contraseñas de Edge
Para equipos críticos (ej.: servidores, equipos con acceso a información sensible), deshabilitar el gestor integrado es la medida más efectiva:
# Política de grupo (gpedit.msc) para deshabilitar el gestor de contraseñas
Ruta: Configuración del equipo > Plantillas administrativas > Componentes de Windows > Microsoft Edge
Política: "Permitir guardar contraseñas en el navegador"
Estado: DeshabilitadoAlternativa: Usar un gestor de contraseñas de terceros (Bitwarden, 1Password) con integración nativa en el sistema operativo (ej.: mediante Windows Hello o DPAPI).3. Implementar memoria cifrada en memoria (opcional)
Para entornos de alta seguridad, se pueden aplicar técnicas avanzadas como:
- Encrypting File System (EFS) en el perfil del usuario.
- Memoria cifrada con herramientas como VeraCrypt (aunque impacta en rendimiento).
- Uso de sandboxes para Edge (ej.: Windows Sandbox o Microsoft Defender Application Guard).
4. Monitoreo de memoria y detección de anomalías
Los equipos de SOC deben monitorear procesos que accedan a memoria de Edge con herramientas como:
- Microsoft Defender for Endpoint (Regla:
Process Memory Access Anomaly). - Sysmon (evento EventID 10 para Process Access).
- Elastic SIEM con reglas personalizadas para detectar lecturas de memoria de
msedge.exe.
# Ejemplo de regla Sysmon para detectar acceso a memoria de Edge
<Sysmon schemaversion="4.90">
<EventFiltering>
<ProcessAccess onmatch="include">
<SourceImage condition="contains">msedge.exe</SourceImage>
<TargetImage condition="contains">.exe</TargetImage>
</ProcessAccess>
</EventFiltering>
</Sysmon>5. Reforzar políticas de autenticación
- Forzar MFA en todos los servicios críticos (VPN, correos, portales internos).
- Deshabilitar el autocompletado de credenciales en Edge:
# Deshabilitar autocompletado vía política de grupo
reg add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "AutoFillEnabled" /t REG_DWORD /d 0 /f
- Educar a los usuarios sobre los riesgos de almacenar contraseñas en navegadores, especialmente en equipos compartidos o dispositivos personales.
6. Alternativas para equipos críticos
Si Edge es un requisito en la organización, considerar:
- Usar Edge en modo «InPrivate» (reduce el almacenamiento de credenciales en disco, pero no en memoria).
- Implementar un gestor de contraseñas corporativo con políticas de rotación automática (ej.: CyberArk, HashiCorp Vault).
- Aislar Edge en un entorno virtual (ej.: Windows Sandbox o Microsoft Defender Application Guard).
Conclusión
El comportamiento de Edge al cargar el vault de contraseñas en texto plano en memoria no es un fallo de seguridad, sino una decisión de diseño que prioriza el rendimiento sobre la protección de credenciales. Aunque técnicamente requiere un atacante con privilegios elevados para explotarse, simplifica la labor de los infostealers y aumenta la superficie de ataque en entornos corporativos.
Para los equipos de DevOps, infraestructura y seguridad, las medidas más efectivas son:
- Deshabilitar el gestor de contraseñas de Edge en equipos críticos.
- Monitorear accesos anómalos a la memoria de Edge.
- Forzar MFA y políticas de autenticación robustas.
- Considerar alternativas de gestores de contraseñas para entornos regulados.
Aunque Microsoft no planea modificar este comportamiento en el corto plazo, la presión de la comunidad de seguridad podría llevar a cambios en futuras versiones. Por ahora, la responsabilidad recae en los administradores de sistemas para mitigar el riesgo con controles técnicos y procesos.
