Durante la decada de los 60, dentro del marco de la guerra fria, la Agencia de Proyectos de Investigacion Avanzada del Departamento de Defensa de los Estados Unidos (DARPA) se planteo la posibilidad de que un ataque afectara a su red de comunicaciones y financio equipos de investigacion en distintas universidades con el objetivo de desarrollar una red de ordenadores con una administracion totalmente distribuida.
Actividades previas a la realizacion 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 informacion posible de la victima, sera necesario utilizar una serie de tecnicas de obtencion y recoleccion de informacion.
Identificacion de respuestas ICMP
Aunque el objetivo original del protocolo ICMP es el de notificar errores y condiciones inusuales (que requieren una especial atencion respecto al protocolo IP), es posible poder realizar un uso indebido de este protocolo para obtener huellas identificativas de un sistema remoto.
Exploracion de puertos TCP
Aparte de ser de utilidad para obtener la huella identificativa de un sistema conectado a la red, la exploracion de puertos TCP se puede utilizar para descubrir si dicho sistema ofrece o no un determinado servicio.
La familia de protocolos TCP/IP se divide en las cuatro capas siguientes:
Capa de red. Normalmente esta formada por una red LAN o WAN (de conexion Network. punto a punto) homogenea. Todos los equipos conectados a internet implementan esta capa.
Capa de internet (o capa de internetworking) . Da unidad a todos los miembros de la red y, por lo tanto, es la capa que permite que todos se puedan interconectar, independientemente de si se conectan mediante linea telefonica o mediante una red local Ethernet.
Capa de transporte. Da fiabilidad a la red. El control de flujo y de errores se lleva a cabo principalmente dentro esta capa, que solo es implementada por equipos usuarios de internet o por terminales de internet.
Capa de aplicacion. Engloba todo lo que hay por encima de la capa de transporte. Es la capa en la que encontramos las aplicaciones que utilizan internet: clientes y servidores de web, correo electr´onico, FTP, etc.
Ataques fisicos
Este tipo de ataques pueden llegar a ser muy dificiles de realizar, ya que generalmente requieren un acceso fisico a los equipos que se quieren atacar. De ahi que no los trataremos en este modulo didactico.
Algunos ejemplos de como obtener estas huellas a partir de las distintas respuestas ofrecidas mediante el trafico ICMP
ICMP echo. Como hemos visto anteriormente, el uso de trafico ICMP de tipo echo permite la exploracion de sistemas activos.
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 lospaquetes 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 configuraci´on, autoconfigurarse en el momento de inicio, obtener su direccion IP, etc.
TCP connect scan. Mediante el establecimiento de una conexion TCP completa (completando los tres pasos del establecimiento de la conexion) la exploracion puede ir analizando todos los puertos posibles.
TCP SYN scan. Enviando unicamente paquetes de inicio de conexion (SYN) por cada uno de los puertos que se quieren analizar se puede determinar si estos estan abiertos o no.
TCP FIN scan. Al enviar un paquete FIN a un puerto, deberiamos recibir un paquete de reset (RST) si dicho puerto esta cerrado. Esta tecnica se aplica principalmente sobre implementaciones de pilas TCP/IP de sistemas Unix.
TCP Xmas Tree scan. Esta tecnica es muy similar a la anterior, y tambien se obtiene como resultado un paquete de reset si el puerto esta cerrado. En este caso se envian paquetes FIN, URG y PUSH.
TCP Null scan. En el caso de poner a cero todos los indicadores de la cabecera TCP, la exploracion deberia recibir como resultado un paquete de reset en los puertos no activos.