0% encontró este documento útil (0 votos)
52 vistas7 páginas

Vulnerabilidad en KeePass: CVE-2023-32784

Cargado por

Guido Huarcaya
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas7 páginas

Vulnerabilidad en KeePass: CVE-2023-32784

Cargado por

Guido Huarcaya
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Curso: Ethical Hacking

Tema: Vulnerabilidad en KeePass (CVE-2023-32784)


Docente: Fernando Rolyn Flores Solís
Alumnos: Bryan Javier Vicencio Romero - U202214324
Guido Huarcaya Quispe – U202211865
Informe de Vulnerabilidad en KeePass (CVE-2023-
32784)
Presentación:

El hacking ético es una práctica autorizada que implica detectar vulnerabilidades en


aplicaciones, sistemas o infraestructuras de organizaciones. Los hackers éticos evalúan la
seguridad de estos sistemas para identificar posibles brechas de datos y amenazas en una red.
A diferencia de los hackers maliciosos, su objetivo es mejorar la seguridad y encontrar posibles
debilidades que puedan ser explotadas. Aquí tienes una introducción detallada al hacking
ético:

Introducción. -

¿Qué es un Hacker Ético?

Un hacker ético es un profesional capacitado contratado para proporcionar ciberseguridad de


alta calidad a individuos, empresas y gobiernos. Su tarea es hackear legalmente los sistemas y
detectar cualquier punto débil.

Estos expertos buscan vulnerabilidades y las reportan para fortalecer los niveles de seguridad
existentes.

Conceptos Clave del Hacking Ético:

Legalidad: Antes de comenzar, los hackers éticos deben obtener permiso legal para realizar sus
evaluaciones.

Alcance: El hacking ético puede ser amplio o limitado según los requisitos del cliente.

Informe: Después de completar el proceso, se deben informar todas las vulnerabilidades o


problemas de seguridad.

Privacidad de Datos: Los hackers éticos a menudo manejan información sensible y pueden
requerir un contrato antes de comenzar.

Tipos de Hackers:

White Hat Hackers: Son los “hackers éticos” que intentan hackear un sistema para beneficio y
seguridad del mismo. Este tipo de hacking es legal y se utiliza para probar y corregir sistemas.

Black Hat Hackers: Son los hackers maliciosos que buscan explotar sistemas sin permiso.

Gray Hat Hackers: Se encuentran en un punto intermedio y pueden actuar de manera ética o
no, según la situación.

En resumen, el hacking ético es esencial para proteger la información y prevenir ataques. Los
profesionales éticos mantienen la integridad y la seguridad en línea

Entorno
KeePass Master Password Dumper es una sencilla herramienta de prueba de concepto que se
utiliza para volcar la contraseña maestra de la memoria de KeePass. Aparte del primer carácter
de contraseña, en su mayoría es capaz de recuperar la contraseña en texto plano. 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 de procesos, el archivo de
intercambio (pagefile.sys), el archivo de hibernación (hiberfil.sys), varios volcados de memoria
o volcados de RAM de todo el sistema. No importa si el espacio de trabajo está bloqueado o
no. También es posible volcar la contraseña de la RAM después de que KeePass ya no se esté
ejecutando, aunque la posibilidad de que eso funcione disminuye con el tiempo que ha pasado
desde entonces.

Probado en Windows (inglés) y en Debian (paquete keepass2). También debería funcionar para
la versión de macOS. Desafortunadamente, habilitar la opción no ayuda a prevenir el ataque.
PoC puede tener problemas con las bases de datos creadas por versiones anteriores de
KeePass, pero no pude reproducirlo .KeePass 2.53.1KeePass 2.47 Enter master key on secure
desktop

El hallazgo fue confirmado por Dominik Reichl, autor de KeePass

Pasos para Ejecutar el Exploit

1. Instale .NET (compatible con la mayoría de los principales sistemas operativos).


2. Clonar el repositorio: o descargarlo de GitHubgit clone
https://github.com/vdohney/keepass-password-dumper
3. Introduzca el directorio del proyecto en el terminal (Powershell en Windows) cd
keepass-password-dumper
4. dotnet run PATH_TO_DUMP

