Ataques contra redes TCP/IP
Seguridad en redes TCP/IP
La familia de protocolos TCP/IP se divide en las cuatro capas siguientes:
Capa de red
Capa de internet (o capa de internetworking)
Capa de transporte
Capa de aplicacion.
Vulnerabilidades mas comunes de las distintas
capas
Vulnerabilidades de la capa de red
Las vulnerabilidades de la capa de red estan estrechamente ligadas al medio sobre el que se realiza la conexion. Esta capa presenta problemas de control de acceso y de confidencialidad
Vulnerabilidades de la capa internet
En esta capa se puede realizar cualquier ataque que afecte un datagrama IP. Se incluyen como ataques contra esta capa las tecnicas de sniffing, la suplantacion de mensajes, la modificacion de datos, los retrasos de mensajes
y la denegacion de mensajes.
Vulnerabilidades de la capa de transporte
La capa de transporte transmite informacion TCP o UDP sobre datagramas IP. En esta capa podamos encontrar problemas de autenticacion, de integridad y de confidencialidad. Algunos de los ataques mas conocidos en esta capa son las denegaciones de servicio debidas a protocolos de transporte.
Vulnerabilidades de la capa de aplicacion.
Como en el resto de niveles, la capa de aplicación presenta varias deficiencias de seguridad asociadas a sus protocolos. Debido al gran numero de protocolos definidos en esta capa, la cantidad de deficiencias presentes también sera superior al resto de capas.
Deficiencias de seguridad a este nivel podrían ser los siguientes:
Servicio de nombres de dominio.
Telnet
File Transfer Protocol
Hypertext Transfer Protocol
Actividades previas a la realizaci´on de un ataque
Previamente a la planificacion de un posible ataque contra uno o mas equipos de una red TCP/IP, es necesario conocer el objetivo que hay que atacar. Para realizar esta primera fase,
es decir, para obtener toda la información posible de la victima, sera necesario utilizar una serie de técnicas de obtención y recolección de información.
Utilizacion de herramientas de administracion
La fase de recogida de informacion podria empezar con la utilizacion de todas aquellas aplicaciones de administracion que permitan la obtencion de informacion de un sistema
como:
ping
traceroute
whois
finger
rusers
nslookup
rcpinfo
telnet
dig
Buusqueda de huellas identificativas
La utilizacion de estas tecnicas se conoce con el nombre de fingerprinting, es decir, obtencion de la huella identificativa de un sistema o equipo conectado a la red.
Identificacion de mecanismos de control TCP
La huella identificativa que un atacante querrıa obtener de los sistemas de una red hace referencia a toda aquella informacion de la implementacion de pila TCP/IP de los mismos
Identificacion de respuestas ICMP
ICMP echo
permite la exploracion de sistemas activos. Asi, con esta exploracion se pretende identificar los equipos existentes dentro de la red que se quiere explorar, normalmente accesibles desde internet.
ICMP timestamp
Mediante la transmision de un paquete ICMP de tipo timestamprequest, si un sistema esta activo, se recibira un paquete de tipo timestamp-reply, indicando si es posible conocer la referencia de tiempo en el sistema de destino.
ICMP information
La finalidad de los paquetes ICMP de tipo informationrequest
y su respuesta asociada, information-reply, consiste en permitir que ciertos equipos que no disponen de disco puedan extraer su propia configuracion, autoconfigurarse en el momento de inicio, obtener su direccion IP
Exploracion de puertos
La exploracion de puertos puede permitir el reconocimiento de los servicios ofrecidos por cada uno de los equipos encontrados en la red escogida. Con esta información, el atacante podria realizar posteriormente una busqueda de exploits que le permitiera un ataque de intrusion en el sistema analizado
Exploracion de puertos TCP
TCP connect scan
TCP SYN scan
TCP FIN scan
TCP Xmas Tree scan
TCP Null scan
Exploracion de puertos UDP
Mediante la exploracion de puertos UDP es posible determinar si un sistema esta o no disponible, asi como encontrar los servicios asociados a los puertos UDP que encontramos abiertos.
Herramientas para realizar la exploracion de puertos
Herramientas para realizar la exploracion de puertos
Descubrimiento de direcciones IP activas mediante una exploracion de la red
nmap -sP IP ADDRESS/NETMASK
Exploracion de puertos TCP activos
nmap -sT IP ADDRESS/NETMASK
Exploracion de puertos UDP activos:
nmap -sU IP ADDRESS/NETMASK
Exploracion del tipo de sistema operativo de un equipo en red
nmap -O IP ADDRESS/NETMASK
Escuchas de red
Uno de los primeros ataques contra las dos primeras capas del modelo TCP/IP son las escuchas de red. Se trata de un ataque realmente efectivo, puesto que permite la obtencion
de una gran cantidad de informacion sensible
Escuchas de red o sniffers
Un sniffer no es mas que un sencillo programa que intercepta toda la informacion que pase por la interfaz de red a la que este asociado. Una vez capturada, se podra almacenar para su analisis posterior.
Desactivacion de filtro MAC
Una de las tecnicas mas utilizadas por la mayorıa de los sniffers de redes Ethernet se basa en la posibilidad deconfigurar la interfaz de red para que desactive su filtro MAC (poniendo la tarjeta de red en modo promiscuo).
Suplantacion de ARP
El protocolo ARP es el encargado de traducir direcciones IP de 32 bits, a las correspondientes direcciones hardware, generalmente de 48 bits en dispositivos Ethernet. Cuando un ordenador necesita resolver una direccion IP en una direccion MAC, lo que hace es efectuar una peticion ARP (arp-request) a la direccion de difusion de dicho segmento de red, FF:FF:FF:FF:FF:FF, solicitando que el equipo que tiene esta IP responda con su direccion MAC
Herramientas disponibles para realizar sniffing
Una de las aplicaciones mas conocidas, en especial en sistemas Unix, es Tcpdump. Este programa, una vez ejecutado, captura todos los paquetes que llegan a nuestra maquina y muestra por consola toda la información relativa a los mismos.
Fragmentacion IP
El protocolo IP es el encargado de seleccionar la trayectoria que deben seguir los datagramas IP. No es un protocolo fiable ni orientado a conexion, es decir, no garantiza el control de flujo, la recuperacion de errores ni que los datos lleguen a su destino.
Fragmentacion en redes Ethernet
La MTU por defecto de un datagrama IP para una red de tipo Ethernet es de 1500 bytes. Asi pues, si un datagrama IP es mayor a este tamano y necesita circular por este tipo de red,
sera necesario fragmentarlo por medio del encaminado que dirige la red. Los fragmentos pueden incluso fragmentarse mas si pasan por una red con una MTU mas pequena que su
tamano.
Fragmento inicial
Fragmento siguiente
Ultimo fragmento
Ataques de denegacion de servicio
Un ataque de denegacion de servicio es un incidente en el cual un usuario o una organizacion es privada de los servicios de un recurso que esperaba obtenerormalmente, la perdida de servicio se corresponde con la imposibilidad de obtener un determinado servicio de red como, por ejemplo, el acceso a una pagina web
IP Flooding
El ataque de IP Flooding se basa en una inundacion masiva de la red mediante datagramas IP.
trafico
Aleatorio
Definido o dirigido
Los datagramas IP utilizados
UDP
ICMP
TCP
Smurf
Este tipo de ataque de denegacion de servicio es una variante del ataque anterior (IP Flooding), pero realizando una suplantacion de las direcciones de origen y destino de una
peticion ICMP del tipo echo-request
TCP/SYN Flooding
Esta debilidad del protocolo TCP proviene de las primeras
implementaciones de las pilas TCP.
Subtema
El ataque de TCP/SYNFlooding se aprovecha del numero de conexiones que estan esperando para establecer un servicio en particular para conseguir la denegacion del servicio.
Teardrop
el protocolo IP especifica unos campos en Fragmentacion IP Para tratar el siguiente ataque, haremos uso de la teoria sobre la fragmentacion IP que hemos visto en este mismo modulo didactico. la cabecera encargados de senalar si el datagrama IP esta fragmentado (forma parte de un paquete mayor) y la posicion que ocupa dentro del datagrama original
Snork
El ataque Snork se basa en una utilizacion malintencionada de dos servicios tıpicos en sistemas Unix: el servicio CHARGEN (CHARacter GENerator, generador de caracteres) y el servicio ECHO.
Ping of death
El ataque de denegacion de servicio ”ping de la muerte”(ping of death) es uno de los ataques mas conocidos y que mas artıculos de prensa ha generado. Al igual que otros ataques de denegacion existentes, utiliza una definicion de longitud maxima de datagrama IP fraudulenta.
Ataques distribuidos
Un ataque de denegacion de servicio distribuido es aquel en el que una multitud de En ingl es, Distributed Denial of Service (DDoS). sistemas (que previamente han sido comprometidos) cooperan entre ellos para atacar a un equipo objetivo, causandole una denegacion de servicio. El flujo de mensajes de entrada que padece el equipo atacado le dejara sin recursos y sera incapaz de ofrecer sus servicios
a usuarios legitimos.
TRIN00
TRIN00 es un conjunto de herramientas master-slave utilizadas para sincronizar distintos equipos que cooperaran, de forma distribuida, en la realizacion de una denegacion de servicio. Las primeras implementaciones de TRIN00 fueron implementadas unicamente para sistemas Sun Solaris (en los que se produjeron los primeros ataques conocidos).
Tribe Flood Network
Tribe Flood Network (TFN) es otra de las herramientas existentes para realizar ataques de denegacion de servicio distribuidos que utiliza un esquema master-slave para coordinar ataques de denegacion tradicionales (ICMP Flooding, SYN Flooding, UDP Flooding y Smurf ). Al igual que TRIN00, permite dejar abierta una consola de administración a la maquina de origen (escuchando por un puerto TCP determinado) ofreciendo un acceso ilimitado a los equipos infectados.
Shaft
conjunto de herramientas derivado de los dos anteriores (TRIN00 y TFN) es Shaft. La jerarquoia utilizada por Shaft es similar a las demas herramientas analizadas. Una vez mas, se basa en varios masters (denominados ahora Shaftmasters) que gobiernan a su vez diversos slaves (Shaftnodes).
Tribe Flood Network 2000
La arquitectura basica en la que existe un atacante que utiliza clientes para gobernar los distintos demonios instalados
en las maquinas infectadas se mantiene, de forma que el control de este tipo de ataques mantiene la premisa de tener el maximo numero de ordenadores segmentados. De esta
forma, si un cliente es neutralizado, el resto de la red continua bajo control
Deficiencias de programación
La mayor parte de estas deficiencias de programacion pueden suponer un agujero en la seguridad de la red debido a situaciones no previstas como
Desbordamiento de buffer
Un ataque de desbordamiento de buffer se basa en la posibilidad de escribir informacion mas alla de los limites de una tupla almacenada en la pila de ejecucion.
Ejecucion local de un desbordamiento de buffer
La construccion de una aplicacion que realizara un desbordamiento de buffer sobre una segunda aplicacion vulnerable (que presenta, por lo tanto, esta deficiencia de programacion) requiere conocimientos mas avanzados sobre el codigo que hay que atacar
Cadenas de formato
Los ataques que explotan deficiencias de programacion mediante cadenas de formato se producen en el momento de imprimir o copiar una cadena de caracteres desde un buffer sin las comprobaciones necesarias