Seguridad Sistemas y Redes ( 6 )
Articulos encontrados...
Cadenas identificativas y otros recursos 2
Ftp
FTP son las siglas de File Transfer Protocol (Protocolo de Transferencia de Ficheros), en informática es un protocolo de red orientado a la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol – Protocolo de control de transmisiones), esta basado en la arquitectura cliente-servidor, desde un equipo cliente se puede conectar a un equipo servidor para descargar archivos desde el servidor o enviar archivos al mismo, siendo independiente del sistema operativo utilizado. El servicio de FTP utiliza la capa de aplicación del modelo de capas TCP/IP y utiliza normalmente el puerto 20 o 21. Uno de los problemas identificados de este servicio es que esta pensando para ofrecer velocidad en la transferencia de archivos, pero no así seguridad ya que toda la información intercambiada entre los sistemas incluidos contraseñas y usuarios son enviados en formato de texto plano sin cifrado de ninguna clase. Por lo cual realizando sniffing sobre el servicio se podría obtener información valiosa para un atacante del sistema. La recomendación en seguridad seria utilizar un método alternativo como sFtp el cual esta incluido en el paquete SSH y permite cifrar la conexión en la transferencia de archivos.
Servidor ftp
Un servidor ftp es un programa que se ejecuta en un sistema servidor estando este ultimo normalmente conectado a internet, aunque también es posible que no tenga conexión a internet y si a una red interna. La función principal del servidor es permitir el intercambio de archivos o ficheros entre distintos sistemas servidores o clientes. Lo normal es que el servidor ftp no este instalado en un equipo personal, por lo cual un usuario normal utilizara el FTP para conectarse de forma remota al servidor y enviar o recibir información. Las funciones principales o para las que normalmente se utiliza un servidor FTP son las de alojamiento web o servidores de backup, de forma que los clientes del servicio puedan acceder al servicio y enviar sus archivos al sistema servidor utilizando el protocolo FTP o SFTP (Secure File Transfer Protocol).
Cliente ftp
Si un equipo personal no tiene instalado en su navegador el servicio de FTP, el usuario ha de instalar en su equipo un programa que le permita la transferencia de archivos entre su sistema y un sistema remoto, a este tipo de programas se les denomina clientes FTP, este tipo de programas facilitan el acceso al sistema servidor, teniendo el usuario simplemente que indicar el nombre del servidor, la cuenta de usuario y la contraseña en caso necesario asignada para la conexión, una vez establecida la misma se tendrá acceso al servidor y se podrá realizar la transferencia de archivos con el programa cliente. Los programas cliente pueden ser en modo consola de texto o grafica, siendo lógicamente los de entorno grafico mucho mas cómodos de utilizar, entre ellos se puede destacar Filezilla, CuteFTP, etc.,Mientras que en modo consola se suele utilizar el comando ftp tanto en sistemas linux como windows.
Modos de conexión
FTP permite dos modos de conexión del cliente. Los modos se denominan Activo (también denominado estándar o PORT ya que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la conexión) y Pasivo o también denominado PASV ya que el cliente envía comandos tipo PASV, tanto en un modo u otro el cliente establece una conexión utilizando el puerto 21 que establece el canal de control.
Modo Activo
En el modo activo el servidor crea su canal de datos en el puerto 20, mientras que por parte del cliente el canal de datos se asocia con un puerto aleatorio mayor de 1024. Para realizar este proceso el cliente envía un comando PORT el cual indica al servidor el numero de puerto por el cual realizar la transmisión de datos. Esta acción hace que el cliente este preparado para abrir cualquier puerto aleatoriamente superior al 1024, teniendo en cuenta este hecho es inseguro utilizar el modo activo ya que dejamos expuesto puertos de forma aleatoria a un posible atacante. De hecho casi todos los cortafuegos que se instalan en los sistemas suelen bloquear o rechazar este tipo de conexiones.
Modo Pasivo
Para suplir la inseguridad del sistema activo se creo el modo pasivo, en este modo cuando el cliente envía un comando PASV sobre el canal de control, el servidor de FTP le indica al cliente por el canal de control el puerto mayor a 1023, por el cual conectarse el cliente.
Tipos de transferencia de archivos
Ascii
esta forma de transferencia es útil para transferir archivos que solo contengan caracteres imprimibles, es decir contengan texto ascii puro no transformado por un procesador de textos no ascii. Un ejemplo seria transferir un archivo html, php, código fuente, etc. Pero no se podría enviar una imagen.
Binary
esta otra forma de transferencia es la adecuada cuando se ha de transmitir otro tipos de archivos que no sean ascii, como archivos de imagen, comprimidos, audio, etc.
Comandos mas frecuentes
Se ha de tener en cuenta la forma de utilizar el cliente de ftp, si este es el incluido normalmente en el sistema operativo, bien sea linux o windows, o es un cliente grafico como filezilla o cuteftp.
la sintaxis para ejecutar el cliente, por ejemplo en windows 7 seria la siguiente:
ftp
los comandos mas frecuentes son los siguientes:
open servidor
Inicia una conexión con el “servidor” especificado.
close, disconnect
Finaliza la conexión con el servidor sin cerrar el programa cliente.
bye, quit
Finaliza la conexión con el servidor cerrando el programa cliente.
cd directorio
Cambia de directorio de trabajo en el servidor.
delete archivo
Borra el archivo especificado en el servidor.
mdelete patrón
Borra archivos en el servidor según el “patrón” especificado.
dir, ls
Muestra el listado de directorio en el que nos encontramos.
get archivo
Obtiene o transfiere un archivo desde el servidor al cliente.
mget archivos
Obtener o transferir múltiples archivos desde el servidor al cliente.
hash
Activa la impresión de caracteres # , mientras se realiza la transmisión de archivos, como si de una barra de progreso se tratara.
lcd directorio
Cambia el directorio de trabajo local.
prompt
Activa/Desactiva la confirmación por parte del usuario la ejecución de comandos.
put archivo
Enviar “archivo” al directorio de trabajo del servidor.
mput archivos
Enviar múltiples “archivos” al servidor.
pwd
Mostrar el directorio activo del servidor.
rename
Cambiar el nombre a un archivo del servidor.
rmdir directorio
Elimina el “directorio” especificado en el servidor, siempre y cuando este vacio.
status
Muestra el estado actual de la conexión.
bin, binary
Activa el modo de transferencia binario.
ascii
Activa el modo de transferencia ascii.
help
Mostrar la lista de ordenes o comandos disponibles.
append archivo
Continua la descarga del “archivo” en caso de un corte en la transferencia del mismo.
send archivo
Enviar el archivo especificado al directorio activo del servidor.
user
Permite cambiar el nombre de usuario y contraseña sin abandonar la sesión.
Ejemplos de obtención de cadenas identificativas con el comando ftp:
$ ftp ftp.servidor.com
Conectado a servidor.com
220 ProFTPD 1.3.1 Server (ProFTPD) [86.45.123.43]
Usuario (servidor.com:(none)):
De esta forma se puede obtener las cadenas que proporciona el servidor de ftp, y si no están bien configuradas es posible saber la versión del servidor que se esta utilizando y poder consultar si existe algún tipo de vulnerabilidad sobre el mismo.




