lunes, 30 de enero de 2012

Iptables, Detección del S.O. (Modulo OSF)

1. Determinar el Sistema Operativo del equipo que envió el paquete (Modulo OSF) :

El modulo OSF es un sistema de detección en modo pasivo que compara algunos datos (como ventana, tamaño, MSS, opciones y sus ordenes, TTL, DF y otros) de paquetes marcados con el bit SYN.

Para crear reglas en Iptables que nos permitan conocer el sitema operativo del equipo que generó ese paquete debemos, en primer lugar, instalar xtables:

sudo apt-get install xtables-addons-source xtables-addons-common

Una vez echo esto debemos descargar un fichero de la siguiente direccion:

http://www.openbsd.org/cgi-bin/cvsweb/src/etc/pf.os

Se trata de la base de datos que usara el modulo OSF para comparar la información. El nombre del fichero es "pf.os" el cual debemos copiarlo a la siguiente ruta (posiblemente tendreis que crear la carpeta xtables):

/usr/share/xtables/pf.os

Ahora para que OSF carge la base de datos usando el programa nfnl_osf debemos ejecutar el comando:

nfnl_osf -f /usr/share/xtables/pf.os

Una vez cargada la base de datos procedemos a configurar iptables:

sudo iptables -I INPUT -p tcp -m osf --genre linux --log 0 --ttl 2 -j ACCEPT
OSF solo es valido en PREROUTING, INPUT o FORWARD, tenerlo en cuenta.
OSF solo es valido para el protocolo TCP.
El LOG nos mostraría algo como esto:

[ 3723.082096] Linux [2.5-2.6:] : 199.59.149.200:443 -> 192.168.1.25:57438 hops=17
[ 3723.082098] IN=eth1 OUT= MAC=00:19:36:11:c1:29:c4:3f:60:8d:ed:6b:08:00 SRC=199.59.149.200 DST= 192.168.1.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=0 DF PROTO=TCP SPT=443 DPT=57438 SEQ=4097486939 ACK=1835944370 WINDOW=5792 RES=0x00 ACK SYN URGP=0 OPT (020405F40502020AB027G584000D0E9F01090308)

OPCIONES: 

         --ttl
               Adicionalmente revisa el TTL en el paquete para determinar el sistema operativo. El nivel puede ser uno de los siguientes valores:

        · 0 - verdadera dirección IP y la comparación de huellas digitales TTL. En general, esto funciona en redes LAN.

        · 1 - Comprueba si el TTL del encabezado IP es menor que la "huella". 

        · 2 - No compara el TTL en ningún caso.

        --log 
            Registro de paquetes en dmesg, incluso si no coinciden con la deseada. nivel puede ser uno de los siguientes valores:

        · 0 - Registrar todas las firmas compatible o desconocido

        · 1 - Registro sólo la primera.

        · 2 - Registrar todas las firmas conocidas y emparejadas.

OSF también es capaz de detectar los paquetes NMAP por lo que las opciones son muchas.

No hay comentarios:

Publicar un comentario