Las últimas versiones de WS_FTP, uno de los clientes de FTP más
difundidos, utilizan un sistema de cifrado vulnerable para guardar
las claves de acceso. Ipswitch Inc., multinacional de software
creadora del WS_FTP, ha confirmado el hallazgo de HispaSec.
WS_FTP, como el resto de clientes FTP, posee un apartado donde
podemos guardar y configurar los distintos sitios FTP a los que
acceder. En estos registros se introducen los datos necesarios
para cada campo, los más básicos incluyen: Nombre del Sitio,
URL o dirección IP, Nombre de Usuario con el que nos identificamos,
y la opción de Guardar la Clave de Acceso.

Para almacenar las claves, los clientes de FTP utilizan algoritmos
de cifrado que impiden el poder acceder a ellas mirando con un
simple editor en los ficheros donde se almacenan, norma básica
exigible a todo software que maneje este tipo de información.
Por norma general, los dos clientes de FTP más utilizados en
entornos Microsoft, CuteFTP y WS_FTP, utilizaban sistemas muy
simples.

En el caso del CuteFTP, que de forma incomprensible aún perdura,
el algoritmo consiste en una función que suma el valor fijo 72
al código ascii de cada una de los caracteres que forman la
clave. Las antiguas versiones de WS_FTP eran igual de pésimas
en este apartado, e intentaban solucionar el problema con un
algoritmo que restaba al código ascii de cada caracter un número
según la posición que ocupaba en la clave de acceso.

Estas facilidades en los algoritmos provocó una avalancha de
utilidades, cracks, que devolvían la password en claro de los
ficheros donde se almacenaban cifradas. En el CuteFTP el fichero
que contiene las claves es SMDATA.DAT, en versiones más antiguas
se almacenaba en el TREE.DAT, ambos se pueden encontrar en el
directorio donde se instala el programa. El caso del WS_FTP es
similar, sitúa esta información en ficheros .INI junto a sus
ejecutables.

El programa que llevaba acabo esta función con las antiguas versiones
del WS_FTP lo podemos encontrar en Bugtraq, y data del año 1997:
Artículo en Bugtraq

A partir de éste hecho, y en las últimas versiones de WS_FTP, Ipswitch
ha incorporado un nuevo sistema de cifrado, que en apariencia ofrece
una imagen mucho más resistente. Véamos algunos ejemplos obvios, donde
comparamos el resultado de cifrar algunas claves con el actual
CuteFTP 3.0, cuyo sistema es similar al antiguo utilizado por WS_FTP,
y por otro lado con la versión WS_FTP Pro 6.0 que incorpora el nuevo
algoritmo.

Clave Cifrado CuteFTP 3.0
Caso1 aaaaa ©©©©©
Caso2 aaaaa ©©©©©
Caso3 aaaaaaaaaa ©©©©©©©©©©
Caso4 ababababab ©ª©ª©ª©ª©ª

Clave Cifrado WS_FTP Pro 6.0
Caso1 aaaaa PWD=VDED00FCA4CC412E95C835119F5639D9E6567679495
Caso2 aaaaa PWD=V9531EA5D4BA4D755B85141767D3F98519A9796956A
Caso3 aaaaaaaaaa PWD=V48D2FBED3895FC3552495CD76F115E61959A67966B686C6C9CA2
Caso4 ababababab PWD=V4A911E7EB29CEB9E231E3C30CCA3B58895649C96966C9E6E6B9D

Como se puede comprobar, en el caso del CuteFTP para cada caracter de
la clave en claro se corresponde siempre el mismo caracter cifrado, de
forma independiente a la posición que ocupe. El algoritmo es fijo, y
da los mismos resultados en todos los casos. El cifrado consiste
simplemente en coger el caracter que le sigue en la posición +72
en la tabla ASCII.

En el caso del WS_FTP, y a primera vista, la cosa parece que tiene
poco que ver. Podemos observar como cada vez que ciframos los resultados
son diferentes para la misma clave, además no se aprecia ninguna
relación directa entre los caracteres que la conforman y el resultado
del cifrado.

Sin embargo, todo vestigio de seguridad en este sistema es sólo una
falsa percepción, es lo que en ambientes criptográficos se conoce como
«snake oil». Para poder comprobar la debilidad de este sistema en línea
os invitamos a que visitéis la siguiente página web, donde podréis,
además, ver el código íntegro en JavaScript que realiza el descifrado:

http://www.hispasec.com/wsftp.asp

Ésta misma página web fue la prueba que se envió a Ipswitch, los
creadores del WS_FTP, que de inmediato confirmaron nuestro aviso. El
intercambio de emails fue constante durante varios días, en uno de
ellos Jon Kadilak, Technical Engineer de Ipswitch Inc., tras conocer
que había descubierto el algoritmo actual me comunicaba que «He
requerido un sistema de cifrado más fuerte para la próxima versión
de WS_FTP. Su salida dependerá de cuando los diseñadores lo hayan
implementado.»

Desde HispaSec, y a la espera de la nueva versión, os recomendamos que
no utiliceis la opción de salvar las claves de acceso, tanto en WS_FTP
como en cualquier otro software que utilice algoritmos de cifrado
propietarios no públicos.

Más información:
Demostración
Ipswitch
WS_FTP

Bernardo Quintero

Compártelo: