Salto de restricciones a través de valores TTL en Snort
Se ha descubierto un fallo de seguridad en Snort que podría permitir a
un atacante remoto saltar restricciones de seguridad.
Snort es uno de los IDS (Sistema de Detección de Intrusiones) más
extendidos. Distribuido de forma gratuita como Open Source, Snort puede
detectar muchos de los patrones de ataque conocidos basándose en el
análisis de los paquetes de red según unas bases de datos de firmas,
además de reglas genéricas. Habitualmente la función de estos detectores
es la de alertar sobre actividades sospechosas a través de cualquier
mecanismo, aunque en ocasiones puede usarse para lanzar medidas
destinadas a mitigar de forma automática el posible problema descubierto
por el sensor.
El fallo reside en el reensamblado de paquetes IP fragmentados. Cuando
Snort recibe paquetes fragmentados compara sus valores TTL. Snort tiene
un valor predefinido para la diferencia de valores TTL entre paquetes,
si el valor de la diferencia entre el primero de ellos y el resto es
mayor que este valor los descartará y no aplicará ningún filtro o examen
sobre ellos. Un atacante remoto podría aprovechar este fallo para saltar
restricciones de seguridad modificando los valores TTL de los paquetes
IP.
El problema se ha confirmado en Snort 2.8 y 2.6. Snort 2.4 no es
vulnerable. Como contramedida en el archivo de configuración snort.conf,
se puede establecer el valor ttl_limit a 255 con la siguiente línea:
preprocessor frag3_engine: ttl_limit 255
Además el fallo queda corregido en la versión 2.8.1 disponible en el
repositorio:
cvs.snort.org
mas informacion en:
http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=701
martes, 27 de mayo de 2008
Fallo en seguridad en SNORT
lunes, 19 de mayo de 2008
SNORT con base de datos en MYSQL
ahora pondremos el snort a funcionar con un base de datos en mysql.
primero instalaremos el paquete snort-mysql
#apt-get install snort-mysql
y pasamos a la configuracion de mysql
#mysql
>create user snort identified by 'xxxx'(password);
>grant all on snort.* to snort@localhost identified by 'xxxx'(password);
>flush privileges
La base de datos llamada snort se crea por defecto con la instalcion el paquete snort-mysql.
En los comandos pasados lo que hicimos fue primero crear el usuario snort , luego garantizarle al usuario snort permiso sobre todas la tablas almacenadas en el mysql .
ahora en el archivo snort.conf descomentaremos la linea que habias comentado anteriormente
output database: log, mysql, user=snort password=sena dbname=snort host=localhost
cambiando los parametros poniendo el nombre de la base de datos el nombre de del usuario y el password
#snort -c snort/snort.conf
luego con este comando iniciamos el snort y si todo esta bien el snort cargara sin ningun prolema.
jueves, 15 de mayo de 2008
SNORT Configuracion y Analisis de Ataques
primero instalamos el snort
#apt-get install snort
en la instalacion nos hara unas preguntas sobre el rango de direcciones que queremos analizar, le damos la opcion any que analize todas las direcciones ip de todos los rangos internos y externos.
luego pasamos a la configuracion que por el momento es algo muy basico, nos vamos al directorio #cd /etc/snort y este sera el archivo de configuracion del snort hay varias opciones como snort.debian.conf
DEBIAN_SNORT_STARTUP="boot"
DEBIAN_SNORT_HOME_NET="any"
DEBIAN_SNORT_OPTIONS=""
DEBIAN_SNORT_INTERFACE="eth0"
DEBIAN_SNORT_SEND_STATS="true"
DEBIAN_SNORT_STATS_RCPT="root"
DEBIAN_SNORT_STATS_THRESHOLD="1"
que seria una configuracion muy basica escuchara en la eth0 y analizara los paquetes desde cualquier destino
Pero ahora nos concentraremos en el snort.conf que es el archivo de configuracion de snort
# output database: log, mysql, user=root password=test dbname=db host=localhost
comentamos esta linea para decirle que no use una base de datos mysql sino que las alertas las genere en el directorio por defecto /var/log/snort/alert
#snort -c /etc/snort/snort.conf &
con este comando inicamos el snort manualmete y nos saldran todas las opciones que se correran con el snort y en caso de problemas los errores que tengas.Esta seria la configuracion basica del snort y haora vamos a hacer unas pruebas para probar el funcionamiento del snort ,haciendo un nmap desde un equipo en esta red y y el snort nos debe generan una alerta sobre este posible ataque.

