Menú principal

lunes, 1 de agosto de 2011

Warning!: FileZilla Almacena tus contraseñas en texto claro

FileZilla es una de esas aplicaciones que no suelen faltar en los equipos de los  profesionales de hoy en día. Es un cliente multiprotocolo capaz de realizar conexiones FTP, SFTP, SSH, FTPS o FTPES entre otros. La utilidad proporciona conexiones con protocolos bastante seguros para gestionar servidores. Sin embargo, la pregunta que nos hicimos en Seguridad Apple ¿Es tan segura localmente?¿Dónde almacenará las credenciales?¿Lo hará de manera cifrada? Hoy exponemos algunas respuestas a estas preguntas.

¿Dónde almacena la configuración FileZilla?

FileZilla almacena la configuración en ficheros XML en la ruta /Users/"usuario"/.filezilla. Algunos se preguntarán como acceder desde Finder a esa ruta oculta, si por defecto Finder de Mac OS X no muestra archivos ocultos. Para acceder desde Finder a los archivos ocultos deberemos ejecutar en el terminal la siguiente orden 'defaults write com.apple.finder AppleShowAllFiles TRUE'. Lo que estamos cambiando es el valor por defecto de la directiva AppleShowAllFiles para que Finder muestre todos los archivos, incluyendo los ocultos. Como recordatorio, un archivo oculto en Mac OS X es un archivo que comienza por un punto.

Figura 1: Habilitando archivos ocultos en Finder

Una vez realizada la acción anterior, se puede abrir una instancia de Finder e ir a la ruta /Users/"usuario"/.filezilla y encontraremos los archivos de configuración de la aplicación. Hay que tener en cuenta que esa es la configuración del usuario local, otro usuario del sistema tendrá otra configuración en su carpeta personal. El resultado es que en el Finder se observará una situación parecida a la de la imagen que se muestra a continuación.

Figura 2: Archivos de configuración de Filezilla para un usuario local

Investigando los archivos de configuración

Ahora se puede investigar los distintos archivos que se han encontrado. Pero llaman la atención dos archivos en concreto, recentservers.xml y sitemanager.xml. Editando el primer archivo, recentservers.xml, encontramos información muy interesante. Al parecer, FileZilla ha estado almacenando las credenciales de los servidores a los que el usuario ha estado accediendo.

¿Por defecto guarda un histórico? Parece ser que sí. A continuación podéis ver parte del archivo recentservers.xml y las credenciales con las direcciones de los servidores.

Figura 3: Fichero recentservers.xml

El fichero sitemanager.xml almacena la configuración del gestor de sitios que viene con Filezilla. El gestor de sitios ayuda al usuario no tener que configurar una nueva conexión cada vez que quiera conectarse a un servidor. A continuación se puede observar cómo toda esa configuración, incluyendo credenciales, se almacenan en texto plano.

Figura 4: Fichero sitemanager.xml

En la imagen anterior, en el interior del rectángulo verde encontramos el servidor y puerto al que se conectará. En rojo las credenciales en plano, en azul el nombre del servidor remoto y en amarillo el directorio local y el directorio remoto, que en este caso no está configurado por lo que entrará al de por defecto del usuario remoto.

Cierre de sesión de local y cifrado de datos

Parece que FileZilla ofrece muchos protocolos de seguridad pero no protege de manera adecuada la información local del usuario, información muy sensible. Es por este tipo de cosas, que los administradores de red o los que trabajamos en seguridad implantan de modo el famoso ataque David Hasselhoff, que no tiene como objetivo nada más que hacer entender a un usuario que dejar la sesión abierta es un riesgo de seguridad. Si conseguimos que un usuario cierre la sesión de su equipo, aunque sea solo por no ver a David Hasselhoff en su equipo, estaremos logrando mejorar la seguridad de la compañía.

Por otro lado, este tipo de configuraciones pondría en riesgo la seguridad de todos los servidores si un equipo portátil es robado o perdido, y los datos no están cifrados, por lo que os recomendamos que hagáis uso de FileVault o FileVault 2 en Mac OS X Lion, o de TrueCrypt para cifrar los volúmenes de datos de vuestras aplicaciones.

7 comentarios:

  1. Muy buen articulo! gracias.

    ResponderEliminar
  2. Un poco FAIL si, un md5 o un sha aunque sea para despistar (si no tienes unas rainbow a mano) no habría estado mal.

    Por lo que he probado (Debian/Filezilla 3.3.5.1), se reproduce si usas la barra de conexión rápida, la opción de "eliminar historial" vacía el log en recentservers.xml y en sitemanager.xml en mi caso no hay almacenamiento de la pass, supongo que por la opción de login seleccionada para que pregunte siempre por contraseña.

    Interesante artículo, siempre me llama la atención ver pass almacenadas en claro aunque sea en ./.?

    salu2!
    .

    ResponderEliminar
  3. oh wait, tiene razon topo, si tiene que ser reversible md5 no vale... :? que se trata de un almacenamiento, no de una comprobación... :(

    ResponderEliminar
  4. Creo que en Windows pasa exactamente lo mismo...

    ResponderEliminar
  5. a nadie le había dado por mirar en el menú Archivo => Exportar?

    Cualquier forma en que lo guarde filezilla, va a ser "recuperable" por cualquiera que tenga acceso al ordenador, así que para que encriptarlo si cualquier que sepa acceder al filezilla va a saber desencriptarlo.

    ResponderEliminar
  6. Encriptarlo... existe?

    ResponderEliminar
  7. Gracias por el aviso, en Windows pasa lo mismo, he publicado una entrada en mi blog explicando una solución alternativa al problema. Saludos
    Aqui el enlace:
    http://gradamedia.com/component/k2/item/28-como-evitar-que-filezilla-almacene-nuestras-contrase%C3%B1as

    ResponderEliminar

Artículos relacionados

Otras historias relacionadas

Entradas populares