2 ago 2011

FileZilla: seguro fuera, inseguro en casa

Hace unos días publiqué en Seguridad Apple un artículo sobre la inseguridad que provocaba FileZilla al almacenar las credenciales de los sitios en plano y el histórico de conexiones también en texto plano. En el caso de los equipos con sistemas operativos GNU/Linux, no lo he mirado, debe ser muy parecido a dónde un sistema operativo Mac almacena dichos ficheros, sólo hay que buscarlos.

En el caso de lo sistemas operativos Microsoft Windows la herramienta dispone del mismo punto negro, es decir, el usuario se encontrará los archivos de configuración de FileZilla en una ruta en concreto. Se utilizará la variable de entorno %appdata% que apunta a %SystemDrive%\Users\Usuario\AppData\Roaming dónde se encuentran configuraciones de aplicaciones instaladas en el equipo. Existirá una carpeta denominada FileZilla que almacena la información de configuración de la aplicación para el usuario que está en ejecución.

Encontrando la ruta

[caption id="attachment_3630" align="alignright" width="225" caption="Ejecutando ruta"][/caption]

En la imagen de la derecha se puede observar lo sencillo que es encontrar la carpeta, del usuario en ejecución, de FileZilla. Además se puede observar el resto de configuraciones de otras aplicaciones.

Hay que tener en cuenta la unidad dónde Windows está instalado, para poder saber en qué unidad está el sistema disponemos de la variable de entorno %systemdrive%.

Fichero: sitemanager.xml

FileZilla contiene una aplicación denominada 'gestor de sitios' (primer icono de la barra de herramientas) en el cual el usuario puede automatizar el proceso de conexión a los sitios más demandados por éste. Con este gestor, facilita el trabajo con la aplicación y ahorra tiempo en el uso de la herramienta.

El gestor de sitios almacena su configuración en un fichero XML denominado sitemanager.xml. Es un archivo que almacena toda la información en texto plano, por lo que las credenciales de los sitios quedan al 'aire'.

Los atributos críticos son host, port, user y pass. Con estos parámetros un atacante, o en un análisis forense, ya dispondríamos de toda la información necesaria para suplantar la identidad de la víctima. Tened cuidado a quién le dejáis el equipo, porque en un descuido y teniendo FileZilla a mano... pueden hacer una buena 'ñapa'.

Fichero: recentservers.xml

Pero quizá este fichero sea mi preferido, recentservers.xml almacena las conexiones realizadas por el usuario. Es decir, es un histórico de las conexiones realizadas por un usuario. Entonces... si un usuario tiene acceso a nuestro equipo, de algún modo, podría ver de manera muy fácil que credenciales tiene la víctima.

A continuación se visualiza el fichero en cuestión:

[caption id="attachment_3641" align="aligncenter" width="497" caption="recentservers.xml"][/caption]

Esperamos que os haya resultado de interés, y tener cuidado con FileZilla, parece seguro en conexiones... ssh, sftp, ftps, ftpes, pero localmente... ¡zas!

9 comentarios:

  1. Como ya se ha comentado en SeguridadApple a pesar de tratarse de un protocolo bastante inseguro ya de por si creo que una encriptación en MD5 no estaría nada mal ya que asi no serian accesibles las contraseñas para cualquier usuario sin conocimientos.Buena entrada Pablo!

    ResponderEliminar
  2. [...] Filezilla el cliente 'para todo' te almacena credenciales en 'plain/text' www.flu-project.com/filezilla-seguro-fuera-inseguro-en-ca...  por fluproject2 hace 2 segundos [...]

    ResponderEliminar
  3. En Linux el tratamiento es el mismo, los dos ficheros se encuentran en la carpeta del usuario (~/.filezilla) y ambos almacenan los datos en texto plano. Una auténtica cagada en toda regla!!¡¡

    ResponderEliminar
  4. Yo uso filezilla y tengo ambos ficheros en mi máquina. El fichero recentservers.xml lo tengo vació y eso que uso bastante filezilla, no se si es que se puede desactivar esta opción y la tengo desactivada de casualidad.Respecto al fichero sitemanager.xml la verdad es que me parece un buen fallo pero de todos modos, aunque el fichero no mostrase las claves en texto plano se podría acceder a los ftps del gestor de sitios, solo hay que abrir filezilla y conectar aunque si es cierto que no sabríamos la clave pero ¿acaso importa? nos podríamos copiar el fichero xml encriptado y colocarlo en nuestra máquina para poder conectar a todos los sitios.Guardar las pass en md5 creo que no sería viable ya que filezilla necesita conocer las claves para poder acceder a los ftps así que tendría que "deshacer" los md5 para poder conectarse.

    ResponderEliminar
  5. Se me olvidaba.El el gestor de sitios lo que suelo hacer es no poner la contraseña (pongo todo lo demás, host, tipo de host y usuario pero no la contraseña) de forma que filezilla me la pide cada vez que conecto. De esa forma no aparece en el fichero sitemanager.xml aunque no se si aparecería en el otro fichero, como digo, ese otro fichero lo tengo vacío.

    ResponderEliminar
  6. Despues del par de posts, me he animado a informarme un poco y parece que es algo a conciencia por los creadores de Filezilla. En el foro de filezilla hay posts desde el 2007 recurrentes sobre el tema de las passwords y sitemanager.xml. Y no no tienen intención de cambiarlo. Se escudan en decir (entre otras muchas cosas) que al ser open-source no tienen sentido incluir un algoritmo de encryptación/desencriptación, y que proteger el archivo es cósa del s.o. Hay algún usuario que incluso ha desarrollado de manera independiente: http://forum.filezilla-project.org/viewtopic.php?f=3&t=20633&hilit=password+sitemanagerDesde mi punto de vista y despues de leer un rato; creo que es una cagada enorme y que por ejemplo, podrían añadir la opción de encriptación del fichero mediante un key elegida por el usuario durante la instalación.Voy a tener que migrar mis casi 30 sitios del filezilla, lo bueno es que tengo una copia de seguridad de las contraseñas en texto plano ;) Salu2 y felicidades por el blog

    ResponderEliminar
  7. [...] a todos, hace algunos meses Pablo nos comentaba desde su post FileZilla: seguro fuera, inseguro en casa el agujero de seguridad que tenía el famoso cliente ftp, que almacenaba las contraseñas de los [...]

    ResponderEliminar
  8. Que mal por Filizilla. ¿Y existe alguna alternativa (sin importar si es gratuita o de pago) que trate mejor la información que almacenamos sobre nuestros sitios web?

    ResponderEliminar