Análisis del preprocesador de Snort Portscan

2

Remarks

Realmente me disculpo si este contenido no coincide con la comunidad, pero no estoy siendo aprobado en las listas de correo electrónico y no sé qué puedo hacer por lo mismo, por lo que siento que este puede ser un buen lugar para hacer consultas.

Pregunta

Información de configuración

Estoy utilizando el (versión 2.9.8.0) spp_sfportscan preprocesador de snort para la detección del escaneo de puertos.

Tengo tres sistemas A, B, C:
A - corriendo snort
B, C: instalado con nmap para portscan

Realizo un escaneo de puertos TCP rápido desde B y confirmé que el preprocesador está detectando el escaneo de puertos (Detalles de registro en el directorio de registro).

Duda

Noté que si estoy haciendo el mismo escaneo de puertos TCP por segunda vez desde el sistema B o desde el sistema C, snort no está detectando el escaneo de puertos.

En resumen, snort está detectando el puerto de puertos TCP solo por primera vez y la próxima vez que se realiza el mismo puerto de puertos TCP desde la misma máquina o desde una máquina diferente, no lo detecta.

Pasos tomados

Para obtener información, entré en el código preprocesador / portscan.c y descubrí que en la función:

static int ps_alert_one_to_one(PS_PROTO *scanner, PS_PROTO *scanned,PS_ALERT_CONF *conf)

la condición :: IF(SCANNED->PRIORITY_COUNT >= CONF->PRIORITY_COUNT)

se cumple para la primera vez que se realiza portscan y no se satisface desde la segunda vez en adelante.

Por lo tanto, he comprobado dónde se está incrementando PRIORITY_COUNT y luego imprimí su valor, esta es la función en preprocesador / portscan.c

static int ps_proto_update(PS_PROTO *proto, int ps_cnt, int pri_cnt, sfaddr_t* ip, u_short port, time_t pkt_time)

 if(pri_cnt)
    {
        proto->priority_count += pri_cnt;

///printf("proto->priority_count::%hi\n",proto->priority_count);


.........
.........
    }

Los valores impresos por esta declaración printf, claramente satisfechos

la condición :: IF (SCANNED- > PRIORITY_COUNT > = CONF- > PRIORITY_COUNT)

Pero, sorprendentemente, como mencioné anteriormente, esta condición no se cumple en la función ps_alert_one_to_one.

¿Alguien puede explicar cuál es la razón de esto, y sería bueno si alguien nos diera una idea de la vida de los paquetes dentro de Snort?

    
pregunta user10012 04.04.2016 - 17:50
fuente

0 respuestas

Lea otras preguntas en las etiquetas