CVE-2023-32784 - KeePass

CVE-2023-32784 - KeePass

Celia Catalán


Al post d'avui venim a parlar de KeePass, un conegut gestor de contrasenyes. KeePass Password Safe és un gestor de contrasenyes gratuït i de codi obert que serveix per administrar les vostres contrasenyes de manera segura, permetent així tenir una contrasenya per a cada servei sense morir en l'intent. El funcionament de KeePass es basa en tenir una contrasenya mestra, la qual ha de ser molt robusta i caldrà recordar-la, de manera que aquesta clau ens donarà accés a la nostra base de dades de contrasenyes, tenint en compte que les podrem generar de manera aleatòria i no tindrem necessitat de recordar-les.

Tot i que sempre recomanem l'ús d'aquesta eina o altres de similars per protegir les nostres contrasenyes, a mitjan 2023 va sorgir la vulnerabilitat CVE-2023-32784 , la qual podria causar el compromís de la contrasenya mestra si es compleixen les condicions següents:

  • L'atacant accedeix a un equip amb un procés de KeePass executant-se (no cal que la sessió de KeePass estigui desbloquejada).
  • L'usuari víctima ha introduït la contrasenya mestra manualment (no copiant i enganxant).

Aquesta vulnerabilitat és deguda a l'ús del quadre de text “SecureTextBoxEx” durant l'accés amb la contrasenya mestra, ja que aquesta funcionalitat també serveix per recuperar contingut de contrasenyes a altres seccions de KeePass.

Per demostrar el funcionament daquesta vulnerabilitat, es verificaran dos exploits públics, els quals permeten el desxifrat de la contrasenya mestra a excepció del primer caràcter. El fet que el primer caràcter no s'emmagatzemi, és degut a com funciona a nivell de .net la funcionalitat de “SecureTextBoxEx”, ja que emmascara el caràcter anterior i mostra l'actual, per exemple, per a la paraula password:

-a, --s, ---s, ----w, -----o, ------r, -------d.

Per a aquest exercici, el primer que farem serà crear una base de dades de proves, i us assignarem la contrasenya: sup3r$3cr3tP4ssw0rd!


Després de tenir creada la nostra nova base de dades i haver bloquejat la sessió per “protegir-la” cal fer un bolcat de la memòria del procés de KeePass. És possible realitzar bolcats de memòria mitjançant diferents tècniques, però per a aquesta prova de concepte, n'hi ha prou amb poder utilitzar l'administrador de tasques sense cap mena de privilegi administratiu.


Quan tenim el bolcat de memòria del procés de KeePass, procedirem a fer ús dels següents exploits:


Com podem apreciar, ambdós exploits ens permeten desxifrar la contrasenya mestra sense cap mena de dificultat, sent que només caldrà endevinar el primer caràcter de la contrasenya.
Això no significa per res que haguem de desconfiar dels gestors de contrasenyes, simplement com qualsevol altra aplicació, són susceptibles de contenir vulnerabilitats, per la qual cosa cal mantenir-los sempre actualitzats per comptar amb els darrers pegats de seguretat. A continuació, oferim una sèrie de recomanacions que cal seguir en cas d'haver pogut ser afectat per aquesta vulnerabilitat:
  • Actualitza KeePass 2.54 o superior.
  • Canviar la contrasenya mestra de KeePass per si s'hagués vist compromesa.
  • Eliminar fitxers que puguin contenir contrasenyes de KeePass en memòria com els crash dumps (usualment ubicats a C:\Windows\memory.dmp per a windows), el fitxer d'hibernació (hiberfil.sys) i el fitxer de paginació/intercanvi (pagefile.sys) ).


Ignacio Sánchez , Analista de Ciberseguretat a Zerolynx .
Tornar al bloc

Deixa un comentari

Tingueu en compte que els comentaris s'han d'aprovar abans que es publiquin.