Inicio wiki
Aula Virtual
 Administración de Sistemas Operativos
Inicio ASO Aula Virtual

Vistas
  •   3.2. Identificar el Sistema Operativo
De ASO

El primer objetivo de la exploración de puertos es identificar los puertos TCP y UDP que están a la escucha en el sistema destino. Nuestro segundo objetivo es determinar el tipo de sistema operativo instalado. Para poder determinar el sistema operativo de un equipo es necesario utilizar herramientas de rastreo de pilas.

El rastreo de pilas es una técnica extremadamente potente que nos permite averiguar rápidamente, y con gran probabilidad de acierto, cuál es el sistema operativo instalado en el host. En esencia, existen muchos matices que diferencian el desarrollo de pilas IP de los distintos fabricantes. A la hora de implementar el protocolo TCP/IP cada fabricante suele interpretar de su manera la normativa RFC específica. Por tanto, mediante la detección de estas pequeñas diferencias podemos realizar suposiciones razonables de cuál es el sistema operativo que se está utilizando. Para obtener la máxima fiabilidad, el rastreo de pilas necesitará que al menos un puerto esté a la escucha.

Los tipos de sondeos que podremos enviar y que nos ayudarán a distinguir un sistema operativo son:

  • Sondeo FIN. Se envía un paquete FIN a un puerto abierto. La normativa RFC establece que el comportamiento correcto es no responder. Sin embargo, muchos desarrollos de pilas (p.e. Windows NT) responderán con un paquete FIN/ACK.
  • Sondeo Bogus Flag. Se introduce una bandera TCP indefinida en la cabecera TCP de un paquete SYN. Algunos sistemas operativos (p.e. Linux) responderán con esta bandera en su paquete de respuesta.
  • Muestreo de número de secuencia inicial (ISN). La premisa básica es encontrar un patrón en la secuencia inicial elegida por la implementación TCP cuando responde a una petición de conexión.
  • Supervisión de “bit de No Fragmentaciónâ€. Algunos sistemas operativos activarán la opción “bit de No Fragmentación†para mejorar su rendimiento. Se puede analizar este bit para determinar qué tipos de sistema operativo muestran este comportamiento.
  • Tamaño de ventana inicial TCP. Se analiza el tamaño inicial recibido en los paquetes de respuesta. En algunos desarrollos de pilas, este tamaño es único y puede ayudar bastante en la precisión del mecanismo de seguimiento.
  • Valor ACK. Las pilas IP difieren en el valor de la secuencia que usan en el campo ACK, por lo que algunos desarrolladores responderán con el mismo número de secuencia que han recibido, y otros responderán con ese número de secuencia incrementado en una unidad.
  • Apagado del mensaje de error ICMP. Los sistemas operativos pueden cumplir la normativa RFC 1812 y limitar la velocidad con la que se envían los mensajes de error. Si se envían paquetes UDP a algún puerto aleatorio que tenga asignado un número elevado, es posible contar el número de mensajes recibidos no contestados en un intervalo de tiempo determinado.
  • Cita de mensajes ICMP. Los sistemas operativos difieren en la cantidad de información que se cita cuando aparecen mensajes de error ICMP. Si examina el mensaje citado, podrá realizar ciertas hipótesis sobre cuál es el sistema operativo destino.
  • Integridad del eco de los mensajes de error ICMP. Algunos desarrollos de pilas pueden alterar las cabeceras IP cuando devuelven mensajes de error ICMP. Si se examinan las modificaciones producidas en las cabeceras, podrá realizar ciertas hipótesis sobre cuál es el sistema operativo destino.
  • Tipo de servicio (TOS). En los mensajes del tipo “ICMP port unreachableâ€, se pueden examinar el TOS. La mayoría de pilas utilizan un 0 pero existen otras posibilidades.
  • Control de fragmentación. Cada pila maneja de forma diferente los fragmentos de un mensaje. Por ejemplo, algunas pilas cuando recomponen los fragmentos, escriben datos nuevos encima de los viejos, y viceversa. Analizando cómo se recomponen los paquetes de sondeo, se pueden realizar suposiciones sobre el sistema operativo objetivo.
  • Opciones TCP. Las opciones TCP se definen en RFC 793, y de forma más reciente en RFC 1323. Las opciones más avanzadas proporcionadas por RFC 1323 suelen encontrarse en los desarrollos de pila más modernos. Enviando un paquete para el que se han definido una serie de opciones es posible realizar alguna hipótesis sobre cuál es el sistema operativo objeto.
Figura 1. nmap –O 192.168.0.1

Existen varias herramientas de Linux que nos permiten detectar el sistema operativo de un equipo remoto: xprobe 2 (http://www.sys-security.com) y Nmap (http://www.insecure.org/nmap). En la figura 1 podemos ver un ejemplo de utilización de nmap para detectar el sistema operativo de un router SonicWall.



Libro Recomendado

CONSTRUCCION DE PAGINAS WEB
Ver fichaVer ficha
Comprar libroComprar