29 Diciembre, 2011 a las 16:35

Como ya sabemos toda la información que pasa por nuestro equipo es almacenada, unas veces de forma fija, por ejemplo en documentos o ficheros y otras veces de forma temporal, por ejemplo en la memoria RAM o ficheros temporales.

Esto es bueno por que permiten que las aplicaciones accedan a esa información de una manera rápida mientras usamos las aplicaciones. Pero ¿Qué pasa si una aplicación se cierra? ¿Se elimina esa información? La respuesta es NO, o al menos en la mayoría de los casos.

Cuando un programa deja de usar un determinado espacio en la memoria el sistema operativo simplemente libera ese espacio, pero generalmente no se elimina su contenido. La razón es bastante lógica: Si el sistema además de liberar ese espacio se dedicará a restablecer cada byte a 0 el proceso sería mucho mas lento que solo liberar el espacio para que otros programas puedan sobreescribirlo. Pero esto tiene un problema de privacidad ya que si esa información se guarda en la memoria y ese espacio se vuele disponible para cualquier programa podríamos obtener información comprometida, para entenderlo vamos a poner un caso práctico.

Obtener la contraseña de un servidor FTP o WordPress

Bajo este título un tanto comercial se esconde la explicación básica a este procedimiento, es algo muy usado en informática forense y sorprende a mucha gente de lo fácil que puede ser obtener contraseñas de todo tipo. En nuestro ejemplo hemos usado una máquina virtual, con Windows XP y el servidor bytehost.com pero podemos probar con otras configuraciones, protocolos y programas.

En el primer ejemplo veremos como conseguir la contraseña de un servidor FTP al que un usuario haya accedido desde la misma máquina.

El primer paso es que el usuario abra un servidor FTP, en nuestro caso lo hemos hecho con ftp://ftp.byethost33.com, introduciremos nuestras credenciales y una vez ha terminado de trabajar con el lo cierra, podemos si queremos además cerrar la sesión, no importa.

Ahora nosotros vamos a tratar de averiguar que credenciales ha usado para entrar, para ello vamos a usar una utilidad forense, en este caso FTK Imager y vamos a realizar una imagen de nuestra memoria RAM, para ello abrimos el programa y vamos a File>Capture Memory.

Seleccionamos una ruta de destino y un nombre para el archivo, el programa hará una imagen exacta byte a byte de nuestra memoria RAM para posteriormente examinarlo.

Una vez el proceso ha terminado debemos abrir la imágen, podemos usar un editor hexadecimal o simplemente ir a File>Add Evicende Item, cuando lo tengamos abierto realizaremos una búsqueda con el contenido “PASS ” y coincidencia de mayúsculas: ahí tenemos la contraseña.

Si quisiéramos el usuario solo tendríamos que escribir “USER”. Como os he dicho esto se puede llevar a otros campos, como identificación en Webs, etc.

Por ejemplo, si quisieramos averiguar la contraseña del panel de control de WordPress podríamos utilizar el string de búsqueda “pwd=”

Y no solo haciendo volcados de memoria, también mediante análisis del disco podremos obtener ficheros eliminados, cookies, historiales y demás información sensible con la particularidad de que ademas el disco duro no borra su contenido solo con reiniciar.

Reflexionemos: mas del 80% de las personas utilizan la misma contraseña para todo y sino es así lo mas probable es que el resto de servicios tengan una genial opción para recordar la contraseña la cual envíe una nueva a su e-mail.

¿Cuantos ordenadores públicos son utilizados por diferentes personas sin antes reiniciar el equipo? ¿Cuantas veces has dejado tu ordenador a un amigo para ver cualquier cosa sin reiniciar? Seguro que a partir de ahora ninguna mas.

Acerca de Miguel Díaz

Informático, enamorado de la programación, diseño Web y el deporte.
Categorías: Informática forense, Pentesting, Privacidad, Seguridad. Etiquetas: , , , , , , .

2 comentarios en El peligro de de la información almacenada en memoria y otros lugares temporales

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *