Contraseñas no tan efímeras en memoria

En bastantes ocasiones hemos encontrado la recomendación de cambiar nuestras contraseñas periódicamente para mejorar la protección de nuestras cuentas de correo y/o redes sociales. Esta recomendación que más bien puede parecer un incordio (tener que buscar contraseñas fáciles de recordar periódicamente y que además cumpla con las políticas de seguridad del proveedor: mayúsculas, números, etc.) tiene bastante sentido ya que no es tan difícil que alguien obtenga nuestra contraseña. No estoy hablando del típico robo de credenciales, keyloggers software o hardware, sniffers de red, etc. Voy a algo mucho más sencillo y que no necesita ninguna sofisticación.

Seguramente muchos de los lectores se han encontrado en la tesitura de tener que consultar su correo o perfil de red social desde un ordenador público (en bibliotecas, universidades, hoteles o en casa de algún conocido); pues bien, no importa si utilizó una conexión cifrada, o si cerró la sesión, incluso si cerró el navegador. Su contraseña puede estar en memoria y puede ser revelada fácilmente por un tercero.

La explicación es simple, para que un proceso pueda trabajar con la información debe estar en memoria y, aunque en el momento de la transmisión los datos se encuentren cifrados, previamente la información se encuentra perfectamente legible en algún lugar. El proceso puede haber terminado de trabajar con esos datos pero eso no significa que se hayan eliminado esos datos de la memoria.

Una pequeña y sencilla muestra de este procedimiento:

  1. Obtenemos una muestra completa del espacio de direcciones de memoria del proceso correspondiente al navegador (iexplorer.exe, chrome.exe, firefox.exe, etc.)
    mem01
  2. Buscamos cadenas de texto tipo “pass=”, “passwd=”, “password=” tratando de encontrar en memoria peticiones de login de los usuarios que han usado el equipo. Para ello usaremos el comando strings para buscar cadenas y findstr para filtrar. Enviamos los resultados de la búsqueda al fichero result.txt
    mem02
  3. Comprobamos el fichero result.txt en busca de credenciales. En nuestro caso aparecen la contraseña y el usuario de Facebook de testuser@yahoo.es
    mem03

En resumen, este artículo pretende alertar al lector sobre lo simple que puede resultar la obtención de credenciales, de modo que recomendamos restringir el uso de las mismas a lugares de mucha confianza y el cambio periódico de la contraseña para prevenir posibles accesos no autorizados.