jueves, 11 de febrero de 2010

Conclusiones

A partir de la realizacón de este blog se ha podido mostrar con mayor detenimiento los principales problemas de seguridad que ofrece un protocolo muy utilizado en las redes de comunicaciones. Por ejemplo, en la siguiente página se muestra un listado de las principales pruebas de vulnerabilidades realizadas sobre el protocolo FTP.

Lista de vulnerabilidades FTP


Se han descrito de estas las más importantes como son que el protocolo FTP trasmite el texto en claro, el FTP Bounce Attack, ataques por fuerza bruta.... y se han mostrado las contramedidas para evitar estos ataques, siendo importante resaltar lo importante que resulta la prevención de ataques, para minimizar y dificultar que estos se produzcan.

Ataque por fuerza bruta

En primer lugar es importante aclarar que es un Ataque por Fuerza Bruta. En Criptografía se denominan a este tipo de ataques a aquellos cuya función es recuperar claves probando todas las posibles combinaciones hasta encontrar aquella que nos permita obtener el acceso al lugar de nuestro ataque. Este tipo de ataques suele ser muy costoso en cuanto al número de operaciones necesarias para conseguir el objetivo requerido, puesto que usan el método de prueba y error, muy costoso computacionalmente.

Puesto que el protocolo FTP es usado para transferir constantemente información entre clientes y servidores (principalmente web), y la gran mayoría de la información transmitida usando este protocolo es llevada a cabo sin ningún método de cifrado, por esto la interceptación de dichas transmisiones origina un enorme peligro en la integridad y confidencialidad de los datos. Muchos de estos datos, son usuarios o contraseñas que pueden ser obtenidos fácilmente con numerosos programas como el BrutusAET, que es un crackeador de contraseñas http, FTP, Telnet, SMB entre otros.

Este programa al igual que otros muchos como Cain & Abel 4.6, SAG 0.2.0, PwDumpX11...posee una interfaz gráfica que nos permite de forma sencilla configurar numerosos campos como:

- Target (objetivo): dirección IP de la máquina (servidor) objetivo.

- Tipo: Tipo de protocolo a auditar (para nuestro caso FTP).

- Puerto: Por defecto trae seleccionado el 80 (comunmente utilizado para servicios Web,
para nuestro caso al seleccionar el protocolo FTP se habilitará el puerto 21).

Opciones de autenticación: en este apartado puede indicarse el método de ataque. Uno de los más comúnmente utilizados es el método de diccionario (método que hace uso de un archivo con los posibles nombres de usuarios y contraseñas) método mas efectivo con aquellos usuarios “novatos” o ingenuos que aún utilizan palabras comunes para sus inicios de sesión: fechas de nacimiento, ciudad, mismos nombres, palabras de uso común,etcDeben ubicarse los dos archivos diccionarios “usuarios” y “palabras”.

Tras esta configuración se pasaría a ejecutar el testeo comprobando cada uno de los usuarios contenidos en el archivo users contra cada una de las palabras contenidas en el archivo de words.
Hay que tener en cuenta que cada intento de inicio de conexión puede quedar registrado en función de la configuración que tenga el servidor al que intentemos atacar, pudiendo ocurrir que una IP sea restringida tras un número configurado de intentos fallidos, lo que provocaría que sería necesario la utilización de servidores proxys como métodos de ocultación de clientes.


Referencias

-http://kernelerror.net/infosec/ftp-by-brute-force/
-http://www.baxware.com/fuerza-bruta-bruteforce.htm
-http://labs.dragonjar.org/laboratorios-hacking-tecnicas-y-contramedidas-ataques-por-fuerza-bruta-brute-force-i

miércoles, 10 de febrero de 2010

Ataques por errores en la configuración FTP

A continuación se describirán algunos errores que se pueden producir en cuanto a la configuración del servidor FTP que lo harían susceptible de ser atacado.