La forma más fácil de probar esto en Windows es crear un volcado de proceso en el


administrador de tareas haciendo clic con el botón derecho en el proceso KeePass y
seleccionando "Crear archivo de volcado".

Otra alternaniva, puede agregar otro parámetro para generar una lista de todas las contraseñas
posibles a partir del segundo carácter.dotnet run PATH_TO_DUMP PATH_TO_PWDLIST
Nivel de Amenza

Depende de su modelo de amenazas. Si su computadora ya está infectada por malware que se


ejecuta en segundo plano con los privilegios de su usuario, este hallazgo no empeora mucho su
situación. Sin embargo, podría ser más fácil para el malware ser sigiloso y evadir el antivirus, ya
que a diferencia de KeeTheft o KeeFarce, no es necesaria la inyección de procesos u otro tipo
de ejecución de código.

Si tiene una sospecha razonable de que alguien podría obtener acceso a su computadora y
realizar un análisis forense, esto podría ser malo. En el peor de los casos, se recuperará la
contraseña maestra, a pesar de que KeePass esté bloqueado o no se ejecute en absoluto.

Si utilizas el cifrado de disco completo con una contraseña segura y tu sistema está limpio,
deberías estar bien. Nadie puede robar sus contraseñas de forma remota a través de Internet
solo con este hallazgo.

Como Funciona KeePass

KeePass 2.X utiliza un cuadro de texto desarrollado a medida para la introducción de


contraseñas, . Este cuadro de texto no solo se usa para la entrada de 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 se puede usar para recuperar su contenido).SecureTextBoxEx

La falla explotada aquí es que por cada carácter escrito, se crea una cadena sobrante en la
memoria. Debido a cómo funciona .NET, es casi imposible deshacerse de él una vez que se
crea. Por ejemplo, cuando se escribe "Contraseña", se obtendrán estas cadenas sobrantes: •a,
••s, •••s, ••••w, •••••o, ••••••r, •••••••d. La aplicación POC busca estos patrones en el
volcado y ofrece un carácter de contraseña probable para cada posición de la contraseña.

La fiabilidad de este ataque puede verse influida en función de cómo se haya escrito la
contraseña y del número de contraseñas que se hayan escrito por sesión. Sin embargo, he
descubierto que incluso si hay varias contraseñas por sesión o errores tipográficos, la forma en
que .NET CLR asigna estas cadenas significa que es probable que estén bien ordenadas en la
memoria. Por lo tanto, si se escribieron tres contraseñas diferentes, es probable que obtenga
tres candidatos para cada posición de carácter en ese orden, lo que hace posible recuperar las
tres contraseñas.

Desarrollo

Es un POC rápido, por lo que probablemente no sea muy confiable y robusto. Crea una solicitud
de incorporación de cambios si encuentras un problema y corrígelo.

Los caracteres de contraseña permitidos están codificados actualmente de la siguiente manera:


(todos los caracteres ASCII imprimibles y el espacio).^[\x20-\x7E]+$

Evaluaciones CVSS
Recomendaciones
- Primero, actualice a KeePass 2.54 o superior.
- En segundo lugar, si has estado usando KeePass durante mucho tiempo, tu contraseña
maestra (y potencialmente otras contraseñas) podría estar en tu archivo de
paginación/archivo de intercambio, archivo de hibernación y volcado de memoria.
Dependiendo de tu nivel de paranoia, puedes considerar estos pasos para resolver el
problema:
- Cambia tu contraseña maestra
- Eliminar volcados de memoria (depende de su sistema operativo, al menos en
Windows, pero tal vez haya otros) C:\Windows\memory.dmp
- Eliminar archivo de hibernación
- Eliminar archivo de paginación/archivo de intercambio (puede ser bastante molesto,
no olvide volver a habilitarlo)
- Sobrescribir los datos eliminados en el disco duro para evitar el tallado (e.g. Cipher
with on Windows)/w
- Reinicia tu computadora

simplemente sobrescriba su disco duro y realice una nueva instalación de su sistema operativo.

También podría gustarte