builderall


El popular administrador de contraseñas KeePass es vulnerable a la extracción de la contraseña maestra de la memoria de la aplicación, lo que permite a los atacantes que comprometen un dispositivo recuperar la contraseña incluso con la base de datos bloqueada.


El problema fue descubierto por un investigador de seguridad conocido como 'vdohney', quien publicó una herramienta de prueba de concepto que permite a los atacantes extraer la contraseña maestra de KeePass de la memoria como prueba de concepto (PoC).


Los administradores de contraseñas permiten a los usuarios crear contraseñas únicas para cada cuenta en línea y almacenar las credenciales en una base de datos fácil de buscar o en una bóveda de contraseñas, para que no tenga que recordar cada una. Sin embargo, para asegurar adecuadamente esta bóveda de contraseñas, los usuarios deben recordar la única contraseña maestra utilizada para desbloquearla y acceder a las credenciales almacenadas.


Esta contraseña maestra encripta la base de datos de contraseñas de KeePass, evitando que se abra o lea sin ingresar primero la contraseña. Sin embargo, una vez que la contraseña maestra se ve comprometida, un actor de amenazas puede acceder a todas las credenciales almacenadas en la base de datos.


Por lo tanto, para que un administrador de contraseñas esté debidamente protegido, es fundamental que los usuarios protejan la contraseña maestra y no la compartan con nadie más.


Una nueva vulnerabilidad de KeePass rastreada como CVE-2023-3278 hace posible recuperar la contraseña maestra de KeePass, además de los primeros uno o dos caracteres, en forma de texto no cifrado, independientemente de si el espacio de trabajo de KeePass está bloqueado o, posiblemente, incluso si el programa está cerrado.


"KeePass Master Password Dumper es una herramienta simple de prueba de concepto que se utiliza para volcar la contraseña maestra de la memoria de KeePass. Además del primer carácter de la contraseña, en su mayoría puede recuperar la contraseña en texto sin formato", advierte el investigador de seguridad en GitHub. página para la herramienta de explotación.


"No se requiere la ejecución de código en el sistema de destino, solo un volcado de memoria. No importa de dónde provenga la memoria: puede ser el volcado del proceso, el archivo de intercambio (pagefile.sys), el archivo de hibernación (hiberfil.sys) o RAM volcado de todo el sistema. No importa si el espacio de trabajo está bloqueado o no ".


La falla existe porque el software usa un cuadro de entrada de contraseña personalizado llamado "SecureTextBoxEx", que deja rastros de cada carácter que el usuario escribe en la memoria.


"KeePass 2.X usa un cuadro de texto personalizado para ingresar la contraseña, SecureTextBoxEx. Este cuadro de texto no solo se usa para ingresar la contraseña maestra, sino también en otros lugares de KeePass, como los cuadros de edición de contraseñas (por lo que el ataque también puede utilizarse para recuperar su contenido)", explica vdohney.


La vulnerabilidad afecta a la última versión de KeePass, 2.53.1, y dado que el programa es de código abierto, es probable que las bifurcaciones del proyecto se vean afectadas.


KeePass 1.X, KeePassXC y Strongbox no parecen verse afectados por CVE-2023-32784, según el desarrollador de la herramienta de volcado de contraseñas.


Además, aunque el PoC se probó en Windows, el exploit también debería funcionar para Linux y macOS, con algunas modificaciones, ya que el problema no es específico del sistema operativo sino de cómo KeePass maneja la entrada del usuario.


Fácil de explotar


Dado que se deben recuperar los volcados de memoria para recuperar la contraseña maestra de KeePass, la explotación de CVE-2023-32784 requiere acceso físico o infección de malware en la máquina de destino.


Sin embargo, el malware que roba información podría verificar rápidamente si KeePass existe en una computadora o si se está ejecutando y, de ser así, volcar la memoria del programa y enviarla junto con la base de datos de KeePass al atacante para que recupere sin conexión la contraseña de texto claro del volcado de memoria.


BleepingComputer probó la herramienta 'keepass-password-dumper' de vdohney instalando KeePass en un dispositivo de prueba y creando una nueva base de datos con la contraseña maestra 'password123', como se muestra a continuación.



Luego bloqueamos nuestro espacio de trabajo de KeePass, lo que impide el acceso a él a menos que ingrese la contraseña maestra nuevamente.


En nuestras pruebas, puede usar Process Explorer para volcar la memoria del proyecto KeePass, pero requiere un volcado de memoria completa, y no un minivolcado, para funcionar correctamente. No se necesitan privilegios elevados para volcar la memoria de los procesos.


Después de compilar la herramienta de vdohney con Visual Studio, la ejecutamos contra nuestro volcado de memoria y rápidamente recuperó la mayor parte de nuestra contraseña de texto simple, con solo las dos primeras letras faltantes.



Si bien esta no es la contraseña completa, sería bastante fácil determinar qué caracteres faltan.


El investigador también advierte que las contraseñas maestras utilizadas en el pasado pueden permanecer en la memoria, por lo que pueden recuperarse incluso si KeePass ya no se ejecuta en la computadora violada.


Arreglo próximamente


El desarrollador de KeePass, Dominik Reichl, recibió el informe de error y prometió implementar una solución para CVE-2023-32784 en la versión 2.54, prevista para julio de 2023.


Sin embargo, Reichl le dijo a BleepingComputer que es más probable que la versión 2.54 de KeePass se lance a los usuarios en aproximadamente dos semanas, por lo que debería estar disponible a principios de junio.


Basado en una discusión en la que Reichl desarrolló sus pensamientos sobre la falla de seguridad y las posibles estrategias de mitigación, se mencionan dos mejoras de seguridad para la próxima versión de KeePass:


Realice llamadas API directas para obtener/establecer el texto del cuadro de texto, evitando la creación de cadenas administradas en la memoria que pueden filtrar secretos.

Cree fragmentos ficticios que contengan caracteres aleatorios en la memoria del proceso que tendrán aproximadamente la misma longitud que la contraseña maestra del usuario, ofuscando la clave real.

KeePass 2.54 para Windows tendrá ambos, mientras que las versiones de macOS y Linux solo obtendrán la segunda mejora.


El desarrollador ha lanzado una versión de prueba con las nuevas mejoras de seguridad que mitigan el problema, por lo que aquellos que pueden aceptar un comportamiento inestable pueden obtenerlo desde aquí


El creador del PoC ha confirmado que ya no puede reproducir el ataque con las dos mejoras de seguridad en su lugar, por lo que la solución parece ser efectiva.


Incluso después del lanzamiento de la nueva versión, la contraseña maestra aún puede almacenarse en archivos de memoria. El investigador advierte que para estar 100% seguro de que no está al acecho en el sistema, deberá eliminar los archivos de intercambio e hibernación de su sistema, formatear su disco duro usando el modo "sobrescribir datos" para evitar la recuperación de datos y hacer una nueva Instalación del sistema operativo.


Sin embargo, para la mayoría, reiniciar la computadora, borrar el archivo de intercambio y los archivos de hibernación, y no usar KeePass hasta que se publique la nueva versión son medidas de seguridad razonables por el momento.


Incluso entonces, para obtener la mejor protección, tenga mucho cuidado de no descargar programas de sitios no confiables y tenga cuidado con los ataques de phishing que pueden infectar sus dispositivos, brindando a los actores de amenazas acceso remoto a su dispositivo y su base de datos KeePass.


Fuente: BC.