Un problema común en la configuración es que el directorio root FTP anónimo (~ftp) y sus subdirectorios se encuentren en el mismo lugar que la cuenta del usuario FTP y estos no se encuentren protegidos frente a escritura. En este caso, un atacante podría añadir mediante escritura nuevos archivos, como por ejemplo “.rhosts”, o modificar los ya existentes e incluso llegar a destruirlos.

Además si archivos con información privada, como por ejemplo los archivos “/etc/passwd” y "/etc/group” del sistema, se colocan como archivos de password y de grupo en el directorio “~ftp/etc”, permitirá que los atacantes puedan obtener copias de estos archivos.

Algunos servidores FTP se configuran como anónimos para así poder permitir áreas de escritura, por ejemplo, mediante la utilización de directorios “drop off” o de entrada para almacenar los archivos enviados al servidor. Si estos archivos se pueden leer por los usuarios de la cuenta FTP anónimo, podrían producirse abusos por parte de los clientes. Por ejemplo, podrían utilizarse los directorios “drop off” para la distribución de versiones falsificadas de software o para distribuir información comprometida sobre cuentas y archivos de password.

Otro problema debido a una mala configuración es que cuando al configurar el servidor no se establece un límite en el área de escritura, el sistema de archivos pueden ser abarrotado de archivos basura que acaparen todo el espacio, para conseguir la interrupción del servicio, la caída del sistema no simplemente el consumo del espacio de disco.


Contramedidas

Una configuración adecuada del servidor se conseguiría realizando adecuadamente las siguientes acciones:

-Configuración de los directorios del FTP anónimo:

Consiste en hacer que el directorio root ftp y sus subdirectorios pertenezcan únicamente al directorio root y protegerlo para que solo el directorio root tenga permiso de escritura.

Ademas, los archivos y librerias utilizados en “~ftp/bin” y “ftp/etc” no deben estar ubicados en la cuenta ftp o pertenecer al mismo grupo que esta y todos ellos deben estar apropiadamente protegidos frente a escritura.

-Utilización de archivos propios para los archivos de password y de grupo

Consiste en hacer que el directorio “~ftp/etc tenga un archivo de password y de grupo independientes de los archivos del sistema asegurando que “~ftp/etc/passwd” no contiene los mismos nombres de las cuentas que se encuentran en “/etc/passwd”. En este ultimo campo solo se tiene que indicar aquellas entradas que son importantes para la jerarquía FTP o para mostrar los nombres del propietario y del grupo. Además se puede conseguir clarear el campo de password por ejemplo mediante la utilización de un asterisco (*).

-Modificación del dominio FTP

Para permitir el almacenamiento de archivos a los usuarios en el servidor FTP anónimo, es importante modificar la configuración del dominio, que controla el acceso al directorio “drop off”. Esta es la mejor forma de evitar que se utilicen áreas de escritura no deseadas.

Algunas de las modificaciones que se deberían tener en cuenta son las siguientes:

a) Establecer una política en el servidor donde los archivos bajados no puedan ser accedidos por el resto de los usuarios hasta que el administrador del sistema examine los ficheros y los mueva a un directorio de acceso público.

b) Limitar la cantidad de datos transferidos a una sección.

c) Limitar la cantidad de datos que se pueden transferir en función de la disponibilidad que se tenga de almacenamiento en el disco.

d) Crear registros para poder detectar los abusos que se realicen.

-Utilización de directorios protegidos

Otra solución es utilizar directorios protegidos si se planea dar un servicio “drop off” y no es posible modificar el dominio ftpd.

Esto se consigue si se protege el nivel más elevado del directorio “~ftp/incoming” , dando solo permiso de ejecución a los usuarios anónimos, lo cual permite que los usuarios cambien de directorio mediante la instrucción “cd”, pero les impide ver el contenido de los directorios.

Referencias

La principal referencia a partir de la cual se ha obtenido la siguiente información es la siguiente página Web:

http://penta2.ufrgs.br/gereseg/unlp/tut1998/s14barbera.html#Contenidos

Contiene información general de cómo proteger servidor FTP.