• No se han encontrado resultados

CAPÍTULO 3. Validación de la efectividad de los filtros

3.3 Generación de las anomalías y capturas realizadas por los filtros

3.3.4 Validación del Filtro # 4

Este filtro fue diseñado para capturar los paquetes involucrados en las anomalías:

Reconocimiento de red mediante segmentos TCP (SYN, ACK, FIN), Banderas SYN y FIN activas, Bandera FIN sin bandera ACK, Encabezado TCP sin banderas activadas, Escaneo TCP connect (), Escaneo TCP SYN, Modos Stealth FIN, Xmas Tree y Null Scan e Inundación SYN. (Ver epígrafes 2.1.1, 2.2.1-2.3.3, 2.4.1.1)

Como se pretende capturar todas estas anomalías, relacionadas con casi todas las banderas TCP, entonces simplemente se puede usar la expresión:

9 tcpdump –n ‘tcp’ (Ver epígrafe 2.7.2.1)

Como las pruebas se realizaron mediante una conexión ‘SSH’6 (que de hecho es una

aplicación TCP) con la Máquina Virtual (instalada sobre Windows XP Profesional) que realmente posee el SO Debian GNU/Linux Versión 5.0, para hacer las pruebas se le agregó a la expresión del filtro anterior ‘not port ssh’, para que no capturara ningún paquete referido a dicha aplicación. Cuando únicamente se opera y se realizan las pruebas sobre el SO mencionado los filtros se pueden emplear de manera íntegra como se ha presentado en cada uno de los epígrafes.

¾ Para la generación de un paquete con las Flags SYN y FIN activadas se puede usar

la expresión.

9 hping2 --syn --fin --spoof SpoofIP --faster --rand-dest SubNetDest --interface eth0

6

En este caso se activan las banderas SYN y FIN del segmento TCP mediante los dos primeros parámetros; el tercer parámetro se usa cuando se desea suplantar la dirección IP de origen y debe escribirse la deseada; el cuarto parámetro es para que se envíen los paquetes a una razón superior a 10 paquetes por segundo; el quinto parámetro se emplea para enviar los paquetes de manera aleatoria a todos los host de una subred determinada. Por último se indica la interfaz usada para enviar los paquetes, esta opción es necesaria cuando se falsifica la dirección IP de origen. Para este ejemplo y los dos siguientes SpoofIP = 10.12.10.12, SubNetDest = 10.12.57.x.

Para el caso que esté activa la Flag FIN sin flag ACK solo habría que retirar el primer parámetro de la expresión anterior, resultando así:

9 hping2 --fin --spoof SpoofIP --faster --rand-dest SubNetDest --interface eth0

Para generar paquetes con el Encabezado TCP sin flags activados entonces no se debe

especificar ningún parámetro referido a estas banderas:

9 hping2 --spoof SpoofIP --faster --rand-dest SubNetDest --interface eth0

Para mostrar un ejemplo se presenta una captura donde incluya paquetes relacionados con estas tres anomalías.

En la figura se observa que el primer paquete capturado tenía activas las banderas SYN y FIN simultáneamente, el segundo solo la bandera de terminación de una conexión TCP sin la bandera ACK y el último, al observar los datos que se incluyen a continuación del puerto destino, tenía todas las banderas inactivas.

¾ Para descubrir hosts en una red y sus servicios disponibles el atacante puede usar

técnicas de escaneo. A continuación se presentan algunas de ellas implementadas con la herramienta nmap, para intentar descubrir puertos que se encuentran escuchando por los que se ofrezca algún servicio TCP.

El Escaneo TCP connect () se puede realizar con la expresión:

9 nmap –d –O –sT Subnet

Los dos primeros parámetros escritos son opcionales y son usados para ir mostrando información completa de lo que está sucediendo; el tercer parámetro indica el tipo de escaneo y por último la subred o host específico que se le intentará descubrir servicios TCP disponibles.

Otro escaneo muy semejante al anterior y con el mismo propósito es el Escaneo TCP

SYN:

9 nmap –d –O –sS Subnet

La diferencia entre estas dos técnicas de identificación de puertos abiertos es que el

Escaneo TCP SYN no completa la conexión enviando un RST luego de recibir un SYN- ACK, mientras el de tipo connect completa el proceso de conexión para luego terminarla enviando un RST.

Previamente se detectó que el host 10.12.57.25 estaba prestando el servicio “Microsoft Terminal Server” por el puerto 3398, así para mostrar un ejemplo de los paquetes implicados en ambas técnicas, se agregó a la expresión del filtro que solo captura los

paquetes relacionados con este puerto. En ambas expresiones de los escaneos: Subnet = 10.12.57.25.