como se puede ver en la imagen las alertas se generaron por que se hizo un analisis de puertos (NMAP) y como el snort toma esto como un posible ataque desde la direccion 10.3.16.107 que es la ip desde donde se hizo el presunto ataque, se generaron las alertas que nos demuestarn que nuestro snort tiene un buen funcionamiento
lunes, 28 de abril de 2008
Tipos de Deteccion
La base del funcionamiento de estos sistemas es suponer que una intrusión se puede ver como una anomalía de nuestro sistema, por lo que si fuéramos capaces de establecer un perfil del comportamiento habitual de los sistemas seríamos capaces de detectar las intrusiones por pura estadística: probablemente una intrusión sería una desviación excesiva de la media de nuestro perfil de comportamiento.
-Detección de usos indebidos.
El funcionamiento de los IDSes basados en la detección de usos indebidos presupone que podemos establecer patrones para los diferentes ataques conocidos y algunas de sus variaciones; mientras que la detección de anomalías conoce lo normal (en ocasiones se dice que tienen un `conocimiento positivo', positive knowledge) y detecta lo que no lo es, este esquema se limita a conocer lo anormal para poderlo detectar (conocimiento negativo, negative knowledge).
CGIs
Interfaz de entrada común ( Common Gateway Interface, abreviado CGI) es una importante tecnología de la World Wide Web que permite a un cliente (explorador web) solicitar datos de un programa ejecutado en un servidorweb. CGI especifica un estandar para transferir datos entre el cliente y el programa. Es un mecanismo de comunicación entre el servidor web y una aplicación externa cuyo resultado final de la ejecución son objetos MIME. Las aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs.
Las aplicaciones CGI fueron una de las primeras maneras prácticas de crear contenido dinamico para las paginas web. En una aplicación CGI, el servidor web pasa las solicitudes del cliente a un programa externo. Este programa puede estar hecho en cualquier lenguaje que soporte el servidor, aunque por razones de portabilidad se suelen usar lenguage script. La salida de dicho programa es enviada al cliente en lugar del archivo estático tradicional.
CGI ha hecho posible la implementación de funciones nuevas y variadas en las páginas web, de tal manera que esta interfaz rápidamente se volvió un estándar, siendo implementada en todo tipo de servidores web.
miércoles, 9 de abril de 2008
SNORT
Para instalar un sistema de detección de intrusos basado en SNORT en primer lugar necesitamos evidentemente este programa, que podemos descargar desde su página web. Además, para compilarlo correctamente es necesario disponer de las librerías libpcap, un interfaz para tratamiento de paquetes de red desde espacio de usuario, y es recomendable también (aunque no obligatorio) instalar Libnet, librería para la construcción y el manejo de paquetes de red. Con este software correctamente instalado en nuestro sistema, la compilación de SNORT sera muy buena.
el SNORT se clasifica como un IDS basado en red y que funciona mediante detección de usos indebidos. Estos usos indebidos - o cuanto menos sospechosos - se reflejan en una base de datos formada por patrones de ataques; dicha base de datos se puede descargar también desde la propia página web de SNORT, donde además se pueden generar bases de patrones `a medida' de diferentes entornos (por ejemplo, ataques contra servidores web, intentos de negaciones de servicio, exploits...). El archivo que utilicemos en nuestro entorno será la base para el correcto funcionamiento de nuestro sistema de detección de intrusos.
miércoles, 26 de marzo de 2008
Honey NET
En el funcionamiento de una `red de miel' existen dos aspectos fundamentales y especialmente críticos, que son los que introducen la gran cantidad trabajo de administración extra que una honeynet implica para cualquier organización. Por un lado, tenemos el control del flujo de los datos: es vital para nuestra seguridad garantizar que una vez que un sistema dentro de la honeynet ha sido penetrado, este no se utilice como plataforma de salto para atacar otras máquinas, ni de nuestra organización ni de cualquier otra; la `red de miel' ha de permanecer perfectamente controlada, y por supuesto aislada del resto de los segmentos de nuestra organización. En segundo lugar, otro aspecto básico es la captura de datos, la monitorización de las actividades que un atacante lleva a cabo en la honeynet. Recordemos que nuestro objetivo principal era conocer los movimientos de la comunidad pirata para poder extrapolarlos a sistemas reales, por lo que también es muy importante para el correcto funcionamiento de una honeynet una correcta recogida de datos generados por el atacante: ha de ser capturada toda la información posible de cada acción, de una forma poco agresiva (esto es, sin tener que realizar grandes cambios en cada uno de los sistemas) y por supuesto sin que el atacante se entere. Además (muy importante), estos datos recogidos nunca se han de mantener dentro del perímetro de la honeynet, ya que si fuera así cualquier pirata podría destruirlos con una probabilidad demasiado elevada.
El concepto de honeynet es relativamente nuevo dentro del mundo de la seguridad y, en concreto, de los sistemas de detección de intrusos; a pesar de ello, se trata de una idea muy interesante que presumiblemente va a extenderse de una forma más o menos rápida cada día más, las herramientas de seguridad no se conforman con detectar problemas conocidos, sino que tratan de anticiparse a nuevas vulnerabilidades que aún no se han publicado pero que pueden estar - y de hecho están - presentes en multitud de sistemas. Conocer cuanto antes cualquier avance de la comunidad underground es algo vital si queremos lograr este objetivo.