Archive for the ‘IDS’ Category

Slackware v12.1 stable y OSSEC v1.5

|

Nueva release estable de Slackware, no voy a destacar aspectos técnicos porque mi intención no es copiar el anuncio, para ello remito a la web oficial y a Open-Eslack.
Interesante la opción de estabilidad y seguridad que puede apreciarse por ejemplo en el caso de usar kde3 en lugar de aventurarse en el nuevo kde4.

Por otro lado Ossec ha sacado nueva release con importantes novedades (ver el anuncio oficial). Nuevamente he colaborado con el beta testing de la release sobre Slackware con resultados satisfactorios y me eleva muco el ego ver que aparezco en los créditos como colaborador.

(In)Eficacia de la correlación de logs en OSSEC para detectar XSS

|

OSSEC es un detector de intrusos de Host(HIDS) que está alcanzando gran popularidad ultimamente. No es de extrañar dado que tiene múltiples e interesantes funciones: correlación de eventos, control de integridad de ficheros, multiplataforma(*nix, BSD’s, Windows), soporta instalación cliente-servidor-local y personalización de reglas (en formato XML).

El propósito de este post es demostrar que, si bien la correlación de eventos puede detectar intentos de intrusiones no es la panacea ni muchísimo menos. En concreto nos centramos en la “única” regla anti XSS de OSSEC. Esta regla se encuentra en el fichero web_rules.xml y tiene el siguiente aspecto:

Como podemos apreciar las reglas de correlación de eventos son facilmente entendibles debido a que están escritas en formato XML. En este caso se basan en una pequeña lista negra:


%3Cscript
%2Fscript
script>
script%3E
SRC=javascript
IMG%20
%20ONLOAD=
INPUT%20
iframe%20

Esta regla está relacionada con la que veremos a continuación:

De manera que si la regla 31105 (XSS) salta y el código de resultado que devuelve el servidor es un 200 OK salta la alerta 31106 (A web attack returned code 200).

Lo primero que hay que destacar es que la búsqueda de patrones se realiza sobre los ficheros de log del servidor web. En el caso de Apache estos tags aparecerán en el fichero access_log con lo cual tenemos la primera debilidad: cualquier intento de XSS utilizando el método POST no será detectado. Tampoco serán detectados los intentos de XSS en las cabeceras http. Esto es debido a que por lo general una traza del fichero access_log tiene la siguiente pinta en el caso de un GET:

127.0.0.1 – - [27/Apr/2008:19:30:44 +0200] “GET /ossec/index.php?f=VALOR_DEL_PARAMETRO HTTP/1.1″ 200 259

En el caso de que se produzca inyección de código en el parametro f podrá ser correlado. Sin embargo en el caso de utilizar el método POST el valor del parametro no queda registrado en la traza por lo que no se puede correlar:

127.0.0.1 – - [27/Apr/2008:19:30:44 +0200] “POST /ossec/index.php HTTP/1.1″ 200 259

De la misma manera no quedan registrados los valores de la cabecera (El servidor Apache puede ser configurado para que sí se muestren aunque en su configuración por defecto no es así y no es habitual encontrarse con servidores Apache que muestren mucha más información en sus trazas de las expuestas anteriormente).

Nos situamos en el caso de que el ataque se produzca utilizando el método GET. En este caso el correlador de logs compara con la lista negra y en caso afirmativo produce una alerta:

** Alert 1209321044.76264: mail – web,accesslog,attack,
2008 Apr 27 20:30:44 MI_SERVIDOR->/var/log/httpd/access_log
Rule: 31106 (level 12) -> ‘A web attack returned code 200 (success).’
Src IP: 127.0.0.1
User: (none)
127.0.0.1 – - [27/Apr/2008:20:30:43 +0200] “GET /ossec/index.php?f=s%3Cscript HTTP/1.1″ 200 2593

Vemos que en este caso el patrón %3Cscript ha hecho saltar las alarmas. A partir de aqui no es dificil imaginar que la correlación con la lista negra es facilmente evitable.
Si probamos esa misma inyección de manera ofuscada en código hexadecimal comprobados la cadena en el fichero access_log:

127.0.0.1 – - [27/Apr/2008:20:41:28 +0200] “GET /ossec/index.php?f=s%3c%73%63%72%69%70%74 HTTP/1.1″ 200 2593

Sin embargo en el detector de intrusos no salta la alarma. Hemos conseguido realizar el ataque evandiendo el detector de intrusos.

Conclusiones.

La correlación de eventos puede prevenir algunos tipos de ataques web pero no es la panacea para la detección de los mismos. Estos detectores pueden ser evadidos sin demasiada dificultad. Las listas negras son a menudo insuficientes y tienen como riesgo añadido la falsa sensación de seguridad que aportan.

liveSnort: interesante php

|

Me encuentro esta mañana en la lista de correo de Snort con esta aplicación gratuita( que no GPL ) para visualizar las alertas de la base de datos de snort en tiempo real.
Está desarrollada en php utilizando tecnología Ajax y consiste basicamente en un php del que apenas hay que configurar la BBDD:

// Snort Database Settings

$dbhost = “”;
$dbuser = “”;
$dbpass = “”;
$dbname = “”;

// liveSnort Settings

$maxRows = 15;
$pollTime = 5;

En realidad solo sirve para cuando estés continuamente pegado a la pantalla para ver los ultimos eventos, ya que no guarda información de ningún tipo, pero es muy util sobre todo para realizar pruebas cuando estamos creando reglas, ver si saltan, etc.
Aqui podemos ver una captura de pantalla:


Free Image Hosting at www.ImageShack.us

El proyecto está desarrollado por Aanval, empresa conocida por sus productos comerciales sobre correlación de eventos de Snort y de Syslog.
Podéis acceder a la web del proyecto haciendo click aqui.

Otra racción de ego por favor

|

Nuevamente hablo de mi libro, y aún a riesgo de ser pesado( que lo soy ) vuelvo a contar la misma película pero con diferentes protagonistas. Un interesante remake.

En esta ocasión el escenario no cambia: internet, repite parte del reparto con m313( yo mismo ) y mi libro( la guia de Snort ) y hay nuevos actores en escena: Sourcefire, o lo que es lo mismo: la empresa propietaria de Snort.
La trama es la ya conocida, han publicado mi guia en la web oficial !!!! :D


Free Image Hosting at www.ImageShack.us

Seguimos en la cresta de la ola

Nueva versión de OSSEC

|

No suelo escribir dos post en un periodo tan corto de tiempo pero esta vez merece la pena.
Si ayer hablaba sobre la Russian Business Network y proporcionaba algunos recursos al respecto hoy “vengo a hablar de mi libro” y a darme yo mismo una palmadita en la espalda, no olvidemos que el ego es a la seguridad informática lo que la musa al poeta.

El caso es que ha salido la nueva versión de OSSEC y en el mismo artículo de presentación mi tocayo Daniel B. Cid me nombra entre los agradecimientos, en esta ocasión por hacer de beta testing, si bien mantengo correos electrónicos con él sugiriendole mejoras en las reglas de detección y espero ser más util en futuras versiones.


Free Image Hosting at www.ImageShack.us

Estamos en la cresta de la ola, que no lo olvide nadie.