Figura 3.8. Muestra de los paquetes implicados en ambas técnicas para descubrir si

el puerto 3389 del host 10.12.57.25 estaba escuchando.

En la figura se observa que el Escaneo TCP connect () completa la conexión para luego

enviar un RST, mientras que el Escaneo TCP SYN, luego de recibir un SYN-ACK, corta

la conexión automáticamente.

¾ Para evadir los Firewall y filtros de paquetes existen otras técnicas de escaneo que en función de la respuesta de la(s) máquina(s) destino pueden identificar también sus puertos con aplicaciones TCP que prestan servicios. Estas técnicas también emplean la herramienta nmap, ellas son: Modos Stealth FIN, Xmas Tree y Null Scan.

Para generar el Modo Stealth FIN se puede usar la expresión:

El escaneo Xmas Tree se puede generar también con nmap según la expresión:

9 nmap –d –O –sX Subnet

, y el Null Scan con la expresión:

9 nmap –d –O –sN Subnet

Para mostrar fácilmente las características de los paquetes que se envían en estos tres tipos de escaneos, se especificó al filtro que capturara solo los destinados al puerto de prueba ‘3389’, para mostrar un paquete de cada tipo.

Figura 3.9. Muestra de los bit TCP activados en los escaneos Stealth FIN, Xmas

Tree y Null Scan.

En la figura se observa que en el primer paquete solo se encuentra activo el bit FIN, en el segundo las banderas FIN, PUSH y URG; y en el último, las banderas TCP se encuentran inactivas. Estas tres características corresponden respectivamente a los escaneos Stealth FIN, Xmas Tree y Null Scan. Cuando se realiza el ataque con las tres expresiones anteriores, se repiten estos mismos patrones para todos los paquetes destinados a los puertos entre el 1 y el 1024, así como a los que figuran en el archivo /etc/services, aunque se pudiera especificar el rango de puertos deseados con la opción ‘-p <rango de puertos>’.

¾ Unas de las maneras usadas para escanear hosts en una red mediante las banderas

TCP son las técnicas de Reconocimiento de red mediante segmentos TCP (SYN, ACK,

FIN). Estas técnicas se emplean porque algunos Firewalls y filtros de paquetes rechazan solicitudes de eco ICMP.

Dado que regularmente el puerto 80 no resulta filtrado, normalmente los segmentos se envían a este puerto de destino.

Con los ejemplos de capturas anteriores se ha demostrado que el filtro es capaz de detectar todos los paquetes que tengan estas banderas activas. En la etapa de procesamiento de los resultados de dichos filtros debe tomarse en consideración la naturaleza de los ataques, donde varios paquetes van a estar dirigidos hacia distintos hosts de una subred, a diferencia de los casos tratados donde se exploraba un host en particular para identificar los puertos. Como para todas las capturas se ha usado el mismo filtro, entonces se podrán obtener la mayoría de los paquetes implicados en estas anomalías.

¾ Un atacante pudiera intentar denegar el servicio (en este caso TCP) que una

computadora brinda a numerosos clientes. Para ello pudiera generar una Inundación SYN.

Este ataque de DoS se puede generar con la expresión:

9 hping --syn --destport Destport --rand-source --faster IPdest

El primer parámetro, como en muchos casos anteriores, es para inicializar una conexión TCP; el segundo se usa para indicar el puerto destino. Para falsificar las direcciones IP de origen y que se generen de manera aleatoria se emplea el tercer parámetro; el cuarto es para que se realice rápidamente los envíos de los paquetes y el último es el host que se destina el ataque.

Para realizar la prueba se supone que el host 10.12.57.25 es un Servidor Web, así el puerto que presta servicio será el ‘80’, aunque pudiera configurarse para que sea otro. Para observar solo los intentos de inicios de conexiones con el Servidor Web, se le agregará a la expresión general del filtro, que capture solo lo destinado al puerto 80, además de evitar mostrar los paquetes relacionados con la conexión SSH como se mencionó al inicio del epígrafe. Para ilustrar un ejemplo se capturarán solo 5 paquetes.

Figura 3.10. Muestra de 5 paquetes pertenecientes a una Inundación SYN.

En la figura se observa que desde 5 máquinas de origen, con identidades suplantadas, se dirigen inicios de conexiones con el supuesto Servidor Web. Repeticiones del patrón mostrado representa una Inundación SYN.

• En el Anexo D.4 se presenta una muestra de capturas obtenidas por este filtro cuando se realizan estos ataques en conjunto. Los resultados son almacenados en un fichero para su posterior análisis.

Documento similar