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.
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